
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-mcpRun 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/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 10 toolsVerified 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...
params*valuekapruka_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...
params*valuekapruka_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...
params*valuekapruka_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...
params*valuekapruka_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...
params*valuekapruka_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...
params*valuekapruka_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...
params*valuekapruka_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 —...
params*valuekapruka_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...
params*valuekapruka_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...
params*valueSponsors
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
Details
- Repository
- github.com/kapruka/mcp
- Website
- mcp.kapruka.com
- Category
- Finance & Commerce
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026