
Wraps the CDEK v2 delivery API with 16 tools covering the full Russian logistics workflow. You get tariff calculation across routes, order creation and cancellation, shipment tracking by waybill number, city and pickup point search, courier scheduling, and barcode generation for labels. Handles OAuth token management automatically with proactive refresh. Ships with sandbox mode using CDEK's test environment at api.edu.cdek.ru. Reach for this when building e-commerce apps that need delivery integration in Russia or when you want Claude to quote shipping costs, find the nearest parcel locker, or generate waybills without leaving the conversation.
Если вы искали, как подключить доставку СДЭК к Claude или другому ИИ-агенту, — этот сервер закрывает весь цикл отправления через CDEK API v2: расчёт тарифов и сроков, создание и отмена заказов, трекинг по накладной, поиск городов и пунктов выдачи, вызов курьера, штрихкоды и квитанции, вебхуки. Спрашиваете «сколько стоит и как долго везти 2 кг из Москвы в Казань» — получаете сравнение тарифов таблицей, а не форму на сайте. Работает и на тестовом контуре СДЭК, и на боевом.
| Инструмент | Описание |
|---|---|
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 |
~/.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/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"
}
}
}
}
.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"
}
}
}
}
Для веб-развёртываний используйте флаг --http или переменную HTTP_PORT:
HTTP_PORT=3000 npx @theyahia/cdek-mcp --http
Эндпоинты:
POST /mcp — MCP JSON-RPCGET /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.
СДЭК публикует общий тестовый аккаунт для интеграционных проверок:
EMscd6r9JnFiQ3bLoyjJY6eM78JrJceIPjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kh⚠️ СДЭК время от времени меняет этот общий тестовый аккаунт. Если вы получили
OAuth token error (HTTP 401) … invalid_client, публичная пара уже сменилась — запросите собственные ключи песочницы в кабинете интеграции (lk.cdek.ru → Интеграция → Ключи API).
OAuth 2.0, поток Client Credentials, реализован в OAuthStrategy из @theyahia/mcp-core:
Соберите полный ИИ-стек для интернет-магазина вместе с другими серверами WWmcp:
| Сервер | Назначение |
|---|---|
| cdek-mcp | Доставка и логистика |
| dadata-mcp | Проверка адресов, поиск компаний |
Часть серии WWmcp.
«Сколько стоит отправить посылку 2 кг из Москвы в Санкт-Петербург?»
Использует get_cities для поиска кодов городов, затем calculate_tariff_list для сравнения всех доступных тарифов.
«Найди ближайший пункт выдачи СДЭК к Красной площади»
Использует get_cities, чтобы получить city_code Москвы, затем list_delivery_points с latitude: 55.7539, longitude: 37.6208, radius_km: 5 — результаты фильтруются по радиусу и сортируются по расстоянию (у каждого есть поля координаты и расстояние_км).
«Создай заказ на отправку книги из Казани в Новосибирск, вызови курьера и распечатай квитанцию»
Использует 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