caltrain-mcp について
Caltrainの乗客向けのリモートMCPサーバーで、公式GTFS時刻表を使って列車を検索します。次の列車や乗り換え、1日の時刻表を調べられ、対応するMCP Appsホストでは操作可能な時刻表も表示します。
主な機能
- 01駅間の次の列車を検索
- 029時までに到着する最終列車を検索
- 03乗り換えルートの提示
- 04駅名の一般的な略称に対応
- 05フィルター付きの対話型時刻表
活用シーン
- 012駅間の次の列車を確認
- 029時前に到着する経路を検索
- 03乗り換えが必要な移動を計画
- 04Express・Limited・Localで時刻表を絞り込み
MCP 対応
認証不要のStreamable HTTP MCPエンドポイントを提供し、読み取り専用の`next_trains`、`list_stations`、`get_timetable`ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Caltrain MCP
次の Caltrain がいつ出発するかを正確に教えてくれるリモート MCP サーバーです。遅れがどれほどか、正確に把握できます。Caltrain の公式 GTFS 時刻表に基づいているため、がっかりするのも公式です。
サーバー:https://caltrain-mcp-rho.vercel.app/mcp(Streamable HTTP、認証不要)。caltrain-mcp-rho.vercel.appでライブデモを利用できます。

ChatGPT やその他の MCP Apps ホストでは、回答にインタラクティブな時刻表が表示されます。列車をタップして停車駅を確認したり、Express/Limited/Local のフィルターを使って終日の時刻表を開いたりしながら、画面に表示されている内容について質問を続けられます。それ以外の環境でも、同じ回答をテキストで受け取れます。
わかること
- 2つの駅間を走る次の列車、または9時までに目的地に着ける最後の列車。
- 12:05 AM の列車は前日分であること、Thanksgiving は週末のダイヤで運行すること、South County は週末には運行しないこと。
- 直通列車がない場合の乗り換え場所。
sf、sj、22ndも駅として認識します。「San Francisco Caltrain Station」と入力する人はいないからです。
ツール:next_trains、list_stations、get_timetable(時刻表ビューだけがこれを呼び出します)。すべて読み取り専用です。
開発
npm install
npm run dev # http://localhost:3000, MCP at /mcp
npm test
Vercel 上で Next.js を使用しています。
- 時刻表エンジン:
lib/schedule.ts。 - 時刻表ビュー:
widget/。React、Tailwind、shadcn を1つの HTML ファイルにまとめています。 - データフィード:
data/gtfs/。GitHub Action が毎週最新データを取得して PR を作成し、マージするとデプロイされます。
ビューを変更した場合は、lib/mcp/constants.ts の TIMETABLE_URI を更新してください。ChatGPT は想像以上に強くキャッシュします。
PyPI にある古い Python パッケージ(uvx caltrain-mcp)は引き続きインストールできますが、すでに廃止されています。上記の URL を使用してください。
ライセンス
LICENSE.md。Caltrain の公式 GTFS データを使用しています。Caltrain とは提携していません。列車が遅れた場合は、Caltrain に問い合わせてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。