RZD Tickets MCP について
RZD Tickets MCPは、ロシア鉄道の列車、車両、座席を調べる読み取り専用サーバーです。座席条件で絞り込み、公式の手動購入リンクを作成しますが、予約や決済は行いません。
主な機能
- 01駅コードと列車の検索
- 02運賃・車両・座席の確認
- 03寝台と隣接ペアの絞り込み
- 04車両写真の取得(提供時)
- 05公式購入リンクの作成
活用シーン
- 01日付と区間で列車を検索
- 02車両種別と座席で絞り込み
- 03同一区画の上下段ペアを探す
MCP 対応
MCP stdioサーバーとして、読み取り専用のRZD検索ツールをクライアントに提供します。簡易確認用のCLIもあります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mcp-rzd-ticketsRZD_TIMEOUT_MSRequest timeout in milliseconds. Defaults to 20000.RZD_PROXY_URLシークレットOptional http, https, socks4 or socks5 proxy URL. Leave empty for direct requests.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 駅名の一部。例:Красноярск または Анзеби。 |
詳細
RZD Tickets MCP
エージェントに ticket.rzd.ru の最新情報を確認する手段を提供する、読み取り専用の MCP サーバーです。列車、車両、料金、下段/上段席、側面席、特別席、隣り合う「下段+上段」のペア、RZD が公開している場合の車両写真、手動で予約手続きを行うための RZD 公式リンクを確認できます。
サーバーはログイン、予約、仮押さえ、支払い、注文のキャンセル、RZD の個人アカウントの変更を行いません。
ツール
| ツール | 説明 |
|---|---|
rzd_station_suggest | 駅名から nodeId と expressCode を検索します。 |
rzd_search_trains | 列車、料金、車両グループ、RZD のリンクを表示します。 |
rzd_train_cars | CarPricing を詳しく調べ、車両、座席、上段/下段の統計、写真を表示します。 |
rzd_find_places | 車両写真を含め、フィルターに一致する項目のみを返します。 |
rzd_checkout_url | 手動で予約手続きを行うための RZD 公式リンクを作成します。 |
rzd_parse_search_url | RZD の検索 URL を解析します。 |
rzd_service_classes | 公開されている RZD のクラスコードの読み方を説明します。 |
インストール
git clone [email protected]: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 として公開されているため、通常はクローンやビルドは不要です。
npx -y mcp-rzd-tickets
Claude 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-tickets
Codex
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 | ~/Library/Application Support/Claude/claude_desktop_config.json の mcpServers キー。 |
| Cursor | グローバル設定は ~/.cursor/mcp.json、プロジェクト設定は .cursor/mcp.json。 |
| Windsurf | Settings → Cascade/MCP → Add custom server の順に選択し、上記の JSON を入力します。 |
| Cline | MCP Servers → Configure MCP Servers、または ~/.cline/mcp.json。 |
| Roo Code | MCP Servers → Edit Global MCP / Edit Project MCP。 |
Continue
Continue は JSON MCP 設定を読み込めますが、標準の形式は .continue/mcpServers/rzd-tickets.yaml に記述する YAML ブロックです。
name: RZD Tickets MCP
version: 0.1.2
schema: v1
mcpServers:
- name: rzd_tickets
command: npx
args:
- -y
- mcp-rzd-tickets
ローカルチェックアウト
{
"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 が設定されていない場合、サーバーは RZD に直接接続します。
エージェントへのリクエスト例
Найди поезд 376Ы Красноярск Пасс — Анзеби на 2026-07-12.
Нужна соседняя пара нижнее+верхнее в купе.
Боковые и спецместа не учитывать.
Если есть совпадение, дай ссылку РЖД для оформления.
Через rzd_station_suggest найди коды Анзеби и Красноярск.
Потом проверь 2 пассажиров на 2026-07-03 по поезду 097Э.
Ищу пару нижнее+верхнее в одном отсеке.
フィルター
trains:列車番号を完全一致で指定します。例:["097Э"]。departureFrom/departureTo:出発時刻の範囲をHH:mmで指定します。carType:coupe、platz、または RZD の元の車両タイプ。service:RZD の元のクラスコード。例:2Ш。コード一覧は公開されています。placeKind:lower、upper、other。requirePair:同じコンパートメント内で隣り合う「下段+上段」のペアを指定します。includeSide:側面席を含めます。includeAccessible:障害のある乗客/付き添い者向けの特別席を含めます。includeImages:RZD がHasImages=trueを返した場合に車両ギャラリーを取得します。MCP ではデフォルトで有効です。maxPrice、minPlaces:料金と最低座席数。
車両写真
rzd_train_cars と rzd_find_places では、各車両に imageInfo が含まれます。
hasImages:CarPricingのフラグです。fetched:ギャラリーのエンドポイントへのアクセスに成功したかどうかです。schemeId、schemeName、carSubType、carrier:RZD が提供する車両の構成/タイプの識別子です。images[].thumbnailUrl:サムネイルです。images[].contentUrl:フルサイズの写真です。unavailableReason/error:写真がない理由、またはリクエストが失敗した理由です。
重要:RZD では、すべての車両に写真があるとは限りません。CarPricing の HasImages=false の場合、MCP は画像を作り出さず、imageInfo.unavailableReason に理由を明示します。
Классы вагонов РЖД
Класс обслуживания РЖД не моделируется как enum. Это намеренно.
РЖД может добавлять и менять коды, поэтому сервер отдает агенту:
code: сырой код РЖД, например2Ш;title: человекочитаемый заголовок из ответа РЖД, типа вагона или общего семейства;tags: факты из официальногоServiceClassTranscriptи осторожные подсказки;transcript: официальный текст РЖД, если он пришел вCarPricing;description: готовая строка для показа человеку.
Агент должен показывать сырой код вместе с description, а точный смысл брать
из transcript, когда он есть. Так не нужно расширять локальный enum каждый
раз, когда РЖД вводит новый вариант.
Переменные окружения
| Переменная | Описание |
|---|---|
RZD_PROXY_URL | Опциональный http://, https://, socks4:// или socks5:// прокси. |
RZD_TIMEOUT_MS | Таймаут запроса. По умолчанию 20000. |
Публикация
Основной путь:
npm publish --access public
mcp-publisher login github
mcp-publisher publish
server.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 РЖД изменится, ошибка должна быть видна агенту, а не скрыта.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。