MCP server: One MCP server.

Kapruka MCP

@kaprukaRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Free public MCP server for Kapruka.com — Sri Lanka's largest e-commerce platform.

Online shoppingv0.6.1Python
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

5 read2 act1 other

Grouped by tool name. At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

8 · grouped by tool name · checked 10 Oct 2026

Read · 5Look things up

  • kapruka_list_categories
  • kapruka_get_product
  • kapruka_search_products
  • kapruka_list_delivery_cities
  • kapruka_check_delivery

Act · 2Change something

  • kapruka_create_order
  • kapruka_track_order

Other · 1Neither hinted nor named

  • kapruka_render_options_card
Try it in the Inspector
README1 min read

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

bash
# 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

bash
# 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

bash
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

Trusted partners

First-party callers that can't be IP-allowlisted (e.g. Kapruka's web assistant on Cloudflare Workers) authenticate with an X-Partner-Key header instead, with optional per-customer limits via X-Partner-Customer-Id. Configured with PARTNER_KEYS / PARTNER_SCOPES / PARTNER_LIMITS. See docs/PARTNER_ACCESS.md and the deploy steps in deploy/README.md.

Running Tests

bash
pytest

Similar modules

Browse Online shopping