retailcrm-mcp
This server provides an MCP interface to RetailCRM for managing orders, customers, products, inventory, payments, notes, tasks, costs, files, reference data, and analytics.
Orders: list with filters, get by ID/externalId, create with items/delivery/customer linking, update status/customer/delivery/comments, fetch change history for incremental sync.
Customers: search/list, get by ID/externalId, create, update, merge duplicates, view customer history, add/list/delete customer notes.
Products & inventory: list products, product groups, and store inventory levels/costs.
Payments: create, edit, and delete order payments.
Tasks: list, create, and edit follow-up tasks/reminders with performers and linked orders/customers.
Segments & costs: list customer segments (RFM/marketing), list and create expense records for margin analytics.
Files: list files, get metadata, upload files (text or base64).
Reference data: retrieve order statuses, delivery types, payment types, stores, sites, countries, order types, and order methods.
Summaries: get period-based order summary (count, revenue, average order value, status distribution) and new-customer count.
Output control: every tool supports compact
summaryoutput by default, full details withdetail:'full', or raw RetailCRM payloads withraw:trueto save tokens.
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., "@retailcrm-mcp list orders from yesterday"
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.
MCP-сервер для RetailCRM — заказы, клиенты и товары интернет-магазина через ИИ
Если вы искали, как подключить RetailCRM к нейросети, поднять заказ или карточку клиента и не собирать отчёты руками — это оно. 39 инструментов и 2 навыка поверх API v5: заказы, клиенты, товары, складские остатки, оплаты, задачи, справочники и аналитика. Спрашиваете «что с заказом 12345» — получаете статус, состав и оплату одним ответом.
Промышленный MCP-сервер для e-commerce CRM RetailCRM. 39 инструментов + 2 навыка-промпта для работы с заказами, клиентами, товарами, остатками, оплатами, задачами, справочниками и аналитикой через API v5.
Ответы экономят токены по умолчанию
Читающие инструменты возвращают компактную структурированную сводку только из тех полей, которые нужны агенту, а не весь ответ RetailCRM. Подробность настраивается на каждый вызов:
Параметр | Что делает |
(по умолчанию) |
|
| Все структурированные поля (позиции, доставка, оплаты, адрес…) |
| Нетронутый ответ RetailCRM (для отладки) |
⚠️ v3 ломает совместимость с v2: по умолчанию отдаётся структурированная сводка, а не сырой JSON. Передайте
raw:true, чтобы вернуть прежний формат.
Related MCP server: MoySklad MCP Server
Инструменты (39)
Заказы
Инструмент | Описание |
| Список заказов по статусу, клиенту, номеру, периоду |
| Один заказ по ID или externalId |
| Создать заказ; привязать существующего клиента ( |
| Изменить статус, клиента, доставку, комментарии |
| История изменений заказов, включая смены статусов (инкрементальная синхронизация) |
Клиенты
Инструмент | Описание |
| Поиск клиентов по имени, e-mail, телефону, дате |
| Один клиент по ID или externalId |
| Создать клиента |
| Изменить существующего клиента |
| Объединить дубли (разрушающая операция) |
| Лог изменений клиентов (прирост/отток, инкрементальная синхронизация) |
Товары и остатки
Инструмент | Описание |
| Товары каталога по названию, группе, активности, цене |
| Дерево товарных категорий |
| Остатки и себестоимость по торговым предложениям и складам |
Оплаты
Инструмент | Описание |
| Зафиксировать оплату по заказу |
| Изменить оплату |
| Удалить оплату (разрушающая операция) |
Заметки и задачи
Инструмент | Описание |
| Произвольные заметки по клиенту |
| Задачи и напоминания |
Маркетинг и финансы
Инструмент | Описание |
| Сегменты клиентов (RFM и маркетинговые когорты) |
| Записи расходов для аналитики маржи |
Файлы
Инструмент | Описание |
| Прикрепление и получение файлов (загрузка сырым octet-stream) |
Справочники
Инструмент | Описание |
| Справочники статусов, доставок, оплат и магазинов |
| Сайты, доступные ключу API (для заполнения параметра |
| Справочники адресов и заказов |
Аналитика
Инструмент | Описание |
| Статистика заказов за период: точное количество и выручка, средний чек, распределение по статусам |
| Количество новых клиентов за период |
Навыки-промпты (2)
Навык | Описание |
| Быстрый ежедневный обзор сегодняшних заказов |
| Найти клиента по имени, e-mail или телефону |
Настройка
В RetailCRM откройте Настройки → Интеграция → Ключи API.
Создайте ключ API с нужными правами (заказы, клиенты, склад, справочники). Для мультисайтового ключа передавайте код
siteв инструментах создания и изменения (см.list_sites).Запомните свой домен (часть
yourstoreизyourstore.retailcrm.ru).
Переменные окружения
Переменная | Обяз. | Описание |
| да | Домен вашего RetailCRM (например, |
| да | Ключ API (передаётся в заголовке |
| нет |
|
| нет | Клиентское ограничение запросов в секунду (RetailCRM допускает ~10/с) |
| нет | Привязка HTTP-сервера (по умолчанию |
| нет | Разрешённые значения |
| нет |
|
RETAILCRM_URLпо-прежнему принимается как запасной вариант дляRETAILCRM_DOMAIN.
Подключение к Claude Desktop
{
"mcpServers": {
"retailcrm": {
"command": "npx",
"args": ["-y", "@theyahia/retailcrm-mcp"],
"env": {
"RETAILCRM_DOMAIN": "yourstore.retailcrm.ru",
"RETAILCRM_API_KEY": "your-api-key"
}
}
}
}Режим Streamable HTTP
Запуск в виде HTTP-сервера вместо stdio:
RETAILCRM_DOMAIN=yourstore.retailcrm.ru \
RETAILCRM_API_KEY=your-key \
npx @theyahia/retailcrm-mcp --httpPOST /mcp— эндпоинт MCP Streamable HTTP (stateless: на каждый запрос создаётся новый сервер)GET /health— проверка состояния (JSON с версией и числом инструментов)GET/DELETE /mcp—405(в stateless-режиме не используются)Привязка по умолчанию:
127.0.0.1:3000. Защита от DNS-rebinding для локальных привязок включена по умолчанию.
Smithery
npx @smithery/cli install @theyahia/retailcrm-mcpДемо-промпты
1. Обзор заказов за день: «Покажи все заказы, созданные сегодня, в статусе „новый“. Дай итоговое количество и выручку.»
2. Клиент и его история заказов: «Найди клиента с почтой anna@example.com. Покажи полный профиль и последние заказы.»
3. Проверка остатков: «Есть ли товар с externalId SKU-42 в наличии и на каком складе?»
Вебхуки и триггеры
RetailCRM не умеет создавать вебхуки через API. Используйте Триггеры в админке (Настройки → Триггеры), чтобы отправлять HTTP-запросы на внешние эндпоинты по событиям заказов и клиентов.
Обработка ошибок
Лимиты запросов и 5xx: автоматический повтор с экспоненциальной задержкой и джиттером (до 3 попыток).
Ошибки API: детали ошибки RetailCRM разбираются и возвращаются модели как результат инструмента с
isError: true, чтобы агент мог исправиться сам (например, повторить сby:"externalId").Таймауты: 15 секунд на запрос с повтором.
Разработка
npm install
npm test # vitest (на моках; живой ключ API не нужен)
npm run lint # eslint
npm run typecheck # tsc --noEmit
npm run dev # dev-режим stdio (tsx)
npm run build # очистка + сборка в dist/Лицензия
MIT
Available Tools
39 toolscreate_costA
Create an expense record, optionally attributed to an order. Returns {success, id}.
Inputs: summ (required), cost_item (required), date_from (required), site, +3 more.
create_customerA
Create a customer with name, contacts, address, optional externalId. Returns {success, id}.
Inputs: first_name (required), site, email, phones, +6 more.
create_orderA
Create an order with line items and delivery. Link an existing customer via customer_id/customer_external_id, or pass first_name (+phone/email) to create one inline. Returns {success, id, order?}.
Inputs: items (required), site, email, phone, +9 more.
customer_notes_createA
Add a note to a customer (by id or externalId). Returns {success, id}.
Inputs: text (required), site, manager_id, customer_id, +1 more.
customer_notes_deleteADestructive
Delete a customer note by id. Returns {success}.
Inputs: id (required).
customer_notes_listARead-only
List free-text notes attached to customers. Returns {notes[], pagination}.
Inputs: page, limit, filter_customer_id, filter_customer_external_id.
customers_historyARead-only
Customer field-change log for growth/churn signals and incremental sync. Returns {history[], pagination}.
Inputs: raw, page, limit, filter_date_to, +2 more.
files_getARead-only
Get a file's metadata by id. Returns {file}.
Inputs: id (required).
files_listARead-only
List files attached to orders/customers. Returns {files[], pagination}.
Inputs: page, limit, filter_filename, filter_order_id, +1 more.
files_uploadA
Upload a file (UTF-8 text or base64 binary). Returns {success, file}.
Inputs: content (required), filename (required), base64, content_type.
get_customerARead-only
Get a single customer by id or externalId. Returns a shaped customer; detail:'full' adds address and contact details.
Inputs: id (required), by, raw, detail.
get_customers_summaryARead-only
Period-scoped new-customer count for a date range. Returns {period, newCustomers}.
Inputs: date_to (required), date_from (required).
get_orderARead-only
Get a single order by RetailCRM id or externalId. Returns a shaped order; detail:'full' adds items, delivery, payments, comments.
Inputs: id (required), by, raw, detail.
get_orders_summaryARead-only
Period-scoped order summary: exact totalCount for the date range plus revenue, average order value, and status distribution aggregated over up to max_pages×100 orders (partial:true if the window exceeds that).
Inputs: date_to (required), date_from (required), max_pages, filter_status.
list_costsARead-only
List expense records (for margin/profit analytics) by date and cost group. Returns {costs[], pagination}.
Inputs: page, limit, filter_date_to, filter_date_from, +1 more.
list_countriesBRead-only
Valid country ISO codes for addresses/delivery.
Inputs: raw.
list_customersARead-only
List/search customers by name, email, phone, created-date. Returns (summary): pagination + array of {id, name, email, phone, ordersCount, totalSpent}. detail:'full' adds address/externalId/all phones.
Inputs: raw, page, limit, detail, +5 more.
list_delivery_typesARead-only
All delivery types with codes, names, default costs.
Inputs: raw.
list_order_methodsBRead-only
All order methods (acquisition channels).
Inputs: raw.
list_ordersARead-only
List orders with filters by status, customer name, number, and created-date range. Returns (summary): pagination + array of {id, number, status, total, customer, phone, itemCount, createdAt}. Use detail:'full' for line items/delivery/payments, raw:true for the untouched payload.
Inputs: raw, page, limit, detail, +5 more.
list_order_typesARead-only
All order types (codes/names) — valid values for create_order's order_type.
Inputs: raw.
list_payment_typesBRead-only
All payment types with codes and names.
Inputs: raw.
list_product_groupsARead-only
List product groups (category tree). Returns {productGroup[], pagination}.
Inputs: page, limit, filter_active, filter_parent_group.
list_productsARead-only
List catalog products with filters by name, active, group, price range. Returns pagination + array of {id, name, article, active, url, groups, offers}.
Inputs: raw, page, limit, filter_name, +4 more.
list_segmentsARead-only
List customer segments (RFM/marketing cohorts). Returns {segments[], pagination}.
Inputs: page, limit, filter_type, filter_active.
list_sitesARead-only
All sites/stores the API key can act on — use the returned code as the site param on multi-site create/edit.
Inputs: raw.
list_statusesARead-only
All order statuses (codes, names, groups, ordering). Call before filtering/updating orders by status.
Inputs: raw.
list_storesBRead-only
All warehouses/stores (codes, names, types).
Inputs: raw.
merge_customersADestructive
Merge duplicate customers into a target; merged records are DELETED. Returns {success}.
Inputs: result_customer_id (required), merged_customer_ids (required).
order_payment_createA
Record a payment against an order (amount, type, status, paid_at). Returns {success, id}.
Inputs: type (required), amount (required), site, status, +3 more.
order_payment_deleteADestructive
Delete an order payment by id. Returns {success}.
Inputs: id (required).
order_payment_editA
Edit an existing order payment (amount/status/paid_at). Returns {success}.
Inputs: id (required), by, site, amount, +2 more.
orders_historyARead-only
Order change history incl. status transitions; supports incremental sync via filter_since_id and a date window. Returns {history[], pagination}.
Inputs: raw, page, limit, filter_date_to, +3 more.
store_inventoriesARead-only
Stock levels (and cost prices) per offer/warehouse. Use details:true for the per-store breakdown. Returns {offers[], pagination}.
Inputs: page, site, limit, details, +2 more.
tasks_createA
Create a task (text, due datetime, performer, linked order/customer). Returns {success, id}.
Inputs: text (required), site, datetime, order_id, +3 more.
tasks_editA
Edit a task or mark it complete. Returns {success}.
Inputs: id (required), site, text, complete, +3 more.
tasks_listARead-only
List follow-up tasks/reminders, filterable by status/performer/customer. Returns {tasks[], pagination}.
Inputs: page, limit, filter_status, filter_customer, +1 more.
update_customerA
Edit an existing customer (name, email, phones, address) by id or externalId. Only the fields you pass are sent. Returns {success}.
Inputs: id (required), by, site, email, +7 more.
update_orderA
Update an order (status, customer, delivery, comments). Only the fields you pass are sent. Returns {success}.
Inputs: id (required), by, site, email, +11 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 39 tools
Each tool targets a distinct operation (list, get, create, update, delete, history, summary) on a specific entity (orders, customers, products, payments, etc.). Descriptions clearly differentiate them, even where naming patterns vary.
Tool names mix verb-first (e.g., list_orders, create_customer) and noun-first patterns (e.g., orders_history, customer_notes_list, order_payment_create). While readable, the inconsistency in naming convention increases ambiguity.
With 39 tools, the surface is heavy. Many reference data tools (list_statuses, list_delivery_types) add bulk without deepening functionality. The count is unnecessarily high for the scope.
Several fundamental CRUD operations are missing: no order delete, no customer delete, no product create/update/delete, no note update, no task delete, no file delete. These gaps will hinder autonomous agent workflows in a retail CRM.
Maintenance
Related MCP Connectors
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
Hosted MCP server for 3Dsellers, the multichannel selling platform. Connect Claude, ChatGPT, Cursor, VS Code or any MCP client and manage your eBay, Amazon, Walmart, Etsy, Shopify, WooCommerce and TikTok Shop stores in plain language: search and update products, publish listings, sync inventory, tag and track orders, run bulk actions and CSV imports, and reply to customer messages. 120+ tools. Sign in with OAuth or a personal token. No eBay developer account and nothing to install. Setup guides and config examples for every client: https://github.com/3dsellers/ebay-mcp-server
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing WooCommerce stores through AI assistants like Claude. Provides 101 tools covering products, orders, customers, coupons, shipping, taxes, webhooks, settings, reports, and more.100112 npm2MIT
- AlicenseCqualityBmaintenanceMCP server for MoySklad (МойСклад) warehouse and CRM management API. 21 tools covering the full order lifecycle: products, stock, counterparties, customer orders, shipments, supplies, warehouses, organizations, reports, and webhooks.6070 npm10MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server for Method CRM API integration. It enables LLMs to interact with Method CRM data through tools for tables, files, users, events, and API key management.3MIT
- AlicenseBqualityDmaintenanceSelf-hosted MCP server that connects AI assistants to Kommo CRM (API v4), enabling real-time CRM actions such as creating/managing leads, tasks, notes, and more through 29 tools.291MIT