mcpField
E
ekidata

ekidata

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

ekidata について

ekidataは、ホスト型MCPサーバーの公式な日本の公共データを中継するローカルブリッジです。英語で駅、アクセシビリティ、災害リスク、警報、列車運行状況を調べるエージェントやクライアント向けで、独自データは保持せず読み取り専用の呼び出しを転送します。

主な機能

  1. 01自治体・駅の情報
  2. 02バリアフリートイレ検索
  3. 03駅の災害リスク分類
  4. 04河川・土砂災害の速報
  5. 05東京圏の列車運行状況

活用シーン

  1. 01駅構内のバリアフリートイレ検索
  2. 02駅の公式災害データの確認
  3. 03地域の速報の確認
  4. 04東京圏の列車運行状況の確認

MCP 対応

ローカルのstdio MCPサーバーとしてホスト側のツールを公開し、呼び出しを上流へ転送します。結果は変更せず返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-ekidata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/ekidata"
]
}
}
}
起動コマンドnpx -y @reneturcios/ekidata

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

パッケージ
npm@reneturcios/ekidata0.1.0
ocighcr.io/cloudcorprecords/ekidata:0.1.0

ツール

10

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

このツールにパラメーターはありません。

詳細

ekidata

ekidata は、公式の日本の公開データを英語で中継する、ホスト型 MCP サーバーへの小規模なローカルブリッジです。 自治体や駅の情報、バリアフリートイレの検索、国土交通省のデータに基づく駅の災害リスク分類、駅の検索、JMA の河川や土砂災害に関するリアルタイム警報、東京都周辺の列車運行状況を扱います。

このブリッジは独自のデータセットを保持しません。ライブエンドポイントから取得した内容をそのままローカルで提供し、上流サーバーのツール一覧を公開します。また、各ツール呼び出しを上流に転送し、結果を変更せずに返します。取得したツール一覧に含まれるツールは、すべて公開データの読み取りのみを行います。

ツール

  • ping — 接続テストと鮮度チェックです。引数も必須フィールドもありません。
  • get_municipality_context — 5 桁のコードまたは正確な名称で指定した自治体の公式データです。必須:name_or_code。任意:fields。
  • get_station_context — 駅名または station_id から特定した、同じ自治体情報です。取得したスキーマでは必須項目が空のため、どちらの識別子も指定できます。
  • get_toilet_by_station — 駅構内のバリアフリートイレです。階、設備、最寄りの出口も含みます。必須:station。
  • get_public_toilet_by_city — 自治体内の公衆トイレです。バリアフリー対応の有無、住所、座標も含みます。必須:city。
  • get_station_hazard — 国土交通省のデータから中継される、駅の公式な災害リスク分類です。必須:station_name。
  • station_search — 駅周辺にあってほしいものを英語または日本語で説明して駅を検索します。name_contains、pref、limit、ラーメン、トイレ、おむつ、洪水ランクなどの任意のフィルターを指定できます。必須:q。
  • get_active_alerts — JMA の河川洪水予報と土砂災害警報をリアルタイムで取得します。任意:area。必須フィールドはありません。
  • get_station_alerts — 駅の都道府県を対象とする、同じ JMA 警報です。必須:station_name。
  • get_train_status — 路線名または駅名で指定する、東京都周辺の列車運行状況です。必須:query。

設定

  • GACHI_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトは https://api.gachi-tokusuru.com/mcp です。(上書き用のフックは、この再構築で独自に追加したものとして明示されています。)
  • GACHI_API_KEY(任意)— 設定すると、すべての上流リクエストに Authorization: Bearer <key> ヘッダーが付加されます。未設定の場合、認証ヘッダーは送信されません。(この転送機能も、この再構築で独自に追加したものとして明示されています。元のインターフェースはキーなしで取得されています。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流とのストリーム可能な HTTP セッションを開きます。まず JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo の name は ekidata)を送信し、次に notifications/initialized 通知を送り、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が initialize に対して Mcp-Session-Id ヘッダーを返した場合、その値はセッション内の以降のすべてのリクエストに付加され、プロセスの実行中は同じセッションが再利用されます。応答は通常の JSON またはサーバー送信イベントで届く場合があり、どちらも読み取ります。

上流からの成功結果は、上流が設定した isError フラグも含め、一切変更せずに渡されます。JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、リクエストを完了できない場合などの失敗は、テキストが ekidata error: で始まる isError 結果として返されます。(このエラー形式も、この再構築で独自に追加したものとして明示されています。)

CLI

各ツールはサブコマンドとしても実行でき、JSON 引数文字列を 1 つ受け取ります(引数を必要としないツールでは省略します)。

npx @reneturcios/ekidata ping
npx @reneturcios/ekidata get_municipality_context '{"name_or_code":"13104"}'
npx @reneturcios/ekidata station_search '{"q":"terminal station with late-night ramen"}'
npx @reneturcios/ekidata get_train_status '{"query":"Yamanote"}'
npx @reneturcios/ekidata --version

終了コード:成功時は 0、isError 結果の場合は 1、使用方法が誤っている場合は 2 です。

MCP サーバー

npx -y @reneturcios/ekidata mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "ekidata": {
      "command": "npx",
      "args": ["-y", "@reneturcios/ekidata", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/ekidata
docker run --rm ghcr.io/cloudcorprecords/ekidata --version

コンテナのデフォルトコマンドは mcp です。そのため、最初の形式では stdio MCP サーバーとして動作し、それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートはすべて、スタブ化された JSON-RPC 上流サーバーを使用して実行されます。ライブネットワークへの呼び出しはありません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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