kapruka avatar

Kapruka MCP

kapruka/mcp

Wraps the Kapruka.com REST API into MCP tools so Claude can browse and interact with Sri Lanka's largest e-commerce catalog. The server exposes product search, order management, and other shop operations through a FastMCP-based Python implementation. You can run it locally via stdio for desktop clients or deploy the streamable HTTP transport at scale. Useful if you're building shopping assistants, inventory tools, or automated ordering workflows that need programmatic access to Kapruka's marketplace. Includes a developer CLI for health checks and tool inspection, plus full pytest coverage.

tools
10
transport
HTTP
last updated
Oct 20, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.kapruka.com/mcp --name kapruka-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http kapruka-mcp https://mcp.kapruka.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 10 tools

Verified live against the running server on Nov 6, 2026.

kapruka_list_categoriesList top-level Kapruka product categories by name with browse URLs. Returns the site's NAVIGATION categories plus the public Kapruka.com URL for each category landing page — useful for sending a customer to a category to browse. These names are NOT search filters. kapruka_sear...1 params

List top-level Kapruka product categories by name with browse URLs. Returns the site's NAVIGATION categories plus the public Kapruka.com URL for each category landing page — useful for sending a customer to a category to browse. These names are NOT search filters. kapruka_sear...

Parameters* required
params*value
kapruka_get_productFetch full details for a single Kapruka product by its product ID. Returns name, description, price (with optional currency conversion), stock status, images, variants, shipping info, delivery scope, and a direct product URL. `economy_delivery` ("optional" | "only" | "only_5to...1 params

Fetch full details for a single Kapruka product by its product ID. Returns name, description, price (with optional currency conversion), stock status, images, variants, shipping info, delivery scope, and a direct product URL. `economy_delivery` ("optional" | "only" | "only_5to...

Parameters* required
params*value
kapruka_search_productsSearch for products on Kapruka.com by keyword, with optional category filter and pagination. Returns a ranked list of matching products with prices, stock status, images, and URLs, plus the category facets available for the query (facets.categories) — the names that work in `c...1 params

Search for products on Kapruka.com by keyword, with optional category filter and pagination. Returns a ranked list of matching products with prices, stock status, images, and URLs, plus the category facets available for the query (facets.categories) — the names that work in `c...

Parameters* required
params*value
kapruka_create_orderCreate a guest-checkout order on Kapruka and return a click-to-pay link. Builds a Kapruka order from the supplied cart + recipient + delivery + sender, then returns a checkout URL the customer opens in a browser to complete payment. No Kapruka account is required. Prices are l...1 params

Create a guest-checkout order on Kapruka and return a click-to-pay link. Builds a Kapruka order from the supplied cart + recipient + delivery + sender, then returns a checkout URL the customer opens in a browser to complete payment. No Kapruka account is required. Prices are l...

Parameters* required
params*value
kapruka_track_orderLook up status and delivery progress for a Kapruka order by order number. Returns current status (received / confirmed / out-for-delivery / delivered / cancelled), the recipient and delivery details on file, a timestamped progress timeline, the cart contents, and flags for whe...1 params

Look up status and delivery progress for a Kapruka order by order number. Returns current status (received / confirmed / out-for-delivery / delivered / cancelled), the recipient and delivery details on file, a timestamped progress timeline, the cart contents, and flags for whe...

Parameters* required
params*value
kapruka_render_options_cardRender 1-4 products as ONE shareable JPEG "menu" card and return its URL. The card shows each product's photo with a big numbered badge (the ref you assign), and its name + price printed under the photo. Built for chat commerce (WhatsApp): send the image, tell the customer "re...1 params

Render 1-4 products as ONE shareable JPEG "menu" card and return its URL. The card shows each product's photo with a big numbered badge (the ref you assign), and its name + price printed under the photo. Built for chat commerce (WhatsApp): send the image, tell the customer "re...

Parameters* required
params*value
kapruka_list_delivery_citiesList or search Sri Lankan cities Kapruka delivers to. Use the `query` param to filter (e.g. "colombo" → all Colombo zones, "anur" → Anuradhapura). Without a query you get the first 25 cities alphabetically, which is rarely what an agent needs — pass a query. Returns canonical...1 params

List or search Sri Lankan cities Kapruka delivers to. Use the `query` param to filter (e.g. "colombo" → all Colombo zones, "anur" → Anuradhapura). Without a query you get the first 25 cities alphabetically, which is rarely what an agent needs — pass a query. Returns canonical...

Parameters* required
params*value
kapruka_check_deliveryCheck whether Kapruka can deliver to a given city on a given date, and the delivery fee. Returns whether the requested date is available (if not, the next available date plus reason) and the delivery fee the checkout will charge. THE FEE DEPENDS ON THE CART AND THE CURRENCY —...1 params

Check whether Kapruka can deliver to a given city on a given date, and the delivery fee. Returns whether the requested date is available (if not, the next available date plus reason) and the delivery fee the checkout will charge. THE FEE DEPENDS ON THE CART AND THE CURRENCY —...

Parameters* required
params*value
kapruka_gift_countriesList the countries Kapruka delivers gifts IN (international gift stores). Use when the RECIPIENT is outside Sri Lanka — e.g. "send flowers to my sister in Dubai", "a cake for my son in Melbourne". These gifts are delivered by Kapruka's partner in that country, not shipped from...1 params

List the countries Kapruka delivers gifts IN (international gift stores). Use when the RECIPIENT is outside Sri Lanka — e.g. "send flowers to my sister in Dubai", "a cake for my son in Melbourne". These gifts are delivered by Kapruka's partner in that country, not shipped from...

Parameters* required
params*value
kapruka_gift_country_productsList EVERY gift in stock in one country's store (international gifts), grouped by type. The stores are small (tens of products), so this returns the whole store: read it and choose for the customer — there is no keyword search for these products. Prices are exactly what checko...1 params

List EVERY gift in stock in one country's store (international gifts), grouped by type. The stores are small (tens of products), so this returns the whole store: read it and choose for the customer — there is no keyword search for these products. Prices are exactly what checko...

Parameters* required
params*value

Sponsors

Readme

Kapruka MCP Server

Python MCP server that wraps the Kapruka.com REST API and exposes it as tools for LLMs and third-party MCP clients.

Setup

# 1. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate

# 2. Install dependencies
pip install -e ".[dev]"

# 3. Configure environment
cp .env.example .env
# Edit .env with your Kapruka API URL and key

Running

# Start the MCP server (streamable HTTP, default port 8000)
python cli.py server

# Start with stdio transport (for use with MCP Inspector)
python cli.py server --stdio

# Health-check the Kapruka REST API
python cli.py ping

# List registered MCP tools
python cli.py tools

Testing with MCP Inspector

npx @modelcontextprotocol/inspector python cli.py server --stdio

Project Structure

src/
  server.py        # FastMCP server entry point
  tools/           # One module per tool group (products, orders, …)
  api/
    client.py      # Async httpx client + error handling
  config/
    settings.py    # Env-based configuration
tests/             # pytest test suite
cli.py             # Developer CLI

View the full README on GitHub

Details

Repository
github.com/kapruka/mcp
Website
mcp.kapruka.com
Category
Finance & Commerce
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026

More from kapruka

Related Finance & Commerce MCP servers

View all
1hive-intel avatarHive Intelligence MCPhive-intel/hive-sdkEvidence-backed crypto due diligence with sources, freshness, and a runtime receipt on every call.0stars
2lightningfaucet avatarLightning Walletlightningfaucet/lightning-wallet-mcpGive AI agents a Bitcoin wallet with Lightning Network payments and L402 support.11stars
3lightningfaucet avatarMcp Serverlightningfaucet/mcp-serverGive AI agents a Bitcoin wallet with Lightning Network payments and L402 support.0stars
4mcp-dir avatarOmiemcp-dir/omie-mcpFinancial & accounting management on Omie (Brazil's leading cloud ERP), payables/receivables, financ8stars
5defire-business avatarSwapWizarddefire-business/swapwizard-mcpNon-custodial DeFi for AI agents: swaps, concentrated liquidity (V3/V4) zaps + ranges, 5 EVM chains7stars
6tamaspetki avatarHeadless Trackertamaspetki/headlesstrackerRead-only MCP server: your AI sees your crypto portfolio, never your keys. Not financial advice.6stars