Russian Post MCP server
pochta-russia-mcp
An MCP server for Russian Post: parcel tracking by number, shipping cost and time calculation, post office search and address normalization
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- Only reads status, cost, offices and postal codes; it does not create or change shipments
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/pochta-russia-mcpDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal
claude mcp add --transport stdio --env 'POCHTA_TOKEN=<your POCHTA_TOKEN>' --env 'POCHTA_LOGIN=<your POCHTA_LOGIN>' --env 'POCHTA_PASSWORD=<your POCHTA_PASSWORD>' pochta -- npx -y @theyahia/pochta-russia-mcpOr add to the file .mcp.json, in the project
{
"mcpServers": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}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
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"pochta","type":"stdio","command":"npx","args":["-y","@theyahia/pochta-russia-mcp"],"env":{"POCHTA_TOKEN":"<your POCHTA_TOKEN>","POCHTA_LOGIN":"<your POCHTA_LOGIN>","POCHTA_PASSWORD":"<your POCHTA_PASSWORD>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"pochta": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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 pochta --env 'POCHTA_TOKEN=<your POCHTA_TOKEN>' --env 'POCHTA_LOGIN=<your POCHTA_LOGIN>' --env 'POCHTA_PASSWORD=<your POCHTA_PASSWORD>' -- npx -y @theyahia/pochta-russia-mcpOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers.pochta]
command = "npx"
args = ["-y", "@theyahia/pochta-russia-mcp"]
env = { POCHTA_TOKEN = "<your POCHTA_TOKEN>", POCHTA_LOGIN = "<your POCHTA_LOGIN>", POCHTA_PASSWORD = "<your POCHTA_PASSWORD>" }If the file already exists, append the block to the end.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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 ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}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
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}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
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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": {
"pochta": {
"type": "local",
"command": [
"npx",
"-y",
"@theyahia/pochta-russia-mcp"
],
"environment": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
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": {
"pochta": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
],
"env": {
"POCHTA_TOKEN": "<your POCHTA_TOKEN>",
"POCHTA_LOGIN": "<your POCHTA_LOGIN>",
"POCHTA_PASSWORD": "<your POCHTA_PASSWORD>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
POCHTA_TOKENsecret, requiredPOCHTA_LOGINsecret, requiredPOCHTA_PASSWORDsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Get POCHTA_TOKEN, POCHTA_LOGIN and POCHTA_PASSWORD from the otpravka.pochta.ru sender account, then add the server with claude mcp add pochta -e POCHTA_TOKEN=... -e POCHTA_LOGIN=... -e POCHTA_PASSWORD=... -- npx -y @theyahia/pochta-russia-mcp.
Other ways from the author
claude mcp add pochta -e POCHTA_TOKEN=<ACCESS_TOKEN> -e POCHTA_LOGIN=<LOGIN> -e POCHTA_PASSWORD=<PASSWORD> -- npx -y @theyahia/pochta-russia-mcpCommand from the README for Claude Code.
This is third-party code. Review the repository files before installing.
What it does
A TypeScript server exposes 6 tools on top of the Russian Post API: track for parcel tracking via the SOAP tracking API, calculate and delivery_time for shipping cost and time estimates, get_offices for post office search, zip_lookup for postal code lookups, and normalize_address for address normalization. It is published to npm as @theyahia/pochta-russia-mcp and runs via npx over stdio or as a Streamable HTTP server on its own port. otpravka-api REST methods need both an application access token and the account login and password together; tracking works with login and password only, through a separate SOAP API.
Who it is for. For online stores and senders who calculate Russian Post shipping and track parcels from a chat with an agent.
Good fit when
- You need parcel status by tracking number without a CAPTCHA-gated website
- You need to calculate cost and time between two postal codes
- You need to find the nearest post office or normalize a recipient's address
Not a fit when
- You need to create and register shipments, not just calculate and track them: the server has no such tools
- You have no access to a sender account at otpravka.pochta.ru: without it there is no token or password to use
Example request
Where is parcel 12345678901234 right now and how much longer will it take to reach NovosibirskLimitations
It needs three parameters at once: POCHTA_TOKEN, POCHTA_LOGIN and POCHTA_PASSWORD, obtainable only through a sender account at otpravka.pochta.ru. Version 2.0.0 changes the auth contract, so the old POCHTA_TOKEN plus POCHTA_KEY pair no longer works alone. The same functionality also exists inside the author's wwmcp monorepo alongside dozens of other Russian services; this is a separate single-package build of the same codebase.
How to disable. Remove the pochta server from your MCP client settings, for example claude mcp remove pochta.
MCP
- Transport
- stdio, http
- Authentication
- API key
| Environment variables | |
|---|---|
| POCHTA_TOKEN required, secret | Application access token for otpravka-api REST methods |
| POCHTA_LOGIN required, secret | Sender account login |
| POCHTA_PASSWORD required, secret | Sender account password |
Security check
- Only reads status, cost, offices and postal codes; it does not create or change shipments
README in short
The README lists the 6 tools in a table with the variables each needs, explains the difference between otpravka-api REST auth via two headers and the separate SOAP tracking API, describes the 2.0.0 breaking change, shows configs for Claude Desktop, Cursor, Windsurf and Claude Code, the Streamable HTTP mode with a health check, and three ready Claude Code skills: /track, /calculate, /parcel.
FAQ
Is login and password alone enough, without a token?
For tracking (the SOAP API) yes; cost calculation, office search and address normalization also need POCHTA_TOKEN.
What changed in version 2.0.0?
Earlier versions built the auth headers incorrectly, so REST methods failed authorization. Now it uses POCHTA_TOKEN plus POCHTA_LOGIN and POCHTA_PASSWORD, and the old POCHTA_KEY remains optional for backward compatibility.
Related
An MCP server with n8n node and template knowledge: the agent picks nodes, validates configs and, with API access, creates workflows in your n8n
Zapier's official MCP plugin: the agent gets actions across thousands of apps through your Zapier account
Awesome Claude Skills by Composio
Awesome Claude Skills
A curated list of Claude skills and plugins, plus Composio's own automation skills for 78 SaaS apps
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