mcpField
R
RZD Tickets MCP

RZD Tickets MCP

ローカル
github.com/ex3lite地図・旅行217 週間前に更新

RZD Tickets MCP について

RZD Tickets MCPは、ロシア鉄道の列車、車両、座席を調べる読み取り専用サーバーです。座席条件で絞り込み、公式の手動購入リンクを作成しますが、予約や決済は行いません。

主な機能

  1. 01駅コードと列車の検索
  2. 02運賃・車両・座席の確認
  3. 03寝台と隣接ペアの絞り込み
  4. 04車両写真の取得(提供時)
  5. 05公式購入リンクの作成

活用シーン

  1. 01日付と区間で列車を検索
  2. 02車両種別と座席で絞り込み
  3. 03同一区画の上下段ペアを探す

MCP 対応

MCP stdioサーバーとして、読み取り専用のRZD検索ツールをクライアントに提供します。簡易確認用のCLIもあります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ex3lite-mcp-rzd-tickets": {
"command": "npx",
"args": [
"-y",
"mcp-rzd-tickets"
],
"env": {
"RZD_TIMEOUT_MS": "<RZD_TIMEOUT_MS>",
"RZD_PROXY_URL": "<RZD_PROXY_URL>"
}
}
}
}
起動コマンドnpx -y mcp-rzd-tickets
設定が必要な環境変数
RZD_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-rzd-tickets0.1.2

ツール

7

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
querystringはい駅名の一部。例:Красноярск または Анзеби。

詳細

RZD Tickets MCP ロゴ

RZD Tickets MCP

エージェントに ticket.rzd.ru の最新情報を確認する手段を提供する、読み取り専用の MCP サーバーです。列車、車両、料金、下段/上段席、側面席、特別席、隣り合う「下段+上段」のペア、RZD が公開している場合の車両写真、手動で予約手続きを行うための RZD 公式リンクを確認できます。

サーバーはログイン、予約、仮押さえ、支払い、注文のキャンセル、RZD の個人アカウントの変更を行いません。

ツール

ツール説明
rzd_station_suggest駅名から nodeId と expressCode を検索します。
rzd_search_trains列車、料金、車両グループ、RZD のリンクを表示します。
rzd_train_carsCarPricing を詳しく調べ、車両、座席、上段/下段の統計、写真を表示します。
rzd_find_places車両写真を含め、フィルターに一致する項目のみを返します。
rzd_checkout_url手動で予約手続きを行うための RZD 公式リンクを作成します。
rzd_parse_search_urlRZD の検索 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。
WindsurfSettings → Cascade/MCP → Add custom server の順に選択し、上記の JSON を入力します。
ClineMCP Servers → Configure MCP Servers、または ~/.cline/mcp.json。
Roo CodeMCP 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 РЖД изменится, ошибка должна быть видна агенту, а не скрыта.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。