RZD Tickets MCP
Click on "Install 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: ÖPNV MCP Server
Установка
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/ex3lite/mcp_rzd_tickets'
If you have feedback or need assistance with the MCP directory API, please join our Discord server