Taiwan Garbage Truck Map

dev.yukai由 yukai.dev 發布官方發布者v0.1.0更新於 Oct 25, 2026

臺北、新北、臺中和高雄的垃圾車停靠與到達時間。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Garbage truck stops and arrival times for Taipei, New Taipei, Taichung and Kaohsiung.

已驗證Streamable HTTP可網頁執行

概覽

Taiwan Garbage Truck Map 的託管 MCP 服務(mcp.garbage.yukai.dev),由 yukai.dev 發布;無需登入;Streamable HTTP;4 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

發布者
yukai.dev
端點
mcp.garbage.yukai.dev
最近檢查

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Taiwan Garbage Truck Map,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.yukai%2Ftaipei-trash/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "taiwan-garbage-truck-map": {
      "type": "http",
      "url": "https://mcp.garbage.yukai.dev/mcp"
    }
  }
}

README

Taiwan Garbage Truck Map — MCP Server

Read-only Model Context Protocol server for the garbage-truck dataset powering garbage.yukai.dev. Built on mcp-handler 2.x and @modelcontextprotocol/server 2.x, exposing a single stateless Streamable HTTP endpoint supporting MCP protocol versions 2025-11-25, 2025-06-18, and 2025-03-26.

The server reuses the web app's city adapters (../src/cities), keeping field mappings identical across the site and MCP responses. Data is fetched from the published JSON files (DATA_BASE_URL, defaulting to https://garbage.yukai.dev) and cached in memory for one hour per warm instance. Cities load lazily on demand (note: Taichung's dataset is ~50 MB, taking ~1 s on cold load and ~400 MB RSS in memory).

Tools

ToolPurpose
list_citiesList supported cities, their IDs, and geographic bounding boxes
find_nearby_pointsFind stops within 50–2,000 m of a coordinate, sorted nearest first
search_pointsSearch stops in a city by district, village, road, or route keyword
get_scheduleRetrieve a stop along with every stop on its route in arrival order

All tools are annotated read-only and return structuredContent alongside a plain-text summary. All times are in Asia/Taipei.

For New Taipei and Taichung (whose open data includes weekday schedules), each stop includes a weekly schedule (collectionType → ISO weekdays, 1=Mon … 7=Sun) and a servesToday boolean computed in Taiwan time. Taipei and Kaohsiung do not publish weekday schedules, so those fields are omitted. Unlike the web app's default "today only" view for Taichung, the MCP server loads adapters in allDays mode so agents can answer questions about any day of the week.

Development

bash
cd mcpbun installbun test            # query logic + adapter schedule testsbun run typecheckbun dev.ts          # http://localhost:3939/api/mcp

Test interactively with MCP Inspector:

bash
npx @modelcontextprotocol/inspector

Then connect to http://localhost:3939/api/mcp.

Deployment (Vercel)

This directory is deployed as a standalone Vercel project (taipei-trash-mcp), separate from the GitHub Pages web app. The serverless function is bundled with esbuild at build time (bun run build → api/mcp.js) so that extensionless TypeScript imports in ../src/cities resolve cleanly in Node ESM.

To deploy from the repository root (.vercelignore keeps the upload minimal):

  1. Import the repository in Vercel and set Root Directory to mcp.
  2. Leave Include source files outside of the Root Directory enabled (default) so the build can import ../src/cities.
  3. Add the custom domain (vercel api /v10/projects/<id>/domains -X POST -F name=mcp.garbage.yukai.dev) and configure the CNAME and _vercel TXT records at your DNS provider.
  4. Optional environment variables: DATA_BASE_URL, MCP_ALLOWED_ORIGINS (comma-separated allowlist for browser clients).
  5. Rate limiting is enforced via a Vercel Firewall rule (mcp-rate-limit: 60 requests/min per IP on /api/mcp and /mcp).

Production endpoint: https://mcp.garbage.yukai.dev/mcp (also accessible at /api/mcp; fallback https://taipei-trash-mcp.vercel.app). For stdio-only clients, use npx mcp-remote https://mcp.garbage.yukai.dev/mcp.

Discovery Endpoints

  • /mcp/server-card — MCP Server Card (SEP-2127), served as application/mcp-server-card+json from public/server-card.json.
  • /.well-known/ai-catalog.json — AI Catalog entry pointing to the Server Card (also hosted on https://garbage.yukai.dev).
  • /llms.txt — plain-text guide for LLMs.

Directory Listings

  • server.json — the official MCP Registry manifest for this remote-only server. It mirrors public/server-card.json (same name, version, title, description, repository and remote URL) so the two never disagree.

  • Publish it with the official CLI (namespace dev.yukai/* requires DNS or HTTP verification of yukai.dev — GitHub OAuth only grants io.github.*/*):

    bash
    mcp-publisher validate server.jsonmcp-publisher login dns --domain yukai.dev --private-key "$PRIVATE_KEY"mcp-publisher publish server.json
  • Step-by-step submission notes for the official registry, Smithery, Glama, PulseMCP, mcp.so and awesome-remote-mcp-servers (including the copy to paste and the manual account/DNS steps) live in docs/mcp-directory-submission.md.

Security Notes

  • No authentication: all underlying data is public government open data and every tool is strictly read-only.
  • Origin check: requests carrying an Origin header are rejected with 403 unless the origin is listed in MCP_ALLOWED_ORIGINS, per the MCP transport specification. Native and server-side clients do not send an Origin header.

來源:mcp/README.md,提交 d11d646

工具

4

list_cities

List supported cities

List the cities with garbage-truck collection data, with their ids and bounding boxes.

無需輸入參數。

find_nearby_points

Find nearby collection points

Find garbage-truck stops near a coordinate in Taipei, New Taipei, Taichung or Kaohsiung, nearest first, with arrival times. Searches every city whose area overlaps the radius unless `city` is given.

輸入參數lat必填lng必填citylimitradiusMeters

search_points

Search collection points by name

Search one city's stops by district, village, location or route text (Traditional Chinese). All space-separated terms must match, e.g. "大安區 安和路".

輸入參數city必填limitquery必填

get_schedule

Get a stop and its route schedule

Get one collection point by id (from find_nearby_points or search_points) plus every stop on the same route in arrival order.

輸入參數pointId必填

版本歷史

1
  1. v0.1.0最新Oct 20, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分