CDEK MCP and CLI: orders and tracking

mcp-server-cdek

An MCP server, CLI tool and Pydantic models for the CDEK v2 API: creating orders, barcodes, labels, waybills, pickup point search and a local goods catalog

MCP server

High risk

We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.

Why this level

  • It can create real delivery orders and waybills under live CDEK keys
  • The Client ID and Secret give full access to the business account
All reasons and checks
Russian stack

dontsovcmc/mcp-server-cdek

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mcp-server-cdek

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

This entry is high risk, so there is no one-click install. Review the code and add the config by hand.

Run in a terminal

claude mcp add --transport stdio --env 'CDEK_CLIENT=<your CDEK_CLIENT>' --env 'CDEK_SECRET=<your CDEK_SECRET>' cdek -- uvx mcp-server-cdek==0.6.0

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

code --add-mcp '{"name":"cdek","type":"stdio","command":"uvx","args":["mcp-server-cdek==0.6.0"],"env":{"CDEK_CLIENT":"<your CDEK_CLIENT>","CDEK_SECRET":"<your CDEK_SECRET>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "cdek": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add cdek --env 'CDEK_CLIENT=<your CDEK_CLIENT>' --env 'CDEK_SECRET=<your CDEK_SECRET>' -- uvx mcp-server-cdek==0.6.0

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.cdek]
command = "uvx"
args = ["mcp-server-cdek==0.6.0"]
env = { CDEK_CLIENT = "<your CDEK_CLIENT>", CDEK_SECRET = "<your CDEK_SECRET>" }

If the file already exists, append the block to the end.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

gemini mcp add -s user -e 'CDEK_CLIENT=<your CDEK_CLIENT>' -e 'CDEK_SECRET=<your CDEK_SECRET>' cdek uvx mcp-server-cdek==0.6.0

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "cdek": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-server-cdek==0.6.0"
      ],
      "environment": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "cdek": {
      "command": "uvx",
      "args": [
        "mcp-server-cdek==0.6.0"
      ],
      "env": {
        "CDEK_CLIENT": "<your CDEK_CLIENT>",
        "CDEK_SECRET": "<your CDEK_SECRET>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

CDEK_CLIENTsecret, required
CDEK_SECRETsecret, required
CDEK_SENDER_COMPANYoptional
Sender company name (can also be set via config_set tool)
CDEK_SENDER_NAMEoptional
Sender short name (can also be set via config_set tool)
CDEK_SENDER_FULL_NAMEoptional
Sender full name (can also be set via config_set tool)
CDEK_SENDER_EMAILoptional
Sender email (can also be set via config_set tool)
CDEK_SENDER_PHONEoptional
Sender phone (can also be set via config_set tool)
CDEK_MY_PVZoptional
My PVZ code for returns (can also be set via config_set tool)
CDEK_TIMEOUToptional
HTTP request timeout in seconds (default 30)
CDEK_FILE_TIMEOUToptional
File download timeout in seconds (default 60)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 25, 2026, commit cd52e97.

Text for your agent

Get a Client ID and Client Secret in the CDEK dashboard (Settings, Integration), then add the server with claude mcp add cdek -e CDEK_CLIENT=... -e CDEK_SECRET=... -- uvx mcp-server-cdek.

Other ways from the author
claude mcp add cdek -e CDEK_CLIENT=ваш_client_id -e CDEK_SECRET=ваш_client_secret -- uvx mcp-server-cdek

No package install needed, requires uv.

This is third-party code. Review the repository files before installing.

What it does

The package offers three ways to work with the CDEK v2 API from one codebase: an MCP server for Claude Code and Desktop, a CLI tool for the terminal and scripts, and typed Pydantic models for your own Python programs. Its tools create a delivery order (from or to the sender, to a pickup point or the door), track it by number, download a PDF barcode, label and waybill, and search CDEK pickup points and cities. A local goods catalog lets you describe an item once (weight, dimensions, price) so you do not repeat those parameters on every order. All keys and data stay on the user's machine.

Who it is for. For sellers and small warehouses who want to create and track CDEK orders directly from a chat with an agent or from their own scripts.

Good fit when

  • You need to create a delivery order and immediately get a label or waybill
  • You need a local catalog of frequently shipped items so you do not re-enter dimensions
  • You need a CLI tool for scripted automation, not just conversational use

Not a fit when

  • You have no CDEK business account with a Client ID and Client Secret
  • You need multi-carrier integration: this server covers only CDEK

Example request

Ship a package to Ivanov at the nearest CDEK pickup point in Moscow and download the label

Limitations

You need your own CDEK business account with integration keys; the service is not available to individuals without a contract. Sender settings and the goods catalog are stored locally in ~/.config/mcp-server-cdek. Full test coverage is claimed, but real order work needs live or test CDEK keys.

How to disable. Remove the server with claude mcp remove cdek and clear ~/.config/mcp-server-cdek with local settings.

MCP

Transport
stdio
Authentication
API key
Environment variables
Environment variables
CDEK_CLIENT
required, secret
Client ID from the CDEK business account dashboard
CDEK_SECRET
required, secret
Client Secret from the CDEK business account dashboard
CDEK_SENDER_COMPANY
Default sender company name

Security check

  • It can create real delivery orders and waybills under live CDEK keys
  • The Client ID and Secret give full access to the business account

README in short

The README gives a detailed table of contents across three usage modes (MCP, CLI, Pydantic models), tool tables for delivery, the local goods catalog and settings, steps to connect to Claude Code and Claude Desktop via uvx or pip, CLI command examples, and a full environment variable table including default sender settings.

FAQ

Can I use it without installing the package?

Yes, via uvx mcp-server-cdek the server runs with no separate install, you only need uv.

Does it work as a regular command line tool?

Yes, with no arguments it runs the MCP server, and with a command it runs as a CLI, all commands output JSON.

Editors’ pick

An MCP server with n8n node and template knowledge: the agent picks nodes, validates configs and, with API access, creates workflows in your n8n

MCP serverHigh riskNo VPN needed23KRepository stars
Official

Zapier's official MCP plugin: the agent gets actions across thousands of apps through your Zapier account

PluginHigh risk421Repository stars

A curated list of Claude skills and plugins, plus Composio's own automation skills for 78 SaaS apps

SkillHigh risk75.8KRepository stars

A plugin and CLI catalog for agents: generates command-line interfaces for GUI apps like GIMP and Blender and installs ready ones via CLI-Hub

PluginHigh riskNo VPN needed50.9KRepository stars
Foxx AICDEK MCP and CLI: orders and tracking

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.