kaspi-merchant-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kaspi-merchant-mcpShow new orders today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kaspi-merchant-mcp
Первый MCP-сервер для Kaspi Marketplace в мире. 721 000 продавцов в Казахстане теперь могут управлять заказами через AI-ассистентов.
Kaspi.kz — крупнейший маркетплейс Казахстана. API работает по спецификации JSON:API (
Content-Type: application/vnd.api+json).
Sandbox отсутствует — все операции выполняются на реальных данных продакшна.
Операции accept_order, complete_order, cancel_order необратимы!
Инструменты (8 штук)
Инструмент | Метод | Описание |
| GET | Список заказов с фильтрацией по статусу и дате |
| GET | Один заказ по ID |
| GET | Позиции заказа (товары, кол-во, цена) |
| PATCH | Принять заказ (ACCEPTED_BY_MERCHANT) |
| PATCH | Завершить заказ (COMPLETED) |
| PATCH | Отменить заказ (CANCELLED) |
| GET | Список городов Kaspi |
| GET | Товарные предложения продавца |
Related MCP server: Yandex Market Seller MCP Server
Статусы заказов
Статус | Описание |
| Новый заказ, ожидает обработки |
| Требуется подпись (для крупных покупок) |
| Готов к выдаче |
| В доставке (курьерская) |
| В доставке через Kaspi Доставку |
| Архив (завершённые/отменённые) |
Быстрый старт
1. Получите API-токен
Откройте Kaspi Seller Cabinet → Настройки → API → Скопируйте токен.
2. Настройте MCP-сервер
Claude Desktop
claude_desktop_config.json:
{
"mcpServers": {
"kaspi": {
"command": "npx",
"args": ["-y", "@theyahia/kaspi-merchant-mcp"],
"env": {
"KASPI_AUTH_TOKEN": "ваш-токен"
}
}
}
}Claude Code (CLI)
claude mcp add kaspi -- npx -y @theyahia/kaspi-merchant-mcp
# Установите переменную окружения:
export KASPI_AUTH_TOKEN="ваш-токен"VS Code (Copilot)
.vscode/mcp.json:
{
"servers": {
"kaspi": {
"command": "npx",
"args": ["-y", "@theyahia/kaspi-merchant-mcp"],
"env": {
"KASPI_AUTH_TOKEN": "ваш-токен"
}
}
}
}Cursor
.cursor/mcp.json:
{
"mcpServers": {
"kaspi": {
"command": "npx",
"args": ["-y", "@theyahia/kaspi-merchant-mcp"],
"env": {
"KASPI_AUTH_TOKEN": "ваш-токен"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"kaspi": {
"command": "npx",
"args": ["-y", "@theyahia/kaspi-merchant-mcp"],
"env": {
"KASPI_AUTH_TOKEN": "ваш-токен"
}
}
}
}Примеры запросов
"Покажи новые заказы за сегодня"
"Прими заказ 12345678"
"Какие заказы ожидают отправки?"
"Покажи детали заказа ABC-123"
"Отмени заказ XYZ, причина: нет в наличии"
"Список городов Kaspi"Разработка
git clone https://github.com/theYahia/kaspi-merchant-mcp.git
cd kaspi-merchant-mcp
npm install
npm run build
npm testСсылки
Часть серии russian-mcp — MCP-серверы для СНГ-рынка
Лицензия
MIT
Available Tools
8 toolsaccept_orderA
Accept a Kaspi order (set status to ACCEPTED_BY_MERCHANT). WARNING: This is IRREVERSIBLE! The order will be accepted and you must fulfill it.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Kaspi order ID to accept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the critical behavioral trait of irreversibility and the consequence of needing to fulfill the order, which is essential for an accept action. No other behavioral aspects (e.g., authentication) are mentioned, but the description adequately covers the main risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the action, second provides a critical warning. Front-loaded and no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the action, irreversibility, and expected follow-up. No missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a description for the single parameter (order_id). The tool description does not add further meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action: 'Accept a Kaspi order (set status to ACCEPTED_BY_MERCHANT)'. Distinguishes from siblings like cancel_order and complete_order by specifying the exact status change.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a strong warning about irreversibility and the obligation to fulfill, guiding appropriate use. However, does not explicitly compare to alternatives like cancel_order or provide when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderA
Cancel a Kaspi order. WARNING: This is IRREVERSIBLE! The order will be cancelled and the buyer will be notified.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Kaspi order ID to cancel | |
| reason | No | Cancellation reason |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The warning about irreversibility and buyer notification provides key behavioral context beyond the schema, compensating for absent annotations. However, it omits details like permission requirements or effects on already-cancelled orders.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and critical warning, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple irreversible action with two parameters, the description covers the essential behavioral context. Could mention return value or post-cancellation state, but not strictly required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have descriptions in the schema (100% coverage), so the description adds no additional information. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cancel a Kaspi order') and the resource, distinguishing it from sibling tools like accept_order and complete_order which perform different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_order or accept_order, nor any prerequisites or conditions mentioned besides irreversibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_orderA
Mark a Kaspi order as COMPLETED. WARNING: This is IRREVERSIBLE! Only use when the order has been fully delivered.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Kaspi order ID to complete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the irreversible nature of the operation ('WARNING: This is IRREVERSIBLE!'), which is critical for an AI agent. However, it omits other potential side effects or error scenarios, leaving some behavioral aspects implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences. The key action and critical warning are front-loaded, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, no output schema), the description adequately covers purpose, usage condition, and a critical behavioral trait. It could mention what the tool returns upon success, but the absence is not a major gap for a state-changing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters, so the baseline is 3. The description does not add any additional meaning beyond what the schema already provides ('Kaspi order ID to complete').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Mark a Kaspi order as COMPLETED'), specifying the verb and resource. It distinguishes itself from sibling tools like cancel_order and accept_order by indicating a different status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the condition for use ('Only use when the order has been fully delivered') and includes a strong warning about irreversibility. This provides clear guidance on when to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_citiesA
Get the list of all Kaspi cities in Kazakhstan.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description labels it as a read operation ('Get'), but lacks detail on authentication, rate limits, or any side effects. Adequate for a simple tool but not transparent beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single short sentence, no filler, and front-loaded with the action. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
States return is a list of cities, but no output schema exists to confirm format (e.g., city names, IDs). Adequate for a simple list tool, but could detail response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline 4 applies. Description adds context ('all Kaspi cities in Kazakhstan') beyond the empty schema, specifying scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get', resource 'list of all Kaspi cities', and scope 'in Kazakhstan'. Distinct from sibling tools which deal with orders and products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives guidance. Implicitly, this tool is for retrieving city data, with no similar sibling tools competing, but no direct usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderA
Get a single order by ID from Kaspi Marketplace.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Kaspi order ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It indicates a read operation ('Get'), but does not mention return format, authentication needs, rate limits, or any side effects. For a simple read, this is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no nested objects), the description covers the essential purpose. However, it does not explain the return value, which would be helpful for agents to know what to expect, but not critical for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter described as 'Kaspi order ID'. The description adds no extra meaning beyond the schema, so score is baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Get', the resource 'single order by ID', and the system 'Kaspi Marketplace'. It clearly differentiates from sibling tools like get_orders (plural) and get_order_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that when you need exactly one order, use this tool; for multiple orders, use get_orders. It does not provide explicit when-not or alternative tool names, but the simple context makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_itemsA
Get line items (entries) for an order. Returns products, quantities, prices.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Kaspi order ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It states that the tool returns line items with specific fields, but does not disclose whether it is read-only, potential errors, or permissions required. For a simple get, this is borderline adequate but lacks completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, immediately stating the purpose and return types. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description provides enough context: it explains what is returned (products, quantities, prices). Missing error handling details, but overall sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'order_id' is fully described in the schema with 'Kaspi order ID' and is required. The description does not add additional meaning or usage tips. With 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('line items for an order'), and specifies the returned data (products, quantities, prices). This distinguishes it from sibling tools like 'get_order' (order header) and mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives (e.g., 'get_order' for header, or mutation tools). The context implies it's for retrieving items, but no when-not or comparison is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ordersA
List orders from Kaspi Marketplace. Filter by state, date range. Returns JSON:API response.
| Name | Required | Description | Default |
|---|---|---|---|
| page_number | No | Page number (0-based) | |
| page_size | No | Page size (max 100) | |
| state | No | Filter by order state | |
| creation_date_from | No | Filter orders created after this ISO date (e.g. 2024-01-01) | |
| creation_date_to | No | Filter orders created before this ISO date |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It mentions the response format (JSON:API) which adds value, but omits other traits like authentication, idempotency, or pagination details beyond what is in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three short sentences with no fluff, front-loading the core purpose immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides the response format but does not explain that it returns a list, pagination details, or field specifics. It is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description's mention of filtering by state and date range summarizes parameters but does not add new meaning beyond the individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists orders from Kaspi Marketplace and supports filtering by state and date range. It effectively distinguishes itself from sibling tools like accept_order, cancel_order, and get_order by being the list operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the name and description (listing vs. single order operations), but no explicit guidance is given on when to use this tool versus alternatives like get_order or get_order_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productsB
Get merchant product offers (merchantoffers) from Kaspi Marketplace.
| Name | Required | Description | Default |
|---|---|---|---|
| page_number | No | Page number (0-based) | |
| page_size | No | Page size (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden for behavioral disclosure. It does not mention whether the operation is read-only, destructive, or any side effects. Only the basic action is stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no redundancy or unnecessary information. It perfectly balances brevity with clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter tool with no output schema, the description is adequate but lacks any explanation of return values, pagination behavior, or use cases. It meets the minimum requirement but is not fully informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning both parameters (page_number, page_size) are already defined in the input schema. The description adds no additional meaning or context beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('merchant product offers'), and the source ('Kaspi Marketplace'), making it unambiguous and distinct from sibling tools like 'get_orders' or 'get_cities'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description simply states what it does without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.0- First observed
accept_order - First observed
cancel_order - First observed
complete_order - First observed
get_cities - First observed
get_order - First observed
get_order_items - First observed
get_orders - First observed
get_products
TDQS
Scored across 8 tools
Each tool has a distinct purpose: order lifecycle actions (accept, cancel, complete) and informational queries (get orders, products, cities). No overlap between tools.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., accept_order, get_orders), making it easy to predict functionality.
With 8 tools, the set covers essential merchant operations without being overly large or sparse. It's well-scoped for Kaspi marketplace management.
Covers core order lifecycle (accept, cancel, complete) and retrieval, plus cities and products. Minor gap: no tool for updating products or marking orders as shipped, but it's acceptable.
Maintenance
Related MCP Connectors
Run your restaurant from an AI client: orders, menu, reports, refunds, payouts and staff.
Operate Obriym CRM from your AI assistant: leads, deals, orders, catalog, stock, marketplaces.
Hosted storefront backend for AI agents: products, cart, Stripe + PayPal, delivery, order tracking.
- VendoolyOAuthcom.vendooly
Amazon Seller Central and Amazon Ads for AI assistants: catalog, orders, FBA, pricing, PPC.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables management of Shopify orders through the Admin REST API, allowing users to create new orders and retrieve order status details. It supports both local and remote access via SSE and STDIO transports for integration with MCP clients like Claude Desktop.-
- AlicenseAqualityDmaintenanceIntegrates with Yandex Market Partner API, providing search and execute tools for managing orders, returns, shipments, offers, prices, and other seller operations via natural language.181MIT
- AlicenseNot gradedqualityCmaintenanceIntegrates RetailCRM API with AI assistants, enabling access to orders, customers, and products from your CRM through natural language commands.1MIT
- AlicenseNot gradedqualityCmaintenanceConnects AI assistants to Wildberries and Ozon seller accounts for real-time access to sales, stocks, prices, finances, and reviews through official APIs.MIT