MCP server for Russian Post (Почта России) API — tracking, tariff calculation, post office search.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @theyahia/pochta-russia-mcp
MCP client config
{
"mcpServers": {
"pochta-russia": {
"command": "npx",
"args": [
"-y",
"@theyahia/pochta-russia-mcp"
]
}
}
}Если вы искали, как отследить отправление Почты России по трек-номеру из чата, посчитать тариф и срок доставки или найти индекс и ближайшее отделение — это оно. 6 инструментов: трекинг, расчёт стоимости и сроков, поиск отделений, индексы, нормализация адресов. Спрашиваете «где посылка 12345678901234» — получаете статус, а не страницу с капчей.
| Инструмент | Описание | Что требуется |
|---|---|---|
track | Отслеживание отправления по трек-номеру | POCHTA_LOGIN + POCHTA_PASSWORD (SOAP-трекинг) |
calculate | Расчёт стоимости и сроков доставки | POCHTA_TOKEN + POCHTA_LOGIN + POCHTA_PASSWORD |
delivery_time | Расчёт сроков доставки между индексами | POCHTA_TOKEN + POCHTA_LOGIN + POCHTA_PASSWORD |
get_offices | Поиск почтовых отделений | POCHTA_TOKEN + POCHTA_LOGIN + POCHTA_PASSWORD |
zip_lookup | Информация по почтовому индексу | POCHTA_TOKEN + POCHTA_LOGIN + POCHTA_PASSWORD |
normalize_address | Нормализация адреса через API | POCHTA_TOKEN + POCHTA_LOGIN + POCHTA_PASSWORD |
{
"mcpServers": {
"pochta": {
"command": "npx",
"args": ["-y", "@theyahia/pochta-russia-mcp"],
"env": {
"POCHTA_TOKEN": "<ACCESS_TOKEN>",
"POCHTA_LOGIN": "<LOGIN>",
"POCHTA_PASSWORD": "<PASSWORD>"
}
}
}
}
claude mcp add pochta \
-e POCHTA_TOKEN=<ACCESS_TOKEN> \
-e POCHTA_LOGIN=<LOGIN> \
-e POCHTA_PASSWORD=<PASSWORD> \
-- npx -y @theyahia/pochta-russia-mcp
npx @theyahia/pochta-russia-mcp --http --port=3000
MCP endpoint: http://localhost:3000/mcp
Health check: http://localhost:3000/health → {"status":"ok","version":"…","tools":6}
| Переменная | Обязательная | Описание |
|---|---|---|
POCHTA_TOKEN | Да | Access-токен приложения → заголовок Authorization: AccessToken … |
POCHTA_LOGIN | Да | Логин кабинета → часть X-User-Authorization: Basic … |
POCHTA_PASSWORD | Да | Пароль кабинета → часть X-User-Authorization: Basic … |
POCHTA_KEY | Нет | Back-compat: готовый base64(login:password) для X-User-Authorization (вместо LOGIN/PASSWORD) |
POCHTA_TIMEOUT_MS | Нет | Таймаут запроса в мс (по умолчанию 15000) |
Получите доступ к API: Кабинет отправителя → Настройки → API. Спецификация: https://otpravka.pochta.ru/specification.
REST-методы otpravka-api используют два заголовка (согласно официальной спецификации):
Authorization: AccessToken <POCHTA_TOKEN> — access-токен приложения;X-User-Authorization: Basic <base64(POCHTA_LOGIN:POCHTA_PASSWORD)> — учётные данные кабинета.Отслеживание (track) использует SOAP-API трекинга (tracking.russianpost.ru) и требует
POCHTA_LOGIN + POCHTA_PASSWORD (access-токен там не применяется).
В версиях ≤ 1.x заголовки авторизации формировались неверно (access-токен и ключ были перепутаны местами), из-за чего REST-методы не проходили авторизацию. В 2.0.0 контракт исправлен:
POCHTA_TOKEN + POCHTA_KEY. Этот набор больше не работает сам по себе.POCHTA_TOKEN + POCHTA_LOGIN + POCHTA_PASSWORD.POCHTA_KEY сохранён только как опциональный back-compat (готовый base64(login:password)
для X-User-Authorization).429 и 5xx.POCHTA_TIMEOUT_MS).stderr (канал stdout занят MCP).| Команда | Описание |
|---|---|
/track <номер> | Отследить посылку Почты России |
/calculate <от> <до> <вес> | Расчёт стоимости отправления |
/parcel <от> <до> <вес> | Полный расчёт с ближайшим отделением |
npm install
npm run typecheck
npm test
MIT
Telegram: @vhodvai