mcpField
T
Taiwan TDX transport

Taiwan TDX transport

ローカル
github.com/amangeldievkuu地図・旅行01 日前に更新

Taiwan TDX transport について

Taiwan TDX transportは、TDX APIで台湾の交通データを照会する非公式MCPサーバーです。公共交通、道路、駐車場などを調べるタスク指向のツールをMCPクライアントに提供します。

主な機能

  1. 01YouBikeとバスのリアルタイム情報
  2. 02鉄道の時刻、運賃、運行情報
  3. 03航空便とフェリーの状況・時刻
  4. 04道路交通と所要時間
  5. 05駐車場とEV充電器
  6. 06任意のTDXエンドポイント照会

活用シーン

  1. 01自転車のある近くのYouBikeを検索
  2. 02バスの到着や鉄道の空席を確認
  3. 03航空便の遅延やフェリーの欠航を確認
  4. 04駐車場や空き充電コネクターを探す

MCP 対応

stdio経由で台湾のTDX交通データをMCPクライアント向けのツールとして公開します。TDX Client IdとClient Secretが必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"amangeldievkuu-tdx-taiwan": {
"command": "npx",
"args": [
"-y",
"tdx-taiwan-mcp"
],
"env": {
"TDX_CLIENT_ID": "<TDX_CLIENT_ID>",
"TDX_CLIENT_SECRET": "<TDX_CLIENT_SECRET>",
"TDX_REQUESTS_PER_SECOND": "<TDX_REQUESTS_PER_SECOND>",
"TDX_MAX_ITEMS": "<TDX_MAX_ITEMS>",
"TDX_TOOLS": "<TDX_TOOLS>",
"TDX_CACHE_DIR": "<TDX_CACHE_DIR>"
}
}
}
}
起動コマンドnpx -y tdx-taiwan-mcp
設定が必要な環境変数
TDX_CLIENT_IDTDX API key Client Id (tdx.transportdata.tw → 會員中心 → 資料服務 → API金鑰).
TDX_CLIENT_SECRETシークレットTDX API key Client Secret.
TDX_REQUESTS_PER_SECONDClient-side rate limit; match it to your TDX plan (0 turns it off).
TDX_MAX_ITEMSMost items any tool returns.
TDX_TOOLSTool groups to load: bike, bus, rail, flight, ferry, road, parking, ev, raw; e.g. bus,rail or -road,-raw.
TDX_CACHE_DIRFolder where static data is kept for a day between runs (default ~/.cache/tdx-taiwan-mcp); off turns it off.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtdx-taiwan-mcp0.7.1

ツール

47

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
latnumberはい緯度(WGS84)。例:25.0478。
lonnumberはい経度(WGS84)。例:121.517。
citystringはい都市:TDX コード(Taipei、NewTaipei、Taoyuan、Taichung、Tainan、Kaohsiung、Hsinchu、HsinchuCounty、MiaoliCounty、ChanghuaCounty、YunlinCounty、Chiayi、ChiayiCounty、PingtungCounty、TaitungCounty)、または中国語名(臺北市、新北市、高雄市など)。
wantenumいいえ営業中で、貸し出し可能な自転車("bike"、既定値)または返却可能な空きドック("dock")があるステーションのみを対象にします。"any" はすべてのステーションを一覧表示します。bike | dock | any
limitintegerいいえ返すステーション数の上限(既定値は 5)。
radiusMetersintegerいいえ検索半径(メートル単位、既定値は 1000)。

詳細

tdx-taiwan-mcp

npm CI license

tdx-taiwan SDK を基盤に構築された、台湾の TDX(Transport Data eXchange) API 向けの非公式 MCP サーバーです。Claude などの MCP クライアントが、「自転車がある最寄りの YouBike はどこですか?」「307 はいつ西門に着きますか?」「今夜、左営行きでまだ座席がある高速鉄道はどれですか?」「CI100 は遅延していますか?」や「台北駅の近くで CCS2 車を充電できる場所はどこですか?」といった質問に回答できます。

  • タスクに応じたツール:名前(中国語または英語。台/臺は同一視)または場所で検索し、生のステータスコードではなく「4分」「最終バスは通過済み」のように読みやすい形式で出力します
  • 都市名は TDX コードまたは中国語(Taipei、臺北市、台北)で指定できます
  • 結果のサイズには上限があります。静的リストはキャッシュされ、ライブデータは15秒間キャッシュされます
  • ツールでまだ対応していない任意の TDX エンドポイントには tdx_get を使用できます
  • stdio で動作します。Node.js 20 以降が必要です

TDX キーの取得

tdx.transportdata.tw で登録し、會員中心 → 資料服務 → API金鑰 から Client Id と Client Secret をコピーします。

セットアップ

Claude Code
claude mcp add tdx \
  -e TDX_CLIENT_ID=your-client-id -e TDX_CLIENT_SECRET=your-client-secret \
  -- npx -y tdx-taiwan-mcp
Claude Desktop およびその他のクライアント

サーバーをクライアントの MCP 設定に追加します(Claude Desktop の場合は claude_desktop_config.json)。

{
  "mcpServers": {
    "tdx": {
      "command": "npx",
      "args": ["-y", "tdx-taiwan-mcp"],
      "env": {
        "TDX_CLIENT_ID": "your-client-id",
        "TDX_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
環境変数
変数デフォルト説明
TDX_CLIENT_ID必須TDX API キーの Client Id
TDX_CLIENT_SECRET必須TDX API キーの Client Secret
TDX_REQUESTS_PER_SECOND5クライアント側のレート制限。TDX のプランに合わせて設定してください(0 で無効)
TDX_MAX_ITEMS200各ツールが返す項目数の上限

作業ディレクトリにある .env ファイルも読み込まれます。すでに設定されている変数が優先されます。

ツール

YouBike とバス
ツール回答する内容
youbike_nearby現在、自転車(または空きドック)がある座標付近の最寄りの YouBike/Moovo ステーション
youbike_station名前または住所で YouBike ステーションを検索し、リアルタイムの自転車、電動自転車、空きドックを表示
bus_stops_nearby座標付近のバス停と、各バス停の方面、都市路線およびバス路線
bus_stop_arrivals1つのバス停に到着予定のすべてのバス。全路線をまとめて、到着が早い順に表示
bus_route_search名前または終点のバス停でバス路線を検索し、起終点、運行事業者、運賃を表示
bus_route_stops路線の停留所を順番に表示。方向と支線ごとに確認できます
bus_eta路線の停留所におけるリアルタイムの到着予測。必要に応じて1つの停留所に絞り込めます
bus_timetable指定日の路線の発車予定、または運行間隔
bus_alerts現在および今後の迂回、運休、停留所の移動と最新情報
bus_positions路線上のバスの現在位置、速度、ステータス

バスのツールでは、都市(Taipei、NewTaipei など)を指定します。公路客運/國道客運の長距離バスの場合は InterCity を指定してください。

鉄道
ツール回答する内容
thsr_timetable2つの駅間を運行する当日の高速鉄道(高鐵)列車
thsr_seatsこれらの列車の標準席およびビジネス席の空席状況
thsr_fare車両クラスおよび乗客種別ごとのTHSR運賃
thsr_train1本のTHSR列車の全停車駅
tra_timetable2つの駅間を運行する台湾鉄道(臺鐵)列車と列車種別
tra_live_boardTRAの駅にまもなく到着または出発する列車と遅延状況
tra_train本日のTRA列車1本の停車駅、現在位置、遅延状況
tra_fare列車種別および乗客種別ごとのTRA運賃
metro_live_board次の地下鉄列車までの時間(高雄、桃園。台北は到着列車のみ)
metro_fare2つの駅間の地下鉄運賃
metro_first_last_train地下鉄駅の始発および終電
afr_timetable阿里山森林鉄道(阿里山林業鐵路)の定期時刻表
rail_station_search名前で検索したあらゆる鉄道システムの駅、または座標から最寄りの駅
rail_alertsTHSR、TRA、または地下鉄の運行状況と運行障害

鉄道ツールでは、中国語または英語の駅名(台北、Taipei、台北車站)、または駅IDを指定します。本日の時刻表は、台湾の現在時刻以降の情報を表示します。

航空便
ツール回答する内容
flight_statusフライト(CI100)の時刻、遅延、ゲート、運航状況
flight_board台湾の空港の出発または到着案内と現在の天気
flight_schedule台湾の2つの空港間を運航する当日の国内線(華信、立榮、德安)と運賃

空港はIATAコードまたは名称(TSA、松山、Kinmen)で指定します。

フェリー
ツール回答する内容
ferry_timetable2つの港間を運航する当日の便とリアルタイムの運航状況、および本日の注意報(台風)
ferry_live_board港の本日の出発便と到着便、および遅延・欠航情報
ferry_fareチケット、客室、乗客種別ごとの2つの港間の運賃
ferry_alertsフェリー運航の現在の休止・変更情報

港は名称(富岡、綠島、小琉球)または港IDで指定します。県が運航する航路(澎湖諸島間の船便、旗津、淡水)では、PenghuCountyなどのcityが必要です。

道路
ツール回答内容
traffic_live道路区間ごとの現在の速度と渋滞状況。最も深刻な区間から表示し、各レベルの件数も示します
traffic_travel_timeライブの eTag データに基づく、現在の高速道路インターチェンジ間の車での所要時間(区間ごと)
traffic_events事故、道路工事、通行止め、開催が発表されたイベント(パレード)の場所

道路ツールでは、ネットワークとして freeway(國道)、highway(省道)、または都市を指定します。traffic_travel_time では、中国語の高速道路インターチェンジ名(林口、新竹)を指定します。高速道路の区間は インターチェンジ名に基づいているため、キーワード(林口)で検索してください。

駐車場とEV充電
ツール回答内容
parking_nearby現在、車またはスクーターの空きスペースがある最寄りの駐車場と路上駐車スペース
parking_search名称、住所、道路名で検索できる、空きスペースのある駐車場と路上駐車スペース
ev_charger_nearby空きコネクター(CCS2、Tesla、...)がある最寄りのEV充電器。ACまたはDC、料金も表示

都市によって対応状況は異なります。NewTaipeiでは路上駐車のみ利用でき、すべての駐車場が 空き状況をリアルタイムで公開しているわけではありません(その場合は「no live data」と表示されます)。ev_charger_nearby では 高速道路のサービスエリアを指定するために freeway を指定します。

その他
ツール回答内容
tdx_getOData の filter、select、orderBy、top、skip を使って、任意のTDX APIパスを取得します

MCP レジストリ

このサーバーは MCP registry に io.github.amangeldievkuu/tdx-taiwan-mcp として登録されているため、レジストリを参照できる クライアントは、上記の2つのTDX変数を使ってインストールできます。

ライブラリとして使用

import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { TdxClient } from 'tdx-taiwan';
import { createServer } from 'tdx-taiwan-mcp';

const tdx = new TdxClient({ clientId: '…', clientSecret: '…', cache: true });
await createServer({ tdx }).connect(new StdioServerTransport());

レート制限と課金

TDXではプランごとに1秒あたりのリクエスト数が制限され、呼び出し回数とレスポンスサイズに応じて課金されます。このサーバーは静的な一覧(駅、ルート)を1時間、ライブデータを15秒間キャッシュし、リクエストの間隔を TDX_REQUESTS_PER_SECOND に従って調整します。TDXから引き続き429が返される場合(ベーシックプランでは1分あたりの呼び出し数も制限されます)、TDXの指示に従って待機してから再試行するため、質問が集中すると、ツールの呼び出しに最大1分かかることがあります。

データソース

データソース:交通部 TDX 運輸資料流通服務平臺 (MOTC Transport Data eXchange)。TDXデータには TDX 資料授權利用條款 が適用されます。このプロジェクトは MOTCまたはTDXと提携していません。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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