cdek-mcp

io.github.theYahia由 GitHub 账号 theYahia 发布v2.0.2更新于 Oct 24, 2026

MCP server for CDEK — delivery, tariffs, tracking, order management (Russia)

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

面向俄罗斯 CDEK 配送服务的 MCP 服务器,让助手计算运费、创建和追踪订单、查找取件点并管理快递员上门取件。

可以做什么
按路线计算配送费用和时效,并比较所有可用资费;按名称、邮编或国家查询城市和地区。创建、查看、列出和取消配送订单,包含寄件人、收件人和货件信息。按 CDEK 运单号追踪包裹。按城市或 GPS 坐标查找取件点和自提柜。生成条码和标签,并输出 PDF 收据或运单。预约并查询快递员上门取件,注册或删除订单状态变更的 webhook 订阅。
适用场景
适合需要让助手回答 CDEK 配送问题、比较资费、下单或取消配送、追踪包裹、查找取件点或安排快递员取件的场景,尤其是俄罗斯电商和物流工作流。
运行要求
通过 npx 以 npm 包 @theyahia/cdek-mcp 在本地运行(需要 Node.js)。需要 CDEK 账户中的 API 凭据:CDEK_CLIENT_ID 和 CDEK_CLIENT_SECRET。可选 CDEK_SANDBOX=true 使用测试环境;HTTP_PORT 可启用 HTTP 传输。需要能访问 CDEK API 的网络。
安装前请注意
连接生产环境时,服务器会创建、取消和修改真实的配送订单、快递员取件和 webhook;测试时请设置 CDEK_SANDBOX=true。它需要 CDEK_CLIENT_ID 和 CDEK_CLIENT_SECRET,这两个凭据可访问 CDEK 账户。README 公开了一组共享的沙箱测试密钥,CDEK 会不定期更换;除测试外不要依赖它。

安装

在 SourceWeft 中

  1. 打开 控制台中的 cdek-mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP-сервер для СДЭК API — 16 инструментов для ИИ-агента: тарифы, заказы, трекинг

Если вы искали, как подключить доставку СДЭК к Claude или другому ИИ-агенту, — этот сервер закрывает весь цикл отправления через CDEK API v2: расчёт тарифов и сроков, создание и отмена заказов, трекинг по накладной, поиск городов и пунктов выдачи, вызов курьера, штрихкоды и квитанции, вебхуки. Спрашиваете «сколько стоит и как долго везти 2 кг из Москвы в Казань» — получаете сравнение тарифов таблицей, а не форму на сайте. Работает и на тестовом контуре СДЭК, и на боевом.

[npm] [CI] [License: MIT]

[Демонстрация: вопрос «сколько стоит и как долго везти 2 кг из Москвы в Казань» — агент вызывает calculate_tariff_list и отвечает таблицей тарифов]

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

Тарифы

ИнструментОписание
calculate_tariffРассчитать стоимость и срок доставки по конкретному тарифу
calculate_tariff_listВсе доступные тарифы с ценами по маршруту

Заказы

ИнструментОписание
create_orderСоздать заказ на доставку с отправителем, получателем и местами
get_orderДетали и статус заказа по UUID
delete_orderОтменить или удалить заказ по UUID
list_ordersПоиск и фильтрация заказов по периоду, номеру ИМ или накладной СДЭК

Трекинг

ИнструментОписание
track_shipmentОтследить отправление по номеру накладной СДЭК

География

ИнструментОписание
get_citiesПоиск по справочнику городов — по названию, индексу или стране
get_regionsПоиск по справочнику регионов — по стране или названию
list_delivery_pointsНайти пункты выдачи и постаматы по городу или GPS-координатам

Штрихкоды и печать

ИнструментОписание
generate_barcodeСформировать штрихкод или этикетку для заказа
print_receiptСформировать PDF квитанции или накладной по заказу

Вызов курьера

ИнструментОписание
create_courier_pickupЗаказать забор груза курьером по заказу
get_courier_pickupПроверить статус заявки на вызов курьера

Вебхуки

ИнструментОписание
create_webhookЗарегистрировать вебхук на смену статуса заказа или фото доставки
delete_webhookУдалить подписку на вебхук по UUID

Быстрый старт

Claude Desktop

~/.config/claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "cdek": {      "command": "npx",      "args": ["-y", "@theyahia/cdek-mcp"],      "env": {        "CDEK_CLIENT_ID": "<YOUR_CLIENT_ID>",        "CDEK_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",        "CDEK_SANDBOX": "true"      }    }  }}

Cursor / Windsurf

.cursor/mcp.json или .windsurf/mcp.json:

json
{  "mcpServers": {    "cdek": {      "command": "npx",      "args": ["-y", "@theyahia/cdek-mcp"],      "env": {        "CDEK_CLIENT_ID": "<YOUR_CLIENT_ID>",        "CDEK_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",        "CDEK_SANDBOX": "true"      }    }  }}

VS Code (Copilot)

.vscode/mcp.json:

json
{  "servers": {    "cdek": {      "command": "npx",      "args": ["-y", "@theyahia/cdek-mcp"],      "env": {        "CDEK_CLIENT_ID": "<YOUR_CLIENT_ID>",        "CDEK_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",        "CDEK_SANDBOX": "true"      }    }  }}

Транспорт Streamable HTTP

Для веб-развёртываний используйте флаг --http или переменную HTTP_PORT:

bash
HTTP_PORT=3000 npx @theyahia/cdek-mcp --http

Эндпоинты:

  • POST /mcp — MCP JSON-RPC
  • GET /mcp — SSE-поток
  • DELETE /mcp — завершение сессии
  • GET /health — проверка состояния

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

ПеременнаяОбяз.Описание
CDEK_CLIENT_IDдаClient ID из личного кабинета СДЭК
CDEK_CLIENT_SECRETдаClient Secret из личного кабинета СДЭК
CDEK_SANDBOXнетtrue — работать в песочнице (api.edu.cdek.ru)
HTTP_PORTнетПорт HTTP-транспорта (включает HTTP-режим)

Где взять ключи API: личный кабинет СДЭК → Интеграция → Ключи API.

Режим песочницы

Задайте CDEK_SANDBOX=true, чтобы работать с тестовым контуром СДЭК (api.edu.cdek.ru). Боевой контур — api.cdek.ru.

СДЭК публикует общий тестовый аккаунт для интеграционных проверок:

  • Client ID: EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI
  • Client Secret: PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kh

⚠️ СДЭК время от времени меняет этот общий тестовый аккаунт. Если вы получили OAuth token error (HTTP 401) … invalid_client, публичная пара уже сменилась — запросите собственные ключи песочницы в кабинете интеграции (lk.cdek.ru → Интеграция → Ключи API).

Авторизация

OAuth 2.0, поток Client Credentials, реализован в OAuthStrategy из @theyahia/mcp-core:

  • Токен запрашивается автоматически при первом обращении
  • Кэширование токена с упреждающим обновлением незадолго до истечения
  • Дедупликация параллельных запросов (одно обновление токена делится между всеми)
  • Автоматический повтор на 401 со сбросом токена

E-commerce-стек

Соберите полный ИИ-стек для интернет-магазина вместе с другими серверами WWmcp:

СерверНазначение
cdek-mcpДоставка и логистика
dadata-mcpПроверка адресов, поиск компаний

Часть серии WWmcp.

Демо-промпты

  1. «Сколько стоит отправить посылку 2 кг из Москвы в Санкт-Петербург?» Использует get_cities для поиска кодов городов, затем calculate_tariff_list для сравнения всех доступных тарифов.

  2. «Найди ближайший пункт выдачи СДЭК к Красной площади» Использует get_cities, чтобы получить city_code Москвы, затем list_delivery_points с latitude: 55.7539, longitude: 37.6208, radius_km: 5 — результаты фильтруются по радиусу и сортируются по расстоянию (у каждого есть поля координаты и расстояние_км).

  3. «Создай заказ на отправку книги из Казани в Новосибирск, вызови курьера и распечатай квитанцию» Использует create_order, затем create_courier_pickup для забора груза и print_receipt для накладной.

Разработка

bash
git clone https://github.com/theYahia/cdek-mcp.gitcd cdek-mcpnpm install
npm run lint        # ESLint (flat config)npm run typecheck   # tsc --noEmitnpm run build       # сборка в dist/npm test            # юнит-тесты (vitest)npm run test:e2e    # e2e smoke-тест (перечисляет инструменты, без реальных ключей)

Запуск сервера локально против песочницы СДЭК (api.edu.cdek.ru) — с общей тестовой парой из раздела Режим песочницы или со своими ключами:

bash
CDEK_SANDBOX=true \CDEK_CLIENT_ID=<YOUR_SANDBOX_CLIENT_ID> \CDEK_CLIENT_SECRET=<YOUR_SANDBOX_CLIENT_SECRET> \npm run dev

Заметки о релизах — в CHANGELOG.md.

Лицензия

MIT


Часть WWmcp · Telegram: @vhodvai

来源:README.md,提交 ce17a7f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v2.0.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分