mcpField
T
Taiwan Garbage Truck Map

Taiwan Garbage Truck Map

リモート
garbage.yukai.dev地図・旅行61 週間前に更新
リポジトリ公式サイト

Taiwan Garbage Truck Map について

Taiwan Garbage Truck Mapは、台北、新北、台中、高雄のごみ収集車の停車地点や到着情報をMCPクライアントに提供する読み取り専用サービスです。位置やキーワードで検索でき、ルートの時刻表も確認できます。

主な機能

  1. 01対応都市と地理的範囲の一覧
  2. 02座標から近隣地点を検索
  3. 03地区やキーワードで地点を検索
  4. 04地点とルートの時刻表を取得
  5. 05一部都市の週間収集予定を提供

活用シーン

  1. 01座標周辺のごみ収集地点を探す
  2. 02道路や地区から収集地点を検索
  3. 03ルート上の地点順と到着予定を確認
  4. 04新北または台中の週間予定を確認

MCP 対応

Streamable HTTPで都市一覧、地点検索、時刻表のツールを公開する読み取り専用MCPサーバーです。結果には構造化データとテキスト要約が含まれます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.garbage.yukai.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

台湾ごみ収集車マップ — MCP サーバー

garbage.yukai.dev を支えるごみ収集車データセット向けの読み取り専用 Model Context Protocol サーバーです。mcp-handler 2.x と @modelcontextprotocol/server 2.x を基盤として構築されており、MCP プロトコルバージョン 2025-11-25、2025-06-18、2025-03-26 に対応する、ステートレスな Streamable HTTP エンドポイントを 1 つ公開します。

このサーバーはウェブアプリの市区町村アダプター(../src/cities)を再利用し、サイトと MCP の応答でフィールドのマッピングを統一しています。データは公開済みの JSON ファイルから取得され(DATA_BASE_URL。デフォルトは https://garbage.yukai.dev)、ウォームインスタンスごとにメモリ上で 1 時間キャッシュされます。市区町村のデータは必要に応じて遅延読み込みされます(注:台中市のデータセットは約 50 MB で、初回読み込みに約 1 秒、メモリ上で約 400 MB の RSS を使用します)。

ツール

ツール目的
list_cities対応している市区町村、その ID、地理的な境界ボックスを一覧表示します
find_nearby_points座標から 50~2,000 m 以内の停留所を、近い順に検索します
search_points市区町村内の停留所を、行政区、里、道路、路線のキーワードで検索します
get_schedule停留所と、その路線上にあるすべての停留所を到着順で取得します

すべてのツールには読み取り専用の注釈が付いており、プレーンテキストの概要に加えて structuredContent を返します。時刻はすべて Asia/Taipei です。

新北市と台中市(オープンデータに曜日別のスケジュールが含まれる市区町村)では、各停留所に週間の schedule(collectionType → ISO 曜日、1=月曜日 … 7=日曜日)と、台湾時間で計算された servesToday のブール値が含まれます。台北市と高雄市では曜日別のスケジュールが公開されていないため、これらのフィールドは省略されます。台中市ではウェブアプリのデフォルト表示が「今日のみ」ですが、エージェントが週の任意の曜日について回答できるよう、MCP サーバーはアダプターを allDays モードで読み込みます。

開発

cd mcp
bun install
bun test            # query logic + adapter schedule tests
bun run typecheck
bun dev.ts          # http://localhost:3939/api/mcp

MCP Inspector で対話的にテストします:

npx @modelcontextprotocol/inspector

その後、http://localhost:3939/api/mcp に接続します。

デプロイ(Vercel)

このディレクトリは、GitHub Pages のウェブアプリとは別の独立した Vercel プロジェクト(taipei-trash-mcp)としてデプロイされます。サーバーレス関数はビルド時に esbuild でバンドルされるため(bun run build → api/mcp.js)、../src/cities 内の拡張子を省略した TypeScript のインポートを Node ESM で正しく解決できます。

リポジトリのルートからデプロイする場合(.vercelignore によりアップロード内容が最小限に抑えられます):

  1. Vercel にリポジトリをインポートし、Root Directory を mcp に設定します。
  2. ビルドで ../src/cities をインポートできるように、Include source files outside of the Root Directory を有効のままにします(デフォルト)。
  3. カスタムドメイン(vercel api /v10/projects/<id>/domains -X POST -F name=mcp.garbage.yukai.dev)を追加し、DNS プロバイダーで CNAME と _vercel の TXT レコードを設定します。
  4. 任意の環境変数:DATA_BASE_URL、MCP_ALLOWED_ORIGINS(ブラウザークライアント向けのカンマ区切り許可リスト)。
  5. レート制限は Vercel Firewall ルール(mcp-rate-limit:/api/mcp と /mcp で IP ごとに毎分 60 リクエスト)によって適用されます。

本番エンドポイント:**https://mcp.garbage.yukai.dev/mcp**(`/api/mcp` からもアクセス可能。フォールバックは https://taipei-trash-mcp.vercel.app)。stdio のみをサポートするクライアントでは、npx mcp-remote https://mcp.garbage.yukai.dev/mcp を使用してください。

ディスカバリーエンドポイント

  • /mcp/server-card — MCP Server Card(SEP-2127)。public/server-card.json から application/mcp-server-card+json として提供されます。
  • /.well-known/ai-catalog.json — Server Card を参照する AI Catalog エントリー(https://garbage.yukai.dev でもホストされています)。
  • /llms.txt — LLM 向けのプレーンテキストガイド。

ディレクトリへの掲載

  • server.json — このリモート専用サーバーの公式 MCP Registry用マニフェストです。public/server-card.jsonと同じname、version、title、description、リポジトリ、リモート URL を反映しているため、両者の内容が食い違うことはありません。

  • 公式 CLI で公開します(名前空間dev.yukai/*には、yukai.devの DNS または HTTP による検証が必要です。GitHub OAuth で取得できるのはio.github.*/*のみです)。

    mcp-publisher validate server.json
    mcp-publisher login dns --domain yukai.dev --private-key "$PRIVATE_KEY"
    mcp-publisher publish server.json
    
  • 公式レジストリ、Smithery、Glama、PulseMCP、mcp.so、awesome-remote-mcp-servers への登録手順(貼り付ける内容と手動でのアカウント作成/DNS 設定手順を含む)は、docs/mcp-directory-submission.mdをご覧ください。

セキュリティに関する注意事項

  • 認証なし:基盤となるデータはすべて政府が公開するオープンデータであり、すべてのツールは厳密に読み取り専用です。
  • オリジンのチェック:Originヘッダーを含むリクエストは、MCP トランスポート仕様に従い、オリジンがMCP_ALLOWED_ORIGINSに記載されていない限り403で拒否されます。ネイティブクライアントおよびサーバーサイドクライアントはOriginヘッダーを送信しません。

コメント

MCP は初めてですか?

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

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