Cdek

io.github.dontsovcmc由 GitHub 帳號 dontsovcmc 發布v0.6.0更新於 Oct 24, 2026

MCP server for CDEK delivery service API — create orders, track shipments, search delivery points

已驗證STDIO僅桌面效率與工作流商業與電商

概覽

AI 產生的概覽

面向 CDEK 配送 API 的本機 MCP 伺服器,讓助理建立訂單、追蹤包裹、尋找取件點並下載標籤。

可以做什麼
建立配送訂單(從寄件方或寄給自己,送至取件點或到府),並依 CDEK 單號追蹤包裹,同時下載訂單的條碼、標籤與提單 PDF。依名稱或城市搜尋 CDEK 城市與取件點。管理本機商品目錄:列出、新增與刪除含重量、尺寸與價格的商品。檢視與設定組態,例如寄件人資訊、自有取件點代碼與預設商品參數。
適用情境
當你透過 CDEK 寄件,希望助理在對話中準備訂單、查詢取件點與城市、追蹤物流,或取得可列印的標籤與提單時適用。
執行需求
以 Python 套件形式在本機執行(uvx 或 pip install mcp-server-cdek)。需要 CDEK 帳戶的 API Client ID 與 Client Secret,透過環境變數 CDEK_CLIENT 與 CDEK_SECRET 提供。需要連線至 CDEK API 的網路。寄件人資訊可透過 config_set 或選用的 CDEK_SENDER_* 變數設定。
安裝前請注意
需要 CDEK_CLIENT 與 CDEK_SECRET 憑證;README 表示金鑰保留在本機,但訂單資料會傳送至 CDEK API。建立訂單是真實且可能產生費用的寄件動作,涉及收件人姓名、電話與地址。商品與組態會寫入使用者設定目錄下的本機檔案。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cdek,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-server-cdek

[Version]

MCP-сервер, CLI-утилита и библиотека Pydantic-моделей для API СДЭК v2.

  • MCP-сервер — интеграция с Claude Code, Claude Desktop и другими MCP-клиентами
  • CLI-утилита — работа с API из терминала, скрипты и автоматизация
  • Pydantic-модели — типизированные модели API для использования в своих Python-программах

Все данные остаются на вашем компьютере — ключи никуда не передаются.

Оглавление

Возможности

Доставка

ИнструментCLIОписание
cdek_create_ordercreate-orderСоздать заказ на доставку (от меня / ко мне, на ПВЗ / до двери)
cdek_tracktrackОтследить заказ по номеру СДЭК
cdek_barcodebarcodeСкачать PDF штрихкода для заказа
cdek_labellabelСкачать этикетку (A4/A5/A6/A7, по умолчанию A6 ~70x120мм)
cdek_waybillwaybillСкачать PDF накладной для заказа
cdek_delivery_pointsdelivery-pointsПоиск ПВЗ в городе
cdek_citiescitiesПоиск городов СДЭК по названию

Локальный справочник товаров

ИнструментCLIОписание
goods_listgoods listСписок всех товаров
goods_addgoods addДобавить товар (название, вес, габариты, цена)
goods_removegoods removeУдалить товар по названию

Товары хранятся локально в ~/.config/mcp-server-cdek/goods.json. При создании заказа параметры берутся из справочника (если не указаны явно).

Настройки

ИнструментCLIОписание
config_show—Показать текущую конфигурацию (отправитель, ПВЗ, дефолты товара)
config_set—Установить значение конфигурации

Настройки хранятся в ~/.config/mcp-server-cdek/config.json. Можно настроить через Claude: «установи компанию-отправителя ООО Рога».


MCP-сервер

Установка

Шаг 1. Получить ключи API СДЭК
  1. Зарегистрируйтесь в личном кабинете СДЭК
  2. Перейдите в Настройки → Интеграция
  3. Скопируйте Client ID и Client Secret
Шаг 2. Подключить MCP-сервер

Подключение к Claude Code

Способ 1: через uvx (не требует установки пакета)

Требуется uv — если не установлен:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh
bash
claude mcp add cdek \  -e CDEK_CLIENT=ваш_client_id \  -e CDEK_SECRET=ваш_client_secret \  -- uvx mcp-server-cdek

Способ 2: через pip

bash
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 (см. ниже).

Для удаления:

bash
claude mcp remove cdek

Подключение к Claude Desktop

Добавьте в конфигурационный файл:

КлиентОСПуть к файлу
Claude Codeвсе~/.claude/settings.json (секция mcpServers)
Claude DesktopmacOS~/Library/Application Support/Claude/claude_desktop_config.json
Claude DesktopWindows%APPDATA%\Claude\claude_desktop_config.json
Claude DesktopLinux~/.config/Claude/claude_desktop_config.json

Через uvx:

json
{  "mcpServers": {    "cdek": {      "command": "uvx",      "args": ["mcp-server-cdek"],      "env": {        "CDEK_CLIENT": "ваш_client_id",        "CDEK_SECRET": "ваш_client_secret"      }    }  }}

Через pip (после pip install mcp-server-cdek):

json
{  "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-строки:

bash
claude --mcp-config '{"cdek":{"command":"bash","args":["-c","source ~/.env.mcp && exec uvx mcp-server-cdek"]}}'

Из файла:

bash
claude --mcp-config ~/mcp-servers.json

Пример ~/mcp-servers.json:

json
{  "cdek": {    "command": "bash",    "args": ["-c", "source ~/.env.mcp && exec uvx mcp-server-cdek"]  }}

Пример ~/.env.mcp:

CDEK_CLIENT=ваш_client_idCDEK_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)

bash
pip install mcp-server-cdek

Переменные окружения CDEK_CLIENT и CDEK_SECRET обязательны:

bash
export CDEK_CLIENT=ваш_client_idexport CDEK_SECRET=ваш_client_secret

Или через файл:

bash
mcp-server-cdek --env /path/to/.env <command>

Формат файла — KEY=VALUE, по одной переменной на строку, #-комментарии.

Данные отправителя берутся из ~/.config/mcp-server-cdek/config.json или переменных окружения.

Использование (CLI)

Без аргументов запускается MCP-сервер, с командой — CLI. Все команды выводят JSON.

bash
# Версияmcp-server-cdek --version
# Справкаmcp-server-cdek --helpmcp-server-cdek <command> --help

Примеры команд

bash
# Создать заказ (от меня на ПВЗ)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.pdfmcp-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 listmcp-server-cdek goods add --name "Wi-Fi модем" --weight 0.17 --height 8 --width 7 --length 10mcp-server-cdek goods remove --name "Wi-Fi модем"

Pydantic-модели

Пакет содержит типизированные Pydantic-модели всех объектов API СДЭК v2. Модели можно использовать в своих Python-программах для валидации данных и автодополнения в IDE.

Установка (библиотеки)

bash
pip install mcp-server-cdek

Использование в своих программах

python
from mcp_server_cdek.models import OrderRequest, TariffRequest, Location, Package, Item
# Валидация данных из APIdata = {"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


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

ПеременнаяОбязательнаяПо умолчаниюОписание
CDEK_CLIENTда—Client ID из личного кабинета СДЭК
CDEK_SECRETда—Client Secret из личного кабинета СДЭК
CDEK_SENDER_COMPANYнет—Название компании отправителя
CDEK_SENDER_NAMEнет—Краткое имя отправителя
CDEK_SENDER_FULL_NAMEнет—Полное ФИО отправителя
CDEK_SENDER_EMAILнет—Email отправителя
CDEK_SENDER_PHONEнет—Телефон отправителя
CDEK_MY_PVZнет—Код вашего ПВЗ (для приёма посылок "ко мне")
CDEK_DEFAULT_PRODUCT_NAMEнетТоварНазвание товара по умолчанию
CDEK_DEFAULT_WEIGHTнет0.17Вес по умолчанию в кг
CDEK_DEFAULT_HEIGHTнет8Высота по умолчанию в см
CDEK_DEFAULT_WIDTHнет7Ширина по умолчанию в см
CDEK_DEFAULT_LENGTHнет10Длина по умолчанию в см
CDEK_TIMEOUTнет30Таймаут HTTP-запросов к API (секунды)
CDEK_FILE_TIMEOUTнет60Таймаут скачивания файлов (секунды)

Настройки отправителя можно также задать через config_set — env vars имеют приоритет над конфиг-файлом.

Разработка

bash
pip install -e ".[test]"ruff check src/ tests/pytest tests/ -v

Лицензия

MIT

來源:README.md,提交 cd52e97

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.6.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。