mcpField
R
retailcrm-mcp

retailcrm-mcp

ローカル
github.com/theYahiaビジネス・マーケティング18 週間前に更新

retailcrm-mcp について

retailcrm-mcpは、RetailCRM API v5をEC運営業務に接続します。39のツールで注文、顧客、商品、在庫、支払い、分析を扱い、読み取り結果は簡潔な構造化サマリーで返します。

主な機能

  1. 01注文の検索、作成、更新
  2. 02顧客情報と履歴の管理
  3. 03商品と在庫の確認
  4. 04注文支払いの記録と編集
  5. 05タスク、ファイル、参照データへのアクセス
  6. 06注文と顧客指標の集計

活用シーン

  1. 01注文の状態と内容を確認
  2. 02顧客を検索して注文履歴を確認
  3. 03倉庫別に商品の在庫を確認
  4. 04期間別の売上を集計

MCP 対応

RetailCRM API v5の操作をMCPツールとして公開し、stdioとステートレスなStreamable HTTPに対応します。読み取り専用設定では書き込み可能なツールを非表示にできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"theyahia-retailcrm": {
"command": "npx",
"args": [
"-y",
"@theyahia/retailcrm-mcp"
],
"env": {
"RETAILCRM_URL": "<RETAILCRM_URL>"
}
}
}
}
起動コマンドnpx -y @theyahia/retailcrm-mcp
設定が必要な環境変数
RETAILCRM_URLシークレットAPI key for the service

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@theyahia/retailcrm-mcp1.0.0

ツール

3

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
pageintegerいいえページ番号
limitintegerいいえページあたりの結果数
filter_numberstringいいえ注文番号で絞り込みます
filter_statusstringいいえ注文ステータスコードで絞り込みます
filter_date_tostringいいえこの日付より前に作成された注文で絞り込みます(YYYY-MM-DD)
filter_customerstringいいえ顧客名で絞り込みます(一部一致)
filter_date_fromstringいいえこの日付より後に作成された注文で絞り込みます(YYYY-MM-DD)

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

MCP-сервер для RetailCRM — заказы, клиенты и товары интернет-магазина через ИИ

Если вы искали, как подключить RetailCRM к нейросети, поднять заказ или карточку клиента и не собирать отчёты руками — это оно. 39 инструментов и 2 навыка поверх API v5: заказы, клиенты, товары, складские остатки, оплаты, задачи, справочники и аналитика. Спрашиваете «что с заказом 12345» — получаете статус, состав и оплату одним ответом.

Промышленный MCP-сервер для e-commerce CRM RetailCRM. 39 инструментов + 2 навыка-промпта для работы с заказами, клиентами, товарами, остатками, оплатами, задачами, справочниками и аналитикой через API v5.

npm Smithery

Ответы экономят токены по умолчанию

Читающие инструменты возвращают компактную структурированную сводку только из тех полей, которые нужны агенту, а не весь ответ RetailCRM. Подробность настраивается на каждый вызов:

ПараметрЧто делает
(по умолчанию)detail:"summary" — ключевые поля + блок pagination
detail:"full"Все структурированные поля (позиции, доставка, оплаты, адрес…)
raw:trueНетронутый ответ RetailCRM (для отладки)

⚠️ v3 ломает совместимость с v2: по умолчанию отдаётся структурированная сводка, а не сырой JSON. Передайте raw:true, чтобы вернуть прежний формат.

Инструменты (39)

Заказы
ИнструментОписание
list_ordersСписок заказов по статусу, клиенту, номеру, периоду
get_orderОдин заказ по ID или externalId
create_orderСоздать заказ; привязать существующего клиента (customer_id/customer_external_id) или завести нового прямо в вызове
update_orderИзменить статус, клиента, доставку, комментарии
orders_historyИстория изменений заказов, включая смены статусов (инкрементальная синхронизация)
Клиенты
ИнструментОписание
list_customersПоиск клиентов по имени, e-mail, телефону, дате
get_customerОдин клиент по ID или externalId
create_customerСоздать клиента
update_customerИзменить существующего клиента
merge_customersОбъединить дубли (разрушающая операция)
customers_historyЛог изменений клиентов (прирост/отток, инкрементальная синхронизация)
Товары и остатки
ИнструментОписание
list_productsТовары каталога по названию, группе, активности, цене
list_product_groupsДерево товарных категорий
store_inventoriesОстатки и себестоимость по торговым предложениям и складам
Оплаты
ИнструментОписание
order_payment_createЗафиксировать оплату по заказу
order_payment_editИзменить оплату
order_payment_deleteУдалить оплату (разрушающая операция)
Заметки и задачи
ИнструментОписание
customer_notes_list / customer_notes_create / customer_notes_deleteПроизвольные заметки по клиенту
tasks_list / tasks_create / tasks_editЗадачи и напоминания
Маркетинг и финансы
ИнструментОписание
list_segmentsСегменты клиентов (RFM и маркетинговые когорты)
list_costs / create_costЗаписи расходов для аналитики маржи
Файлы
ИнструментОписание
files_list / files_get / files_uploadПрикрепление и получение файлов (загрузка сырым octet-stream)
Справочники
ИнструментОписание
list_statuses / list_delivery_types / list_payment_types / list_storesСправочники статусов, доставок, оплат и магазинов
list_sitesСайты, доступные ключу API (для заполнения параметра site)
list_countries / list_order_types / list_order_methodsСправочники адресов и заказов
Аналитика
ИнструментОписание
get_orders_summaryСтатистика заказов за период: точное количество и выручка, средний чек, распределение по статусам
get_customers_summaryКоличество новых клиентов за период

Навыки-промпты (2)

НавыкОписание
new-ordersБыстрый ежедневный обзор сегодняшних заказов
customer-searchНайти клиента по имени, e-mail или телефону

Настройка

  1. В RetailCRM откройте Настройки → Интеграция → Ключи API.
  2. Создайте ключ API с нужными правами (заказы, клиенты, склад, справочники). Для мультисайтового ключа передавайте код site в инструментах создания и изменения (см. list_sites).
  3. Запомните свой домен (часть yourstore из yourstore.retailcrm.ru).

Переменные окружения

ПеременнаяОбяз.Описание
RETAILCRM_DOMAINдаДомен вашего RetailCRM (например, yourstore.retailcrm.ru)
RETAILCRM_API_KEYдаКлюч API (передаётся в заголовке X-API-KEY)
RETAILCRM_READONLYнет1 — оставить только читающие инструменты (скрыть create/update/merge/delete)
RETAILCRM_RATE_LIMITнетКлиентское ограничение запросов в секунду (RetailCRM допускает ~10/с)
PORT / HOSTнетПривязка HTTP-сервера (по умолчанию 3000 / 127.0.0.1, только в режиме --http)
RETAILCRM_HTTP_ALLOWED_HOSTSнетРазрешённые значения Host через запятую для защиты от DNS-rebinding
RETAILCRM_DNS_PROTECTIONнетoff — отключить защиту от DNS-rebinding (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 --http
  • POST /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. Клиент и его история заказов: «Найди клиента с почтой [email protected]. Покажи полный профиль и последние заказы.»

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


Часть WWmcp · Telegram: @vhodvai

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。