cdek-mcp

Official registry E-commerce

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @theyahia/cdek-mcp
Claude Code
claude mcp add cdek-mcp -- npx -y @theyahia/cdek-mcp@2.0.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "cdek-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@theyahia/cdek-mcp@2.0.2"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. MCP-сервер для СДЭК API — 16 инструментов для ИИ-агента: тарифы, заказы, трекинг
  2. Инструменты (16)
  3. Быстрый старт
  4. Переменные окружения
  5. Режим песочницы
  6. Авторизация
  7. E-commerce-стек
  8. Демо-промпты
  9. Разработка
  10. Лицензия

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

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

Инструменты (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):

{
  "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:

{
  "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:

{
  "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:

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 для накладной.

Разработка

git clone https://github.com/theYahia/cdek-mcp.git
cd cdek-mcp
npm install

npm run lint        # ESLint (flat config)
npm run typecheck   # tsc --noEmit
npm run build       # сборка в dist/
npm test            # юнит-тесты (vitest)
npm run test:e2e    # e2e smoke-тест (перечисляет инструменты, без реальных ключей)

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

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

Frequently asked questions

What is cdek-mcp?

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

How do I install cdek-mcp?

It runs on your machine. In Claude Code: claude mcp add cdek-mcp -- npx -y @theyahia/cdek-mcp@2.0.2. For other clients, paste the JSON configuration from this page into their MCP settings.

Does cdek-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is cdek-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains cdek-mcp?

It is published by theYahia. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.