RZD Tickets MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RZD Tickets MCPfind trains from Moscow to Saint Petersburg on 2025-06-10"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RZD Tickets MCP
Read-only MCP-сервер, который дает агентам живые “глаза” на ticket.rzd.ru:
поезда, вагоны, цены, нижние/верхние места, боковые места, спецместа, соседние
пары нижнее+верхнее, фото вагонов, когда РЖД их публикует, и официальные
ссылки РЖД для ручного оформления.
Сервер не логинится, не бронирует, не создает холд, не оплачивает, не отменяет заказы и не меняет личный кабинет РЖД.
Инструменты
Инструмент | Что делает |
| Ищет |
| Показывает поезда, цены, группы вагонов и ссылку РЖД. |
| Проваливается в |
| Возвращает только совпадения по фильтрам, включая фото вагона. |
| Строит официальную ссылку РЖД для ручного оформления. |
| Разбирает URL поиска РЖД. |
| Объясняет, как читать открытые коды классов РЖД. |
Related MCP server: mcp-sncf-navitia
Установка
git clone git@github.com:ex3lite/mcp_rzd_tickets.git
cd mcp_rzd_tickets
npm install
npm run buildЗапуск MCP stdio-сервера:
node dist/mcp.jsБыстрая CLI-проверка:
node dist/cli.js --suggest "Красноярск"
node dist/cli.js --origin 2038000 --destination 2054275 --date 2026-07-12 --train 376Ы --require-pair --car-type coupeКонфиг MCP-клиента
Пакет опубликован в npm как mcp-rzd-tickets, поэтому установка обычно не
требует clone/build:
npx -y mcp-rzd-ticketsClaude Code
Глобально для всех проектов:
claude mcp add -s user rzd_tickets -- npx -y mcp-rzd-tickets
claude mcp listТолько для текущего проекта:
claude mcp add -s project rzd_tickets -- npx -y mcp-rzd-ticketsCodex
codex mcp add rzd_tickets --env RZD_TIMEOUT_MS=20000 -- npx -y mcp-rzd-tickets
codex mcp listПосле изменения MCP-конфига уже открытой сессии Codex может понадобиться новый чат или перезапуск, чтобы сервер появился в списке инструментов.
Claude Desktop, Cursor, Windsurf, Cline, Roo Code
Для клиентов с JSON MCP-конфигом используй один и тот же блок:
{
"mcpServers": {
"rzd_tickets": {
"command": "npx",
"args": ["-y", "mcp-rzd-tickets"],
"env": {
"RZD_TIMEOUT_MS": "20000"
}
}
}
}Куда вставлять:
Клиент | Куда ставить |
Claude Desktop |
|
Cursor |
|
Windsurf | Settings → Cascade/MCP → Add custom server, затем JSON выше. |
Cline | MCP Servers → Configure MCP Servers или |
Roo Code | MCP Servers → Edit Global MCP / Edit Project MCP. |
Continue
Continue умеет читать JSON MCP config, но его родной формат — YAML block в
.continue/mcpServers/rzd-tickets.yaml:
name: RZD Tickets MCP
version: 0.1.2
schema: v1
mcpServers:
- name: rzd_tickets
command: npx
args:
- -y
- mcp-rzd-ticketsЛокальный checkout
{
"mcpServers": {
"rzd_tickets": {
"command": "node",
"args": ["/absolute/path/to/mcp_rzd_tickets/dist/mcp.js"],
"env": {
"RZD_TIMEOUT_MS": "20000"
}
}
}
}Прокси
{
"mcpServers": {
"rzd_tickets": {
"command": "npx",
"args": ["-y", "mcp-rzd-tickets"],
"env": {
"RZD_PROXY_URL": "socks5://user:pass@host:1080",
"RZD_TIMEOUT_MS": "20000"
}
}
}
}Прокси не нужен по умолчанию. Если RZD_PROXY_URL не задан, сервер ходит в
РЖД напрямую.
Примеры запросов агенту
Найди поезд 376Ы Красноярск Пасс — Анзеби на 2026-07-12.
Нужна соседняя пара нижнее+верхнее в купе.
Боковые и спецместа не учитывать.
Если есть совпадение, дай ссылку РЖД для оформления.Через rzd_station_suggest найди коды Анзеби и Красноярск.
Потом проверь 2 пассажиров на 2026-07-03 по поезду 097Э.
Ищу пару нижнее+верхнее в одном отсеке.Фильтры
trains: точные номера поездов, например["097Э"].departureFrom/departureTo: окно отправленияHH:mm.carType:coupe,platzили сырой тип РЖД.service: сырой код класса РЖД, например2Ш; список кодов открыт.placeKind:lower,upper,other.requirePair: соседняя паранижнее+верхнеев одном отсеке.includeSide: учитывать боковые места.includeAccessible: учитывать спецместа для инвалидов/сопровождающих.includeImages: подтягивать галерею вагона, если РЖД вернулHasImages=true; по умолчанию включено в MCP.maxPrice,minPlaces: цена и минимальное количество мест.
Фото вагонов
В rzd_train_cars и rzd_find_places каждый вагон содержит imageInfo.
hasImages: флаг изCarPricing.fetched: удалось ли сходить в endpoint галереи.schemeId,schemeName,carSubType,carrier: идентификаторы схемы/типа вагона из РЖД.images[].thumbnailUrl: миниатюра.images[].contentUrl: полноразмерное фото.unavailableReason/error: почему фото нет или запрос не удался.
Важно: у РЖД фото есть не для каждого вагона. Если в CarPricing
HasImages=false, MCP не придумывает картинку и явно пишет причину в
imageInfo.unavailableReason.
Классы вагонов РЖД
Класс обслуживания РЖД не моделируется как enum. Это намеренно.
РЖД может добавлять и менять коды, поэтому сервер отдает агенту:
code: сырой код РЖД, например2Ш;title: человекочитаемый заголовок из ответа РЖД, типа вагона или общего семейства;tags: факты из официальногоServiceClassTranscriptи осторожные подсказки;transcript: официальный текст РЖД, если он пришел вCarPricing;description: готовая строка для показа человеку.
Агент должен показывать сырой код вместе с description, а точный смысл брать
из transcript, когда он есть. Так не нужно расширять локальный enum каждый
раз, когда РЖД вводит новый вариант.
Переменные окружения
Переменная | Описание |
| Опциональный |
| Таймаут запроса. По умолчанию |
Публикация
Основной путь:
npm publish --access public
mcp-publisher login github
mcp-publisher publishserver.json уже подготовлен для официального MCP Registry:
io.github.ex3lite/mcp-rzd-tickets. Сам registry хранит metadata, а код должен
лежать в публичном npm-пакете mcp-rzd-tickets.
Дополнительно можно опубликовать на Smithery. Для текущего stdio-сервера нужен MCPB bundle; для URL-публикации на Smithery потребуется отдельный Streamable HTTP endpoint.
Языки
Ограничения
RZD может менять приватные web-endpoint без предупреждения. Этот сервер использует те же read-only pricing endpoint, что и публичный web-app, и браузероподобные заголовки. Если payload РЖД изменится, ошибка должна быть видна агенту, а не скрыта.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for China Railway 12306 ticket availability: schedules and seats by Chinese station name.
MCP server for Russian books search, details, and recommendation candidates.
Unofficial read-only MCP server for VeryChic hotel offers
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server for querying German public transport information, including station search, live departures/arrivals, and journey planning.51-
- FlicenseNot gradedqualityDmaintenanceMCP server for querying French railway services (SNCF) via the Navitia API, enabling station search, journey planning, and departure board retrieval.-
- FlicenseNot gradedqualityDmaintenanceMCP server for querying Belgian railway data (SNCB/NMBS) via the iRail API, enabling station search, liveboard, and journey planning.-
- AlicenseNot gradedqualityBmaintenanceMCP server to search for routes in the Moscow metro and calculate the duration of the trip.MIT