cdek
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., "@cdek find pickup points in Moscow"
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-server-cdek
MCP-сервер, CLI-утилита и библиотека Pydantic-моделей для API СДЭК v2.
MCP-сервер — интеграция с Claude Code, Claude Desktop и другими MCP-клиентами
CLI-утилита — работа с API из терминала, скрипты и автоматизация
Pydantic-модели — типизированные модели API для использования в своих Python-программах
Все данные остаются на вашем компьютере — ключи никуда не передаются.
Оглавление
Related MCP server: SF Express MCP Server
Возможности
Доставка
Инструмент | CLI | Описание |
|
| Создать заказ на доставку (от меня / ко мне, на ПВЗ / до двери) |
|
| Отследить заказ по номеру СДЭК |
|
| Скачать PDF штрихкода для заказа |
|
| Скачать этикетку (A4/A5/A6/A7, по умолчанию A6 ~70x120мм) |
|
| Скачать PDF накладной для заказа |
|
| Поиск ПВЗ в городе |
|
| Поиск городов СДЭК по названию |
Локальный справочник товаров
Инструмент | CLI | Описание |
|
| Список всех товаров |
|
| Добавить товар (название, вес, габариты, цена) |
|
| Удалить товар по названию |
Товары хранятся локально в ~/.config/mcp-server-cdek/goods.json. При создании заказа параметры берутся из справочника (если не указаны явно).
Настройки
Инструмент | CLI | Описание |
| — | Показать текущую конфигурацию (отправитель, ПВЗ, дефолты товара) |
| — | Установить значение конфигурации |
Настройки хранятся в ~/.config/mcp-server-cdek/config.json. Можно настроить через Claude: «установи компанию-отправителя ООО Рога».
MCP-сервер
Установка
Шаг 1. Получить ключи API СДЭК
Зарегистрируйтесь в личном кабинете СДЭК
Перейдите в Настройки → Интеграция
Скопируйте Client ID и Client Secret
Шаг 2. Подключить MCP-сервер
Подключение к Claude Code
Способ 1: через uvx (не требует установки пакета)
Требуется uv — если не установлен:
curl -LsSf https://astral.sh/uv/install.sh | sh
claude mcp add cdek \
-e CDEK_CLIENT=ваш_client_id \
-e CDEK_SECRET=ваш_client_secret \
-- uvx mcp-server-cdekСпособ 2: через pip
pip install mcp-server-cdek
claude mcp add cdek \
-e CDEK_CLIENT=ваш_client_id \
-e CDEK_SECRET=ваш_client_secret \
-- python -m mcp_server_cdekДанные отправителя настраиваются через Claude: «установи отправителя: ООО Компания, Иванов И.И., ...» → config_set. Также можно передать через env vars (см. ниже).
Для удаления:
claude mcp remove cdekПодключение к Claude Desktop
Добавьте в конфигурационный файл:
Клиент | ОС | Путь к файлу |
Claude Code | все |
|
Claude Desktop | macOS |
|
Claude Desktop | Windows |
|
Claude Desktop | Linux |
|
Через uvx:
{
"mcpServers": {
"cdek": {
"command": "uvx",
"args": ["mcp-server-cdek"],
"env": {
"CDEK_CLIENT": "ваш_client_id",
"CDEK_SECRET": "ваш_client_secret"
}
}
}
}Через pip (после pip install mcp-server-cdek):
{
"mcpServers": {
"cdek": {
"command": "python",
"args": ["-m", "mcp_server_cdek"],
"env": {
"CDEK_CLIENT": "ваш_client_id",
"CDEK_SECRET": "ваш_client_secret"
}
}
}
}Остальные настройки (отправитель, ПВЗ, дефолты товара) задаются через config_set или env vars (см. таблицу ниже).
Подключение через --mcp-config
Подключает сервер только на время одной сессии Claude, не сохраняя в настройки. Токен хранится в отдельном .env.mcp файле, а не в конфиге Claude.
Из JSON-строки:
claude --mcp-config '{"cdek":{"command":"bash","args":["-c","source ~/.env.mcp && exec uvx mcp-server-cdek"]}}'Из файла:
claude --mcp-config ~/mcp-servers.jsonПример ~/mcp-servers.json:
{
"cdek": {
"command": "bash",
"args": ["-c", "source ~/.env.mcp && exec uvx mcp-server-cdek"]
}
}Пример ~/.env.mcp:
CDEK_CLIENT=ваш_client_id
CDEK_SECRET=ваш_client_secretШаг 3. Проверить
Попросите Claude: «найди ПВЗ СДЭК в Москве на Тверской» — он вызовет cdek_delivery_points.
Примеры (MCP)
«отправь посылку Иванову на ПВЗ MSK005, телефон +79001234567» →
cdek_create_order«отправь посылку до двери: Москва, Тверская 1, Петрову +79007654321» →
cdek_create_order«создай возвратный заказ от Сидорова, адрес: Самара, Ленина 10» →
cdek_create_order(to_me)«отследи посылку СДЭК 1234567890» →
cdek_track«скачай штрихкод для заказа 1234567890» →
cdek_barcode«скачай этикетку для заказа 1234567890» →
cdek_label«скачай этикетку A4 для заказа 1234567890» →
cdek_label(format=A4)«скачай накладную для заказа 1234567890» →
cdek_waybill«найди ПВЗ в Новосибирске» →
cdek_delivery_points«какие города СДЭК есть на "Новосиб"?» →
cdek_cities«добавь товар: Wi-Fi модем, 0.17 кг, 8x7x10 см» →
goods_add«список товаров» →
goods_list
CLI-утилита
Установка (CLI)
pip install mcp-server-cdekПеременные окружения CDEK_CLIENT и CDEK_SECRET обязательны:
export CDEK_CLIENT=ваш_client_id
export CDEK_SECRET=ваш_client_secretИли через файл:
mcp-server-cdek --env /path/to/.env <command>Формат файла — KEY=VALUE, по одной переменной на строку, #-комментарии.
Данные отправителя берутся из ~/.config/mcp-server-cdek/config.json или переменных окружения.
Использование (CLI)
Без аргументов запускается MCP-сервер, с командой — CLI. Все команды выводят JSON.
# Версия
mcp-server-cdek --version
# Справка
mcp-server-cdek --help
mcp-server-cdek <command> --helpПримеры команд
# Создать заказ (от меня на ПВЗ)
mcp-server-cdek create-order --direction from_me --name "Петров Пётр" --phone "+79007654321" --pvz MSK005
# Создать заказ (от меня до двери)
mcp-server-cdek create-order --direction from_me --name "Петров Пётр" --phone "+79007654321" --address "Москва, Тверская 1"
# Создать возвратный заказ (ко мне)
mcp-server-cdek create-order --direction to_me --name "Сидоров" --phone "+79009876543" --address "Самара, Ленина 10"
# Отследить заказ
mcp-server-cdek track 1234567890
# Скачать штрихкод
mcp-server-cdek barcode 1234567890 --output /tmp/barcode.pdf
# Скачать этикетку (по умолчанию A6 ~70x120мм)
mcp-server-cdek label 1234567890 --output /tmp/label.pdf
mcp-server-cdek label 1234567890 --output /tmp/label_a4.pdf --format A4
# Скачать накладную
mcp-server-cdek waybill 1234567890 --output /tmp/waybill.pdf
# Поиск ПВЗ
mcp-server-cdek delivery-points Москва --search Тверская
# Поиск городов
mcp-server-cdek cities Новосиб
# Справочник товаров
mcp-server-cdek goods list
mcp-server-cdek goods add --name "Wi-Fi модем" --weight 0.17 --height 8 --width 7 --length 10
mcp-server-cdek goods remove --name "Wi-Fi модем"Pydantic-модели
Пакет содержит типизированные Pydantic-модели всех объектов API СДЭК v2. Модели можно использовать в своих Python-программах для валидации данных и автодополнения в IDE.
Установка (библиотеки)
pip install mcp-server-cdekИспользование в своих программах
from mcp_server_cdek.models import OrderRequest, TariffRequest, Location, Package, Item
# Валидация данных из API
data = {"tariff_code": 136, "from_location": {"code": 44}, "to_location": {"code": 137}}
req = TariffRequest.model_validate(data)
print(req.tariff_code) # type-safe доступ к полям
# Создание объекта
item = Item(name="Товар", ware_key="ART001", weight=170, cost=1000, amount=1, payment={"value": 0})
print(item.model_dump_json())Все модели используют extra="allow" для forward compatibility — неизвестные поля API не вызывают ошибок.
Полный список моделей: models.py
Переменные окружения
Переменная | Обязательная | По умолчанию | Описание |
| да | — | Client ID из личного кабинета СДЭК |
| да | — | Client Secret из личного кабинета СДЭК |
| нет | — | Название компании отправителя |
| нет | — | Краткое имя отправителя |
| нет | — | Полное ФИО отправителя |
| нет | — | Email отправителя |
| нет | — | Телефон отправителя |
| нет | — | Код вашего ПВЗ (для приёма посылок "ко мне") |
| нет |
| Название товара по умолчанию |
| нет |
| Вес по умолчанию в кг |
| нет |
| Высота по умолчанию в см |
| нет |
| Ширина по умолчанию в см |
| нет |
| Длина по умолчанию в см |
| нет |
| Таймаут HTTP-запросов к API (секунды) |
| нет |
| Таймаут скачивания файлов (секунды) |
Настройки отправителя можно также задать через config_set — env vars имеют приоритет над конфиг-файлом.
Разработка
pip install -e ".[test]"
ruff check src/ tests/
pytest tests/ -vЛицензия
MIT
Available Tools
49 toolscdek_all_tariffsA
Список доступных тарифов (GET /v2/calculator/alltariffs).
Возвращает все доступные и актуальные тарифы по договору.
Args: lang: Language — "rus", "eng" or "zho" (default "rus")
Inputs: lang. Returns: result
cdek_barcodeA
Формирование и скачивание ШК-места (POST /v2/print/barcodes).
Формирует ШК-место в формате PDF для заказа и сохраняет файл.
Args: cdek_number: CDEK tracking number output_path: Absolute path to save PDF (e.g. /tmp/1234567890.pdf)
Inputs: cdek_number (required), output_path (required). Returns: result
cdek_calculate_tariffA
Расчет по коду тарифа (POST /v2/calculator/tariff).
Расчет стоимости и сроков доставки по конкретному тарифу с учетом весо-габаритных характеристик.
Args: tariff_code: CDEK tariff code (e.g. 136 warehouse-warehouse, 137 warehouse-door) from_city: Sender city name (e.g. "Москва") to_city: Recipient city name (e.g. "Новосибирск") weight_kg: Package weight in kg length: Package length in cm (default 10) width: Package width in cm (default 10) height: Package height in cm (default 10)
Inputs: to_city (required), from_city (required), weight_kg (required), tariff_code (required), +3 more. Returns: result
cdek_calculate_tariff_and_serviceC
Расчет по доступным тарифам и дополнительным услугам (POST /v2/calculator/tariffAndService).
Расчет стоимости и сроков доставки по доступным тарифам с учетом дополнительных услуг.
Args: from_city: Sender city name to_city: Recipient city name weight_kg: Package weight in kg length: Package length in cm (default 10) width: Package width in cm (default 10) height: Package height in cm (default 10)
Inputs: to_city (required), from_city (required), weight_kg (required), width, +2 more. Returns: result
cdek_calculate_tarifflistB
Расчет по доступным тарифам (POST /v2/calculator/tarifflist).
Расчет стоимости и сроков доставки по всем доступным тарифам между двумя городами.
Args: from_city: Sender city name to_city: Recipient city name weight_kg: Package weight in kg length: Package length in cm (default 10) width: Package width in cm (default 10) height: Package height in cm (default 10)
Inputs: to_city (required), from_city (required), weight_kg (required), width, +2 more. Returns: result
cdek_checksA
Получение информации о чеках (GET /v2/check).
Информация о чеке по заказу или за выбранный день. Provide at least one filter: order_uuid, cdek_number, or date.
Args: order_uuid: Order UUID cdek_number: CDEK tracking number date: Date in YYYY-MM-DD format (дата создания чека)
Inputs: date, order_uuid, cdek_number. Returns: result
cdek_citiesA
Получение списка населенных пунктов (GET /v2/location/cities).
Возвращает коды городов СДЭК, необходимые для других операций.
Args: city: City name or part of it (e.g. "Новосиб")
Inputs: city (required). Returns: result
cdek_client_returnA
Регистрация клиентского возврата (POST /v2/orders/{uuid}/clientReturn).
Оформление возврата для интернет-магазинов. Создается только для заказов в конечном статусе "Вручен". Отличие от обычного возврата: возврат оформляет сам клиент.
Args: uuid: Order UUID (идентификатор прямого заказа) tariff_code: Tariff code for return delivery (e.g. 136)
Inputs: uuid (required), tariff_code (required). Returns: result
cdek_coordinatesA
Получение локации по координатам (GET /v2/location/coordinates).
Args: latitude: Latitude (e.g. 55.7558) longitude: Longitude (e.g. 37.6173)
Inputs: latitude (required), longitude (required). Returns: result
cdek_create_deliveryA
Регистрация договоренности о доставке (POST /v2/delivery).
Фиксирует оговоренные с клиентом дату и время доставки (приезда курьера), а также позволяет изменить адрес доставки.
At least one of cdek_number or order_uuid must be provided.
Args: date: Delivery date YYYY-MM-DD (согласованная с получателем) cdek_number: CDEK order number order_uuid: Order UUID (alternative to cdek_number) time_from: Delivery time from HH:MM (обязательно для "до двери") time_to: Delivery time to HH:MM (обязательно для "до двери") comment: Comment for delivery delivery_point: Delivery point code (обязательно для "до склада")
Inputs: date (required), comment, time_to, time_from, +3 more. Returns: result
cdek_create_intakeA
Регистрация заявки на вызов курьера (POST /v2/intakes).
Вызов курьера для забора груза со склада с последующей доставкой до склада СДЭК. Рекомендуемый минимальный диапазон времени — не менее 3 часов.
At least one of cdek_number or order_uuid must be provided.
Args: intake_date: Pickup date YYYY-MM-DD (не более 31 дня от текущей) cdek_number: CDEK order number order_uuid: Order UUID (alternative to cdek_number) intake_time_from: Pickup time from HH:MM (default 09:00, не ранее 9:00) intake_time_to: Pickup time to HH:MM (default 18:00, не позднее 22:00) comment: Comment for the courier name: Cargo description
Inputs: intake_date (required), name, comment, order_uuid, +3 more. Returns: result
cdek_create_orderA
Регистрация заказа на доставку (POST /v2/orders).
Создает в ИС СДЭК заказ на доставку. Работает асинхронно — статус ACCEPTED не гарантирует создание, результат проверяется через методы получения информации.
Two directions:
"from_me": send from my warehouse/PVZ to recipient's PVZ (tariff 136) or door (tariff 137)
"to_me": receive from sender to my PVZ (returns, tariff 136). Requires my_pvz in config.
If product parameters are not specified, defaults from goods catalog or config are used.
Args: direction: "from_me" or "to_me" recipient_name: Recipient full name (получатель) recipient_phone: Phone in international format (e.g. "+79001234567") pvz: PVZ code (e.g. "MSK005") or address for PVZ search. For from_me warehouse delivery. address: Full delivery address for door delivery (from_me) or sender address (to_me) recipient_email: Email (optional) product_name: Product name (overrides defaults) weight: Weight per unit in kg (overrides defaults) height: Height in cm (overrides defaults) width: Width in cm (overrides defaults) length: Length in cm (overrides defaults) quantity: Number of items (default 1) price: Declared value per unit in rubles (overrides defaults)
Inputs: direction (required), recipient_name (required), recipient_phone (required), pvz, +9 more. Returns: result
cdek_create_prealertB
Регистрация преалерта (POST /v2/prealert).
Информирование СДЭК о намерении передать заказы на склад. Реестр заказов, которые клиент собирается передать.
Args: planned_date: Planned date YYYY-MM-DD (планируемая дата передачи) shipment_point: Shipment point code (код ПВЗ для передачи, e.g. "MSK005") cdek_numbers: Comma-separated CDEK numbers
Inputs: cdek_numbers (required), planned_date (required), shipment_point (required). Returns: result
cdek_create_webhookB
Добавление подписки на вебхуки (POST /v2/webhooks).
Типы: ORDER_STATUS, PRINT_FORM, PREALERT_CLOSED, ACCOMPANYING_WAYBILL, ORDER_CHANGED, DELIVERY_COST_CHANGED, DELIVERY_PROBLEM, DELIVERY_DATE_CHANGED, ORDER_MODE_CHANGED, COURIER_INFO.
Args: type: Webhook type (e.g. ORDER_STATUS, PRINT_FORM) url: URL to receive webhook events
Inputs: url (required), type (required). Returns: result
cdek_delete_intakeA
Удаление заявки на вызов курьера (DELETE /v2/intakes/{uuid}).
Заявку можно удалить в любом статусе, отличном от финального.
Args: uuid: Intake request UUID
Inputs: uuid (required). Returns: result
cdek_delete_orderA
Удаление заказа (DELETE /v2/orders/{uuid}).
Удаление возможно только при отсутствии движения груза на складе СДЭК (статус "Создан").
Args: uuid: Order UUID to delete
Inputs: uuid (required). Returns: result
cdek_delete_webhookA
Удаление подписки по UUID (DELETE /v2/webhooks/{uuid}).
Args: uuid: Webhook subscription UUID
Inputs: uuid (required). Returns: result
cdek_delivery_intervalsA
Получение интервалов доставки (GET /v2/delivery/intervals).
Возвращает доступные даты и временные интервалы для регистрации договоренности о доставке по уже созданному заказу.
At least one of cdek_number or order_uuid must be provided.
Args: cdek_number: CDEK order number order_uuid: Order UUID
Inputs: order_uuid, cdek_number. Returns: result
cdek_delivery_pointsA
Получение списка офисов СДЭК (GET /v2/deliverypoints).
Возвращает список действующих ПВЗ и постаматов в городе. Рекомендуется обновлять список офисов раз в сутки.
Args: city: City name (e.g. "Москва", "Санкт-Петербург") search: Optional address substring to filter (e.g. "Тверская")
Inputs: city (required), search. Returns: result
cdek_download_photosB
Скачивание готового архива с фото (GET /v2/photoDocument/{uuid}).
Скачивает архив с фото документов в zip-формате.
Args: uuid: Photo document request UUID output_path: Absolute path to save the zip archive
Inputs: uuid (required), output_path (required). Returns: result
cdek_estimated_intervalsB
Получение интервалов доставки до создания заказа (POST /v2/delivery/estimatedIntervals).
Позволяет получить доступные интервалы доставки "до двери" до создания заказа.
Args: to_city: Recipient city name from_city: Sender city name (e.g. "Москва") tariff_code: CDEK tariff code (default 136) date_time: Date-time ISO format (планируемая дата отправки) shipment_point: Shipment point code (для тарифов "от склада")
Inputs: to_city (required), date_time, from_city, tariff_code, +1 more. Returns: result
cdek_get_deliveryB
Получение информации о договоренности о доставке (GET /v2/delivery/{uuid}).
Args: uuid: Delivery UUID
Inputs: uuid (required). Returns: result
cdek_get_intakeA
Получение информации о заявке по UUID (GET /v2/intakes/{uuid}).
Args: uuid: Intake request UUID
Inputs: uuid (required). Returns: result
cdek_get_orderA
Получение информации о заказе по UUID (GET /v2/orders/{uuid}).
Возвращает детальную информацию о ранее созданном заказе по его идентификатору. Также позволяет получить информацию о заказах, созданных через другие каналы.
Args: uuid: Order UUID (идентификатор заказа в ИС СДЭК)
Inputs: uuid (required). Returns: result
cdek_get_order_by_im_numberA
Получение информации о заказе по номеру ИМ (GET /v2/orders?im_number=).
Возвращает информацию о заказе по номеру в информационной системе клиента.
Args: im_number: Order number in client's system (номер заказа в ИС Клиента)
Inputs: im_number (required). Returns: result
cdek_get_prealertA
Получение информации о преалерте (GET /v2/prealert/{uuid}).
Args: uuid: Prealert UUID
Inputs: uuid (required). Returns: result
cdek_get_webhookA
Получение информации о подписке по UUID (GET /v2/webhooks/{uuid}).
Args: uuid: Webhook subscription UUID
Inputs: uuid (required). Returns: result
cdek_intake_available_daysA
Получение дат вызова курьера для НП (POST /v2/intakes/availableDays).
Возвращает доступные даты для забора груза курьером со склада.
Args: city: City name (e.g. "Москва") date: До какого числа включительно получить дни (по умолчанию: сегодня + 2 недели)
Inputs: city (required), date. Returns: result
cdek_international_restrictionsA
Получение ограничений по международным заказам (POST /v2/international/package/restrictions).
Ограничения по направлению и тарифу для международного заказа.
Args: tariff_code: CDEK tariff code (0 to omit) from_city: Origin city name to_city: Destination city name
Inputs: to_city, from_city, tariff_code. Returns: result
cdek_labelB
Формирование и скачивание ШК-места с выбором формата (POST /v2/print/barcodes).
Формирует ШК-место в формате PDF с указанным размером и сохраняет файл.
Args: cdek_number: CDEK tracking number output_path: Absolute path to save PDF (e.g. /tmp/1234567890_label.pdf) format: Print format — A4 (4 per page), A5 (2 per page), A6 (default, ~70x120mm), A7 (small)
Inputs: cdek_number (required), output_path (required), format. Returns: result
cdek_list_webhooksA
Получение информации о подписках на вебхуки (GET /v2/webhooks).
Inputs: no named parameters. Returns: result
cdek_order_intakesC
Получение информации о всех заявках по заказу (GET /v2/orders/{uuid}/intakes).
Args: order_uuid: Order UUID
Inputs: order_uuid (required). Returns: result
cdek_order_refusalA
Регистрация отказа (POST /v2/orders/{uuid}/refusal).
Регистрация отказа от заказа и возврат в интернет-магазин. Заказ может быть отменен в любом статусе до "Вручен"/"Не вручен". Для статуса "Создан" рекомендуется использовать удаление заказа.
Args: uuid: Order UUID to refuse
Inputs: uuid (required). Returns: result
cdek_passportA
Получение информации о паспортных данных (GET /v2/passport).
Информация о готовности передавать заказы на таможню по международным заказам. Provide at least one of cdek_number, order_uuid, or client.
Args: cdek_number: CDEK tracking number order_uuid: Order UUID client: Client filter (если не передано — и по отправителю, и по получателю)
Inputs: client, order_uuid, cdek_number. Returns: result
cdek_postalcodesA
Получение почтовых индексов города (GET /v2/location/postalcodes).
Args: city_code: CDEK city code (use cdek_cities to find it)
Inputs: city_code (required). Returns: result
cdek_regionsA
Получение списка регионов (GET /v2/location/regions).
Возвращает детальную информацию о регионах с возможностью фильтрации по стране.
Args: country_codes: Country codes in ISO_3166-1_alpha-2 (e.g. "RU", "KZ"). Empty for all. size: Max number of results (default 5)
Inputs: size, country_codes. Returns: result
cdek_registriesB
Получение информации о реестрах наложенных платежей (GET /v2/registries).
Реестры НП, по которым клиенту был переведен наложенный платеж в заданную дату.
Args: date: Date in YYYY-MM-DD format
Inputs: date (required). Returns: result
cdek_request_photosA
Получение заказов с готовыми фото (POST /v2/photoDocument).
Возвращает перечень заказов со ссылками на готовые к скачиванию архивы с фото. Требуется подключенная фотоуслуга и настроенный фотопроект.
Provide at least one filter: date range (period_begin/period_end) or cdek_numbers.
Args: period_begin: Start date (YYYY-MM-DD) period_end: End date (YYYY-MM-DD) cdek_numbers: Comma-separated CDEK numbers (e.g. "1234567890,9876543210")
Inputs: period_end, cdek_numbers, period_begin. Returns: result
cdek_reverse_availabilityA
Проверка доступности реверса (POST /v2/reverse/availability).
Проверяет доступность обратной доставки до создания прямого заказа. При доступности возвращается пустой ответ с кодом 200.
Args: tariff_code: CDEK tariff code (e.g. 136) from_city: Sender city name to_city: Recipient city name shipment_point: Shipment point code (для тарифов "от склада") delivery_point: Delivery point code (для тарифов "до склада")
Inputs: tariff_code (required), to_city, from_city, delivery_point, +1 more. Returns: result
cdek_suggest_citiesA
Подбор локации по названию города (GET /v2/location/suggest/cities).
Возвращает подсказки по подбору населенного пункта по его наименованию.
Args: name: City name or prefix (e.g. "Моск") country_code: Country code in ISO_3166-1_alpha-2 (e.g. "RU"). Empty for all.
Inputs: name (required), country_code. Returns: result
cdek_trackB
Получение информации о заказе по номеру СДЭК (GET /v2/orders).
Возвращает статус заказа, историю статусов и детали доставки. Также позволяет получить информацию о заказах, созданных через ЛК и другие каналы.
Args: cdek_number: CDEK tracking number (e.g. 1234567890)
Inputs: cdek_number (required). Returns: result
cdek_update_intakeC
Изменение статуса заявки на вызов курьера (PATCH /v2/intakes).
Изменяет статус заявки на "Требует обработки" с дополнительными статусами.
Args: uuid: Intake request UUID status_code: New status code
Inputs: uuid (required), status_code (required). Returns: result
cdek_update_orderA
Изменение заказа (PATCH /v2/orders).
Изменение созданного ранее заказа. Возможно только при отсутствии движения груза на складе СДЭК (статус заказа "Создан").
At least one of uuid or cdek_number must be provided.
Args: uuid: Order UUID (идентификатор в ИС СДЭК) cdek_number: CDEK tracking number (alternative to uuid) comment: New comment for the order delivery_point: New delivery point code
Inputs: uuid, comment, cdek_number, delivery_point. Returns: result
cdek_waybillA
Формирование и скачивание квитанции к заказу (POST /v2/print/orders).
Формирует квитанцию (накладную) в формате PDF и сохраняет файл.
Args: cdek_number: CDEK tracking number output_path: Absolute path to save PDF (e.g. /tmp/1234567890_waybill.pdf)
Inputs: cdek_number (required), output_path (required). Returns: result
config_setA
Update a configuration value in ~/.config/mcp-server-cdek/config.json.
Args: section: Config section — "sender", "my_pvz", or "product_defaults" key: Setting key. For sender: company, name, full_name, email, phone. For product_defaults: name, weight, height, width, length. For my_pvz: ignored (pass any value). value: New value (numbers are auto-converted for product_defaults)
Inputs: key (required), value (required), section (required). Returns: result
config_showA
Show current CDEK server configuration (sender, PVZ, product defaults).
Reads from ~/.config/mcp-server-cdek/config.json. Does not show API credentials.
Inputs: no named parameters. Returns: result
goods_addA
Add a new good to local catalog.
Args: name: Product name (e.g. "Wi-Fi модем") weight: Weight per unit in kg (e.g. 0.17) height: Height in cm (e.g. 8) width: Width in cm (e.g. 7) length: Length in cm (e.g. 10) price: Declared value per unit in rubles (default 100.0)
Inputs: name (required), width (required), height (required), length (required), +2 more. Returns: result
goods_listA
List all goods from local catalog (~/.config/mcp-server-cdek/goods.json).
Returns JSON array of goods with name, weight (kg), height/width/length (cm), price.
Inputs: no named parameters. Returns: result
goods_removeA
Remove a good from local catalog by exact name.
Args: name: Exact product name to remove
Inputs: name (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 49 tools
Most tools have distinct purposes, but cdek_barcode and cdek_label both print barcodes with only format difference, causing slight confusion. Similarly, cdek_calculate_tariff, cdek_calculate_tarifflist, and cdek_calculate_tariff_and_service overlap in function. Overall, boundaries are clear for the majority.
CDEK operations consistently use 'cdek_verb_noun' pattern, but local tools (goods_list, goods_add, config_show) break the prefix convention, creating inconsistency. Some names like cdek_order_intakes or cdek_delivery_points use noun_noun instead of verb_noun.
With 49 tools, the server attempts to cover the full CDEK API plus local catalog/configuration. This is excessive for an MCP server, overwhelming agents and making tool selection error-prone. A more focused subset (15-20) would be appropriate.
The tool set covers major CDEK operations: order lifecycle, tracking, printing, tariff calculation, intakes, deliveries, webhooks, and location services. Only minor gaps exist (e.g., missing order status history or some document types), but core workflows are well-supported.
Related MCP Connectors
Russian APIs for AI agents: YooKassa, CDEK, Bitrix24 and more. Ready scenarios with code. No key.
Furgonetka MCP Server is an extension for LLMs (such as Claude) that integrates AI assistants with Poland's most popular courier brokerage platform. The server enables models to interact directly with services from various couriers (including InPost, DPD, DHL, UPS, and Poczta Polska) through a single, unified interface. With this integration, your AI stops just "writing about logistics" and starts actually managing it.
India shipping for AI agents: Shiprocket courier serviceability, create orders, track AWB.
Brazil's Correios for AI agents: shipping quotes (frete), tracking (rastreio) and labels (etiqueta).
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Shiprocket shipping services to check courier rates and delivery times, create and manage orders, ship packages, track shipments, and schedule pickups through natural language commands.6 npm29ISC
- AlicenseNot gradedqualityDmaintenanceEnables integration with SF Express shipping and logistics APIs for order management, shipment tracking, route queries, and logistics services through natural language interactions.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to track and manage deliveries by interacting with the Parcel delivery tracking API. Users can add new shipments, retrieve active delivery statuses, and look up carrier information through natural language.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables courier rate checks, order management, shipping, and tracking via Shiprocket's API through natural language.6 npmISC