Kapruka
MCP server by Kapruka
Search Kapruka.com products, check delivery to Sri Lankan cities, place guest-checkout orders and track them.
Connect to Kapruka
No sign-in needed. Connect with Kapruka’s own URL:
Paste it into any client that supports remote MCP servers. Your client talks to Kapruka directly, not through mcp.tc.
Share this server
Opens this page, with the URL and setup steps.
mcp.tc/i/kaprukaAbout
Connects to Kapruka.com, a Sri Lankan e-commerce platform. You can search the catalog, browse categories, read product details, check delivery availability and fees by city and date, create guest-checkout orders that return a payment link, and track existing orders.
Runs as a hosted streamable HTTP endpoint at mcp.kapruka.com. The free public tier needs no sign-in or API key and is limited to 60 requests per minute per client IP. Results may be cached for up to 30 minutes.
What you can do
- Search products by keyword with category facets
- Fetch product details, prices and variants
- Check delivery availability, date and fee per city
- Create guest-checkout orders with a pay link
- Track orders by order number
- Render product options as a shareable image card
- List top-level categories and delivery cities
Tools 10
kapruka_list_categoriesRead-onlyList top-level navigation categories with Kapruka.com browse URLs.
kapruka_get_productRead-onlyGet full details for a product: price, stock, variants, images and delivery scope.
kapruka_search_productsRead-onlySearch products by keyword with category filter and paginated results.
kapruka_create_orderWritesCreate a guest-checkout order and return a click-to-pay link.
kapruka_track_orderRead-onlyLook up order status and delivery progress by order number.
kapruka_render_options_cardRead-onlyRender 1-4 products as one shareable JPEG menu card with numbered refs.
kapruka_list_delivery_citiesRead-onlyList or search Sri Lankan cities Kapruka delivers to.
kapruka_check_deliveryRead-onlyCheck delivery availability for a city and date, plus the delivery fee.
kapruka_gift_countriesRead-onlyKapruka International Gifts — Countries
kapruka_gift_country_productsRead-onlyKapruka International Gifts — Store
Read from the live server on 26 Oct 2026. Read-only, Writes and Can delete are hints the server declares; your client decides whether to ask before running a tool.
Example prompts
Find birthday cakes on Kapruka under 5000 LKR
Can this product be delivered to Kandy next Friday?
Create an order for these two gifts to Colombo and give me the pay link
Track my Kapruka order number 123456
Set up
Every client connects to mcp.kapruka.com. Pick yours; the page remembers your choice.
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport http kapruka https://mcp.kapruka.com/mcp- Start Claude Code and type
/mcp. kapruka should show as connected.
Add --scope user to make it available in every project, not just this one.
Claude Desktop
- Open Customize → Connectors, click + Add, then Add custom connector.
- Name it Kapruka and paste this URL:
https://mcp.kapruka.com/mcp- Click Add. Its tools appear in the chat’s tools menu.
Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.
claude.ai
- Open the connector form on claude.ai. This button fills in the name and URL for you:
Add to claude.ai (opens in a new tab)
- Check that the URL reads
https://mcp.kapruka.com/mcpand click Add. - Turn it on in a chat from the tools menu.
Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.
ChatGPT
- On chatgpt.com, open Settings → Security and login and turn on Developer mode.
- Go to
chatgpt.com/pluginsand click + to create an app for a remote MCP server. - Paste
https://mcp.kapruka.com/mcpas the server URL and choose No authentication.
Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.
Cursor
Add to Cursor (opens in a new tab)
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"kapruka": {
"url": "https://mcp.kapruka.com/mcp"
}
}
}VS Code
Install in VS Code (opens in a new tab)
Or from a terminal:
code --add-mcp '{"name":"kapruka","type":"http","url":"https://mcp.kapruka.com/mcp"}'Or commit it to the repo in .vscode/mcp.json:
{
"servers": {
"kapruka": {
"type": "http",
"url": "https://mcp.kapruka.com/mcp"
}
}
}Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"kapruka": {
"serverUrl": "https://mcp.kapruka.com/mcp"
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.
Codex
codex mcp add kapruka --url https://mcp.kapruka.com/mcpOr edit ~/.codex/config.toml directly:
[mcp_servers.kapruka]
url = "https://mcp.kapruka.com/mcp"Gemini CLI
gemini mcp add --transport http kapruka https://mcp.kapruka.com/mcpThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI’s settings file.
{
"mcpServers": {
"kapruka": {
"type": "http",
"url": "https://mcp.kapruka.com/mcp"
}
}
}Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.
Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.kapruka.com/mcp.
Embed
Show Kapruka in a README or on your site. Each embed links to this page, uses the server’s own URL, and sets no cookies. How embeds work
The card, the iframe and the JSON are in English. Add ?lang=it, fr, de or es to their address for another language.
README badge
[](https://mcp.tc/i/kapruka)<a href="https://mcp.tc/i/kapruka"><img src="https://mcp.tc/i/kapruka/badge.svg" alt="Kapruka on mcp.tc" height="20"></a>It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.
Website card
<script src="https://mcp.tc/w/kapruka.js" async></script>The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.
iframe
<iframe src="https://mcp.tc/embed/kapruka" title="Kapruka on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.
JSON
The listing as data for your own pages and tools: name, tagline, the server’s own URL, tools and the “Add to” links. Any site can read it (CORS is open).
https://mcp.tc/i/kapruka.jsonAI prompt
Paste this into an AI coding assistant, such as Claude Code or Cursor, and it adds the Kapruka card to your site.
Add the mcp.tc card for Kapruka, an MCP server, to my website. It is one static script: no build step, no package to install, no cookies.
Put this tag where the card should appear. The card renders right before it:
```html
<script src="https://mcp.tc/w/kapruka.js" async></script>
```
To show the card somewhere else, put this placeholder there and load the same script once, for example before `</body>`. Keep the link inside: visitors without JavaScript see it.
```html
<div data-mcptc="kapruka"><a href="https://mcp.tc/i/kapruka">Kapruka on mcp.tc</a></div>
```
Options:
- `data-theme="light"` or `"dark"` on the tag or the placeholder fixes the colors. Without it, the card follows the visitor’s light or dark mode.
- `data-size="compact"` gives a smaller card without the tagline.
- The CSS variable `--mcptc-max-width` on the placeholder or a parent sets the width (default `520px`).
- `?lang=` on the script URL sets the card’s language: `en`, `it`, `fr`, `de` or `es`.
If the site has a Content Security Policy, allow `script-src https://mcp.tc` and `img-src data:` (the icon is inline).
For a README or other Markdown docs, use the badge instead:
```markdown
[](https://mcp.tc/i/kapruka)
```
Reference: https://mcp.tc/embedChange history
We read this server’s tool list every 3 hours and record what changes. Last read 26 Oct 2026, 14:39 UTC.
-
2 tools added and 4 tools changed. Server instructions changed.
New server instructions
Details, 20 Oct 2026, 07:39 UTC
Added 2
kapruka_gift_countriesRead-onlyList 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 Sri Lanka. They are NOT in kapruka_search_products; list a store with kapruka_gift_country_products. For each country: how many gifts are in stock now (0 = nothing can be ordered there right now — say so), the delivery fee (one fee per order, whatever the number of items), and for Australia and the UAE the zones they deliver to — delivery is ONLY to those zones, each with its own fee. The earliest delivery date is 3 days from today (Sri Lanka date). Args: params: currency ('LKR' default or 'USD'), response_format. Returns: str. JSON: {"currency", "earliest_date", "countries": [{"country", "products_in_stock", "delivery_fee": {"amount","currency"}, "zone_required": bool, "zones": [{"name","delivery_fee"}], "earli…
kapruka_gift_country_productsRead-onlyList 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 checkout charges for the item (no website discounts apply to these stores); delivery is extra — one fee per order (zone fee in Australia / the UAE), shown at the top. Use the `id` with kapruka_get_product for full detail and with kapruka_create_order (delivery.type "international_gift"). Args: params: country, type (optional filter), currency ('LKR' default or 'USD'), response_format. Returns: str. JSON: {"country", "currency", "count", "delivery": {country row from kapruka_gift_countries}, "products": [{"id", "name", "type", "summary", "price": {"amount","currency"}, "image_url", "url"}]}
Changed 4
kapruka_check_deliverydescription and input schemaThe text shown here is the same before and after: the change is past the first 1,000 characters or in characters that don’t show.
kapruka_create_orderinput schemakapruka_get_productdescriptionBeforeFetch 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_5to7" | null) says whether the item can go by the cheaper economy courier; kapruka_check_delivery with the cart says whether an order is offered it. Discounts: `price` is what checkout charges, with any website discount already applied; `compare_at_price` is the pre-discount price when one applies (null otherwise). Each variant carries its own pair. Quote `price`. Delivery scope: most gifts ship island-wide, but restaurant food, hotel cakes and liquor only reach a limited city set (typically the Colombo area). The
`delivery` object is the authority — search results do NOT carry it. When `delivery.island_wide` is false, tell the customer up front that the item is delivered only to selected cities, and confirm their c…AfterFetch 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_5to7" | null) says whether the item can go by the cheaper economy courier; kapruka_check_delivery with the cart says whether an order is offered it. International gift store products carry `international_gift` {"country", "orderable", "store_url"}: they are delivered IN that country by Kapruka's partner (see kapruka_gift_countries), not in Sri Lanka. Discounts: `price` is what checkout charges, with any website discount already applied; `compare_at_price` is the pre-discount price when one applies (null otherwise). Each variant carries its own pair. Quote `price`. Delivery scope: most gifts ship island-wide, but restaurant food, hotel cakes and liquor only reach a limited city set (typically the Colombo area). The `…
kapruka_search_productsdescriptionThe text shown here is the same before and after: the change is past the first 1,000 characters or in characters that don’t show.
Server instructions
BeforeYou are connected to the Kapruka MCP server for Kapruka.com — Sri Lanka's largest e-commerce platform. Use the tools to search products, browse categories, look up product details, quote delivery, create guest-checkout orders (pay link) and track orders. This is a free public tier; treat results as cached for up to 30 minutes. DELIVERY-CITY LIMITS — follow these rules: 1. Most gifts ship island-wide, but restaurant food, hotel cakes and liquor are delivered only to selected cities (typically the Colombo area). Never promise delivery of a product to a city without checking: call kapruka_check_delivery with BOTH city and product_id (or read delivery.island_wide from kapruka_get_product). Say yes only if available is true. 2. Surface the limit proactively: when a product's delivery.island_wide is false, tell the customer it is delivered only to selected cities before they pick a city. If deliverable_city_count is larger than the list you were given, say 'and more' — the list is truncated. 3. On item_deliverable=false / available=false, offer the returned deliverable_cities (nearest first) or an island-wide alternative. Do not retry kapruka_create_order with the same city. 4. An order ships as ONE shipment, so the whole cart must be deliverable to the city (intersection of every item's cities). If kapruka_create_order returns city_not_deliverable_for_item, nothing was created: tell the customer which item blocks it and offer to change the city or remove/replace that item. Never pretend a partial order was placed. 5. Search results carry no delivery info — resolve it per item via kapruka_get_product or kapruka_check_delivery. 6. Send canonical city spellings from kapruka_list_delivery_cities / deliverable_cities.
AfterYou are connected to the Kapruka MCP server for Kapruka.com — Sri Lanka's largest e-commerce platform. Use the tools to search products, browse categories, look up product details, quote delivery, create guest-checkout orders (pay link) and track orders. This is a free public tier; treat results as cached for up to 30 minutes. DELIVERY-CITY LIMITS — follow these rules: 1. Most gifts ship island-wide, but restaurant food, hotel cakes and liquor are delivered only to selected cities (typically the Colombo area). Never promise delivery of a product to a city without checking: call kapruka_check_delivery with BOTH city and product_id (or read delivery.island_wide from kapruka_get_product). Say yes only if available is true. 2. Surface the limit proactively: when a product's delivery.island_wide is false, tell the customer it is delivered only to selected cities before they pick a city. If deliverable_city_count is larger than the list you were given, say 'and more' — the list is truncated. 3. On item_deliverable=false / available=false, offer the returned deliverable_cities (nearest first) or an island-wide alternative. Do not retry kapruka_create_order with the same city. 4. An order ships as ONE shipment, so the whole cart must be deliverable to the city (intersection of every item's cities). If kapruka_create_order returns city_not_deliverable_for_item, nothing was created: tell the customer which item blocks it and offer to change the city or remove/replace that item. Never pretend a partial order was placed. 5. Search results carry no delivery info — resolve it per item via kapruka_get_product or kapruka_check_delivery. 6. Send canonical city spellings from kapruka_list_delivery_cities / deliverable_cities. INTERNATIONAL GIFTS — when the RECIPIENT is outside Sri Lanka (USA, UK, Canada, Australia, UAE, ...): call kapruka_gift_countries, then kapruka_gift_country_products(country) and choose from the whole store (these products are not in kapruka_search_products).…
-
3 tools changed.
Details, 12 Oct 2026, 13:33 UTC
Changed 3
kapruka_check_deliverydescription and input schemaThe text shown here is the same before and after: the change is past the first 1,000 characters or in characters that don’t show.
kapruka_create_orderdescription and input schemaThe text shown here is the same before and after: the change is past the first 1,000 characters or in characters that don’t show.
kapruka_get_productdescriptionBeforeFetch 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. Discounts: `price` is what checkout charges, with any website discount already applied; `compare_at_price` is the pre-discount price when one applies (null otherwise). Each variant carries its own pair. Quote `price`. Delivery scope: most gifts ship island-wide, but restaurant food, hotel cakes and liquor only reach a limited city set (typically the Colombo area). The `delivery` object is the authority — search results do NOT carry it. When `delivery.island_wide` is false, tell the customer up front that the item is delivered only to selected cities, and confirm their
city with kapruka_check_delivery(city, product_id) before promising anything. If `deliverable_city_count` exceeds the returned list, the list is truncated — say "and more", don't treat it as complet…AfterFetch 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_5to7" | null) says whether the item can go by the cheaper economy courier; kapruka_check_delivery with the cart says whether an order is offered it. Discounts: `price` is what checkout charges, with any website discount already applied; `compare_at_price` is the pre-discount price when one applies (null otherwise). Each variant carries its own pair. Quote `price`. Delivery scope: most gifts ship island-wide, but restaurant food, hotel cakes and liquor only reach a limited city set (typically the Colombo area). The `delivery` object is the authority — search results do NOT carry it. When `delivery.island_wide` is false, tell the customer up front that the item is delivered only to selected cities, and confirm their c…
-
Tracking started: 8 tools.
FAQ
Can I paste mcp.tc/i/kapruka into my MCP client?
No. mcp.tc links are pages, not server addresses. Connect with https://mcp.kapruka.com/mcp, so your client talks to Kapruka directly. The quick link is for sharing: it opens this page, with setup steps for every client.
Does Kapruka need an API key or a sign-in?
No. Kapruka doesn’t ask for an account or key.
Is Kapruka a remote or a local server?
Remote. Kapruka hosts it at https://mcp.kapruka.com/mcp, and it speaks Streamable HTTP. There’s nothing to install.
What can Kapruka do?
It has 10 tools, including kapruka_list_categories, kapruka_get_product and kapruka_search_products. You can search products by keyword with category facets, fetch product details, prices and variants and check delivery availability, date and fee per city.
Which clients can use it?
Any client that supports remote MCP servers: Claude Code, Claude Desktop, claude.ai, ChatGPT in developer mode, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. The setup steps cover each one.
Does mcp.tc track changes to Kapruka?
Yes. Kapruka’s History tab shows each change we find to its tools, down to descriptions and parameters, plus new versions and edits by its owner. Follow the listing to get an email when it changes.
Who wrote this page?
mcp.tc’s robot read Kapruka’s own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
mcp.tc isn’t affiliated with Kapruka. This page was built from Kapruka’s public metadata, last checked on 26 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.