Trimet について
Trimet は米国オレゴン州ポートランドのTriMetのリアルタイム交通データを扱うMCPサーバーです。バス、鉄道、路面電車の到着情報、停留所、車両位置、運行アラートを提供します。
主な機能
- 01停留所ごとの到着予測
- 02近隣停留所と路線の検索
- 03車両のリアルタイム位置確認
- 04迂回と運行アラートの確認
- 05ゲートウェイとローカルstdioに対応
活用シーン
- 01停留所の到着予測を確認する
- 02場所周辺の停留所と路線を探す
- 03車両位置とダイヤとの差を追跡する
- 04現在の運行障害を確認する
MCP 対応
TriMetの到着、停留所、車両、アラート用ツールをMCPクライアントに公開します。Pipeworxゲートウェイ経由、またはローカルstdioサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/trimet/mcpclaude mcp add --transport http pipeworx-io-trimet https://gateway.pipeworx.io/trimet/mcp{"mcpServers":{"pipeworx-io-trimet":{"type":"http","url":"https://gateway.pipeworx.io/trimet/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-trimet":{"type":"http","url":"https://gateway.pipeworx.io/trimet/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-trimet":{"type":"http","url":"https://gateway.pipeworx.io/trimet/mcp"}}}{"mcpServers":{"pipeworx-io-trimet":{"serverUrl":"https://gateway.pipeworx.io/trimet/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/trimet
オレゴン州ポートランドのリアルタイム到着情報、停留所検索、車両位置、運行アラート — TriMet のバス、MAX ライトレール、WES 通勤鉄道、Portland Streetcar に対応します。
Pipeworx の一部です — AI エージェントを 1684+ のライブデータソースにつなぐ MCP ゲートウェイです。
API キーが必要です(TriMet では appID と呼びます)。https://developer.trimet.org/appid/registration/ から無料でセルフサービスで取得できます。
- プラットフォームキー:
PLATFORM_TRIMET_KEY - 呼び出し元が指定する場合:任意のツールの
_apiKey引数
ツール
| ツール | 回答する内容 |
|---|---|
trimet_arrivals | 1 つ以上の停留所のリアルタイム予想到着時刻 |
trimet_stops_near | 緯度・経度周辺の停留所と、各停留所に停車する路線 |
trimet_vehicles | 運行ダイヤとの差異を含む、車両のリアルタイム位置 |
trimet_alerts | 現在の迂回運行と運行障害 |
注意点
1 つの認証情報で 2 つの API を使いますが、大文字・小文字の扱いが異なります。 最新の JSON ウェブサービスは /ws/v2/...(小文字の v)です。GTFS-Realtime フィードは /ws/V1/...(大文字の V)で、JSON ではなく protobuf を返します。大文字・小文字を間違えると、リダイレクトではなくエラーページが返ります。
TriMet は HTTP 200 のレスポンス本文にエラーを含めて返します。 無効な停留所 ID や不正なパラメーターを指定すると、resultSet.errorMessage が設定され、到着情報のリストが空のまま HTTP 200 が返ります。readJson() はこれを確認して例外をスローするため、「バスが来ません」という表示ではなく、実際の理由が呼び出し元に伝わります。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"trimet": {
"url": "https://gateway.pipeworx.io/trimet/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/trimet/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール群)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック独自のツールに加えて、およそ 30 個の共有ツールが表示されます。接続の initialize レスポンスに正確な対象範囲が記載されており、その日の状況を確認するうえで最も信頼できる情報です。
これは意図的な仕様であり、偶然の多重化ではありません。メタツールを使うと、このパックが対応していない質問にも、全カタログを対象に振り分ける ask_pipeworx を介して回答できます。そのため、MCP サーバーをもう 1 つ追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費が、ツールの振り分けによる利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
また、フル Pipeworx ゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も、同じゲートウェイと 1684+ のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらから接続しても、ask_pipeworx ですべてのツールを利用できます。
MCP クライアントがない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/trimet_arrivals \
-H 'Content-Type: application/json' \
-d '{"stop_ids":"7646"}'
最初の呼び出しではアカウントは不要です。ツールの詳細を確認するには、GET https://gateway.pipeworx.io/v1/tools/trimet_arrivals を呼び出します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を呼び出します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイを経由する必要もありません:
{
"mcpServers": {
"trimet": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-trimet"]
}
}
}
または、直接実行して起動を確認します:
npx -y @pipeworx/mcp-trimet
stdin/stdout 経由で MCP を処理し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx による振り分けはありません。
ask_pipeworx の使用方法
ツールを直接呼び出す代わりに、自然な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます:
ask_pipeworx({ question: "your question about Trimet data" })
ゲートウェイが適切なツールを選び、引数を自動的に入力します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。