mcpField
D
Dragonmcp

Dragonmcp

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

Dragonmcp について

DragonMCPは、香港と中国本土の境界地域のリアルタイム交通、天気、ルート情報をAIエージェントに提供するMCPサーバーです。香港のデータはキー不要で、中国本土向けAmapツールには利用者のキーが必要です。上流データが利用できない場合は、その状態を返します。

主な機能

  1. 01MTRの到着時刻と乗換ルートの検索
  2. 02香港の天気と警報の取得
  3. 03香港・中国本土のルート検索
  4. 04Amapによる地点検索と各種ルート案内
  5. 05上流データソースの疎通確認

活用シーン

  1. 01MTRの次の列車と到着時刻の確認
  2. 02香港の天気や台風・豪雨警報の確認
  3. 03中国本土の徒歩・車・公共交通・自転車ルートの検索
  4. 04交通・天気APIの利用可否の確認

MCP 対応

stdioまたはHTTPで、リアルタイム交通、天気、地点検索、ルート案内のツールをMCPクライアントに公開します。香港向けツールはキー不要で、Amapツールには利用者のAPIキーが必要です。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

DragonMCP ロゴ

DragonMCP

AI エージェント向けの香港および越境オープンデータ

English | 简体中文

Model Context Protocol を通じて、MTR のリアルタイム到着情報、香港天文台の天気、そして中国本土のルート情報を提供します。

クイックスタート • ツール • 制限事項 • ロードマップ

License: MIT TypeScript MCP Node.js


🌟 DragonMCP とは?

香港および中国本土との国境地域の実際に検証可能な公共データを AI エージェントに提供する MCP サーバーです。

このサーバーのすべてのツールは、実際の API を呼び出します。モックはありません。 上流のデータソースが停止している場合、ツールはその旨を伝えます。もっともらしい回答を捏造することはありません。組み込みの system_run_selftest ツールを使えば、いつでも自分で検証できます。このツールはすべての上流サービスに ping を送信し、実際に到達可能なサービスを報告します。

このニッチな領域に取り組む理由は、香港の公共データは本当にオープンで(data.gov.hk、API キー不要、レート制限の申請手続きも不要)、各機関に分散しており、形式も統一されていないためです。また、MTR、中国本土の鉄道網、そして異なる気象機関2つにまたがる越境移動は、単一の機関では提供する動機がない、まさにそのようなケースです。


🔥 ライブの使用例

MTR のリアルタイム到着情報 — API キーは不要です:

> When is the next train from Admiralty to Central?

Next Island Line train from Admiralty to Central (towards Kennedy Town):
- Arriving in: 0 min(s) (14:02:27)
Subsequent trains:
- 4 min(s) (14:06:27)
- 7 min(s) (14:09:27)

香港天文台 — API キー不要。発令中の警報も含まれます:

> What's the weather in Hong Kong?

Current Weather in Hong Kong (Updated: 2026-08-04T13:02:00+08:00):
- Temperature: 30°C
- Humidity: 75%
- UV Index: 8 (very high)

Warnings:
The Thunderstorm Warning has been issued. It will remain effective until
3:00 p.m. today. Isolated thunderstorms are expected to occur over New
Territories West.

🛠️ ツール

ツールデータソースAPI キー機能
search_mtr_scheduledata.gov.hk 経由の MTR—乗り換えを含む経路検索とリアルタイム到着情報。全10路線、全98駅に対応
hk_weather_current香港天文台—現在の気象状況と発令中の警報
hk_typhoon_signal香港天文台—台風、暴雨、その他の発令中の警報状況を構造化して提供
search_transit_routeMTR / Amap中国本土のみ香港/中国本土の統合ルート検索。適切なプロバイダーを選択
system_run_selftest上記すべて—すべての上流サービスへのライブ到達可能性チェック
amap_search_poiAmap(Gaode)✅中国本土の POI 検索
amap_walking_directionAmap(Gaode)✅徒歩ルート
amap_driving_directionAmap(Gaode)✅車のルート
amap_transit_directionAmap(Gaode)✅公共交通機関のルート
amap_bicycling_directionAmap(Gaode)✅自転車ルート

MTR の対応範囲 — 全10路線。駅名は英語または中国語で指定できます:

港島線 (Island) · 荃湾線 (Tsuen Wan) · 观塘线 (Kwun Tong) · 将军澳线 (Tseung Kwan O) · 東鉄線(East Rail、羅湖および落馬洲まで運行) · 屯馬線 (Tuen Ma) · 南港島線 (South Island) · 東涌線 (Tung Chung) · 機場快線 (Airport Express) · 迪士尼線 (Disneyland Resort)


⚠️ 制限事項

最初に明記します。制限を隠すツールは、エージェントに嘘をつくツールだからです。

  • ルートは所要時間ではなく、乗り換え回数を最小化します。 駅間の所要時間は公開されていないため、実際に測定できる項目を基準に最適化しています。そのため、返された乗り換え1回のルートよりも、乗り換え2回のルートのほうが速い場合があります。
  • リアルタイム到着情報は、乗車する区間のみを対象とします。 所要時間がわからないため、乗り換え駅に到着する時刻はお伝えできません。そのため、後続区間の到着時刻を提示すると、事実ではない情報を作り出すことになります。
  • 2つの駅にはリアルタイム情報のフィードがありません。 上流 API から Tin Hau または Prince Edward の到着情報は提供されていません。これらの駅を経由するルートは利用できますが、到着情報は捏造せず、利用不可として報告します。
  • Amap のツールにはご自身のキーが必要です。また、中国本土のみを対象としています。
  • 越境の旅程計画にはまだ対応していません。 East Rail は国境の駅まで運行していますが、香港から深圳までの旅程全体をつなぐ機能はロードマップのステージ 2 です。

🚀 クイックスタート

前提条件: Node.js >= 18

git clone https://github.com/arthurpanhku/DragonMCP.git
cd DragonMCP
npm install
npm run build

香港向けのツールでは .env は不要です。Amap のツールを使う場合は、テンプレートをコピーしてキーを追加してください。

cp .env.example .env
Claude Desktop に接続する

claude_desktop_config.json に追加してください。

{
  "mcpServers": {
    "DragonMCP": {
      "command": "node",
      "args": ["/absolute/path/to/DragonMCP/dist/stdio.js"]
    }
  }
}

中国本土向けのツールを使う場合のみ、"env": { "AMAP_API_KEY": "your_key" } を追加してください。

その他の実行方法
npm run dev:stdio   # stdio transport, for local MCP clients
npm run dev         # HTTP server: Streamable HTTP at /mcp, legacy SSE at /mcp/sse
docker-compose up -d --build

stdio モードでは、stdin/stdout が MCP JSON-RPC を伝送します。プロトコルのストリームをクリーンに保つため、診断情報は stderr に出力されます。


🏗️ アーキテクチャ

graph TD
    A[AI Agent Client] -->|MCP: stdio or HTTP| B[DragonMCP Server]
    B --> C[Tool Registry]

    C --> D["Hong Kong (no key)"]
    C --> E["Mainland China (Amap key)"]
    C --> F["Cross-border aggregator"]

    D -.-> G[data.gov.hk: MTR real-time]
    D -.-> H[HK Observatory]
    E -.-> I[Amap Web Service API]
    F -.-> D
    F -.-> E

🗺️ ロードマップ

ステージ 1 — データの出所と設定不要の利用

  • すべてのツールの応答に source、fetched_at、freshness を含める
  • npm に公開し、クローンもキーも不要で npx dragon-mcp を使えるようにする
  • ステータスバッジ付きの日次 CI セルフテストを実施し、「今日、データソースが稼働していること」を誰でも確認できるようにする

ステージ 2 — 越境

  • MTR の乗り換え計画
  • 国境検問所、Guangzhou–Shenzhen–Hong Kong Express Rail、Airport Express との統合
  • plan_cross_border_trip:境界の両側にまたがる旅程を1回の呼び出しで計画

ステージ 3 — 対応範囲の拡大

  • data.gov.hk のデータソースを追加(バス/フェリーの到着予定時刻、台風シグナル、空気質)
  • Macau

🧪 テスト

npm test          # unit + integration; hermetic, no network required
npm run check     # typecheck
npm run lint

代わりに稼働中の上流サービスを確認するには、任意の MCP クライアントから system_run_selftest ツールを呼び出してください。


🤝 コントリビューション

CONTRIBUTING.md をご覧ください。

厳守事項:モックツールは禁止です。 捏造したデータを返すツールは、存在しないツールよりも有害です。エージェントがその違いを判断できないからです。上流 API が利用できない場合は、そのツールを登録しないのが正しい対応です。

取り組みやすい分野:MTR の乗り換え計画、data.gov.hk のデータソースの追加、East Rail と Tseung Kwan O の分岐処理。


🙏 謝辞

  • Anthropic — Model Context Protocol のため
  • MTR Corporation と data.gov.hk — オープンなリアルタイム交通機関 API のため
  • Hong Kong Observatory — オープンな気象 API のため
  • Amap (Gaode) — 地図とルート検索のため

📄 ライセンス

MIT — LICENSE をご覧ください。

コメント

MCP は初めてですか?

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

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