cdek-mcp
cdek-mcp
CDEK 配送 API(v2)用の MCP サーバーです。配送ライフサイクル全体をカバーする 16 のツールを備えています:料金計算、注文管理、配送追跡、場所の検索、宅配便集荷、バーコード/領収書の生成、Webhooks。
ツール(16)
料金
ツール | 説明 |
| 特定の料金プランに対する配送料金と時間を計算します |
| 特定の経路で利用可能なすべての料金プランと価格を取得します |
注文
ツール | 説明 |
| 送り主、受取人、荷物を指定して配送注文を作成します |
| UUID で注文の詳細とステータスを取得します |
| UUID で注文をキャンセル/削除します |
| 日付範囲、IM 番号、または CDEK 送り状番号で注文を検索/絞り込みます |
追跡
ツール | 説明 |
| CDEK 送り状番号で荷物を追跡します |
場所
ツール | 説明 |
| 都市名、郵便番号、または国で都市ディレクトリを検索します |
| 国名または地域名で地域ディレクトリを検索します |
| 都市または GPS 座標で受け取り場所と宅配ロッカーを検索します |
バーコードと印刷
ツール | 説明 |
| 注文のバーコード/ラベルを生成します |
| 注文の領収書/送り状 PDF を生成します |
宅配便集荷
ツール | 説明 |
| 注文の宅配便集荷を予約します |
| 宅配便集荷リクエストのステータスを確認します |
Webhooks
ツール | 説明 |
| 注文ステータスの更新または配達写真用のウェブフックを登録します |
| UUID でウェブフックの購読を削除します |
Related MCP server: Parcel MCP Server
クイックスタート
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 Transport
Web デプロイの場合、--http フラグまたは HTTP_PORT 環境変数を使用します:
HTTP_PORT=3000 npx @theyahia/cdek-mcp --httpエンドポイント:
POST /mcp— MCP JSON-RPCGET /mcp— SSE ストリームDELETE /mcp— セッション終了GET /health— ヘルスチェック
環境変数
変数 | 必須 | 説明 |
| はい | CDEK ダッシュボードのクライアント ID |
| はい | CDEK ダッシュボードのクライアントシークレット |
| いいえ | サンドボックスを使用する場合は |
| いいえ | HTTP トランスポート用のポート(HTTP モードを有効化) |
API キーを取得:CDEK Dashboard > 統合 > API キー。
サンドボックスモード
CDEK のテスト環境(api.edu.cdek.ru)を使用するには、CDEK_SANDBOX=true を設定します。本番環境では api.cdek.ru を使用します。
CDEK は統合テスト用の共有サンドボックスアカウントを公開しています:
クライアント ID:
EMscd6r9JnFiQ3bLoyjJY6eM78JrJceIクライアントシークレット:
PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kh
⚠️ CDEK はこの共有テストアカウントを随時ローテーションします。
OAuth token error (HTTP 401) … invalid_clientが発生した場合、公開ペアはローテーション済みです — CDEK 統合ダッシュボード(lk.cdek.ru → 統合 → API キー)から独自のサンドボックスキーをリクエストしてください。
認証
OAuth 2.0 クライアントクレデンシャルフローは、@theyahia/mcp-core の OAuthStrategy によって処理されます:
最初のリクエスト時に自動でトークンを取得
有効期限直前にプロアクティブに更新するトークンキャッシュ
同時リクエストの重複排除(実行中のトークン更新は 1 つに共有されます)
401 発生時にトークンを無効化し自動リトライ
Eコマーススタック
完全な Eコマース AI スタックを構築するには、他の russian-mcp サーバーと組み合わせて使用します:
サーバー | 用途 |
cdek-mcp | 配送・物流 |
住所検証、企業検索 |
russian-mcp シリーズの一部です。
デモプロンプト
「モスクワからサンクトペテルブルクへ 2kg の小包を送るといくらかかりますか?」
get_citiesを使用して都市コードを検索し、calculate_tariff_listで利用可能なすべての料金プランを比較します。「赤の広場に最も近い CDEK 受け取り場所を探す」
get_citiesを使用してモスクワのcity_codeを特定し、latitude: 55.7539、longitude: 37.6208、radius_km: 5を指定してlist_delivery_pointsを使用します。結果は半径内に絞り込まれ、距離順に並べ替えられます(各結果にはкоординатыとрасстояние_кмが注記されます)。「カザンからノボシビルスクに本を送る注文を作成し、宅配便集荷を予約して、領収書を印刷する」
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 # emit dist/
npm test # unit tests (vitest)
npm run test:e2e # e2e smoke test (lists tools, no real credentials)CDEK サンドボックス(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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot 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.1129
- FlicenseNot gradedqualityBmaintenanceEnables 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.2
- AlicenseBqualityDmaintenanceIntegrates with CDEK delivery API to manage orders, track shipments, find pickup points, and handle delivery labels and barcodes through natural language.49MIT
- FlicenseNot gradedqualityCmaintenanceEnables courier rate checks, order management, shipping, and tracking via Shiprocket's API through natural language.11
Related MCP Connectors
Multi-carrier shipping for AI agents: compare rates, buy labels, track packages, validate addresses
India shipping for AI agents: Shiprocket courier serviceability, create orders, track AWB.
Track shipments and search shipping products (DPD, InPost, DHL, FedEx, UPS, GLS) via GlobKurier API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/theYahia/cdek-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server