# Kapruka MCP

Gives your coding agent the Kapruka.com REST API as MCP tools, so it can look up products and place orders from the chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 21
- Author: kapruka
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/kapruka/mcp
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/kapruka-mcp

## What it does

Kapruka MCP is a Python server that turns the Kapruka.com REST API into tools for LLMs and MCP clients. It is built on FastMCP, talks to the store through an async `httpx` client with error handling, and splits its tools into modules by area such as products and orders. Settings come from environment variables. A small developer CLI, `cli.py`, starts the server, pings the API and lists the registered tools.

Most people will just point a client at `https://mcp.kapruka.com/mcp`. Self-hosting takes more: a Python virtual environment, the dev dependencies, and a `.env` holding the Kapruka API URL and key. Without that key the local copy has nothing to talk to. The server runs on streamable HTTP at port 8000; `--stdio` is there for MCP Inspector sessions.

Partner access is a separate path. Callers who can't be IP-allowlisted identify themselves with an `X-Partner-Key` header and can carry per-customer limits in `X-Partner-Customer-Id`; both are set through `PARTNER_KEYS`, `PARTNER_SCOPES` and `PARTNER_LIMITS`. That is server-side configuration, not something you touch when wiring the MCP server into an editor.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Remote server: `https://mcp.kapruka.com/mcp`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http kapruka-mcp https://mcp.kapruka.com/mcp
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add kapruka-mcp --url https://mcp.kapruka.com/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "kapruka-mcp": {
            "url": "https://mcp.kapruka.com/mcp"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "kapruka-mcp": {
            "type": "http",
            "url": "https://mcp.kapruka.com/mcp"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http kapruka-mcp https://mcp.kapruka.com/mcp
```

## When to use it
- browse the Kapruka.com catalogue from an agent
- place a store order through MCP tools
- verify the Kapruka REST API is reachable
- list which MCP tools the server registered
- let a trusted partner in without an IP allowlist

## Example prompts
- Find a gift on Kapruka under 5000 rupees and show me the options
- Order this item with delivery to Colombo
- Which Kapruka tools are currently connected?

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
