Ekidata

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 7, 2026

Japanese station, accessibility, hazard and alert data from official sources, in English.

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

本機橋接工具,轉送到託管 MCP 伺服器,以英文提供日本車站、無障礙設施、災害風險與即時警報的官方資料。

可以做什麼
  • 用 ping 檢查伺服器連線狀態與資料更新時效
  • 依五位代碼或名稱查詢市町村官方資料,或由車站反查所在市町村
  • 查詢車站內無障礙廁所與市町村公共廁所
  • 取得車站官方災害風險分類,以及即時 JMA 河川洪水與土砂災害警報
  • 用英文或日文描述周邊條件來搜尋車站
  • 依路線或車站查詢東京圈即時列車運行狀態
適用情境
適合需要助理回答日本車站、無障礙設施、市町村統計、災害風險,或即時洪水、土砂災害與列車運行異常等問題的情境,答案來自官方來源並以英文回傳。
執行需求
以本機程序方式透過 npx 或 Docker 執行,需要能連線到上游託管端點的網路。預設不需帳號或金鑰。可選環境變數 GACHI_MCP_URL(覆寫上游端點)與 GACHI_API_KEY(以 Bearer 授權標頭送出)。
安裝前請注意
工具呼叫會轉送到第三方託管端點,傳入的參數會離開本機。若設定了 GACHI_API_KEY,該金鑰會以 Bearer 權杖送往上游。README 說明端點覆寫與金鑰轉送屬於重建部分,並非原始擷取介面的內容。所列工具皆只讀取公開資料。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ekidata

ekidata is a small local bridge to a hosted MCP server that relays official Japanese public data in English: municipality and station context, accessible-toilet lookups, station hazard categories from MLIT data, station search, live JMA river and landslide alerts, and Tokyo-area train status.

The bridge keeps no dataset of its own. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched. Every tool in the captured surface only reads public data.

Tools

  • ping — connection test and freshness check. No arguments and no required fields.
  • get_municipality_context — official data for a municipality by 5-digit code or exact name. Required: name_or_code. Optional: fields.
  • get_station_context — the same municipality context resolved from a station name or station_id. Its captured schema carries an empty required list, so either identifier may be supplied.
  • get_toilet_by_station — accessible toilets inside a station, with floor, equipment and nearest exit. Required: station.
  • get_public_toilet_by_city — public toilets in a municipality, with accessibility flags, address and coordinates. Required: city.
  • get_station_hazard — official disaster-risk categories at a station, relayed from MLIT data. Required: station_name.
  • station_search — find stations by describing what should be around them, in English or Japanese, with optional filters such as name_contains, pref, limit, ramen, toilet, diaper and flood-rank options. Required: q.
  • get_active_alerts — live JMA river flood forecasts and landslide alerts. Optional: area. No required fields.
  • get_station_alerts — those same JMA alerts for a station's prefecture. Required: station_name.
  • get_train_status — live Tokyo-area train service status by line or station name. Required: query.

Configuration

  • GACHI_MCP_URL (optional) — override the upstream endpoint. Defaults to https://api.gachi-tokusuru.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • GACHI_API_KEY (optional) — when set, every upstream request carries an Authorization: Bearer <key> header. When it is not set, no auth header is sent. (This forwarding is also a labelled reconstruction; the original surface was captured keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name ekidata), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with ekidata error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/ekidata pingnpx @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

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/ekidata mcp

MCP client config:

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

Docker

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

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

來源:README.md,提交 d485b75

工具

10

ping

Connection test / health check — call this first to confirm the server is reachable. Returns server identity, deploy version, tool count, station coverage, and the update times of the realtime layers (JMA alerts, train status) so you can confirm freshness, not just liveness. No auth, no arguments, lightweight.

無需輸入參數。

get_municipality_context

Official Japanese government data for any municipality, one call — housing vacancy (2003–2023), nearest-station ridership trend, hazard categories, land prices, livability counts. No scores, no judgment — official values only. Accepts a 5-digit municipality code (13104) or an exact name (Shinjuku-ku / 新宿区).

輸入參數fieldsname_or_code必填

get_station_context

Same official municipality data as get_municipality_context, resolved from a station: pass a station name (Shinjuku / 新宿 / Musashi-Kosugi) or a Japan Station Master station_id (e.g. st_00001), and it returns the context for that station's municipality. Official values only — no scores.

輸入參數fieldsstation_idstation_name

get_toilet_by_station

Look up wheelchair-accessible / multipurpose toilets inside a train station, including floor, gender, equipment (wheelchair, ostomate, diaper table) and the nearest exit. Covers 526 Tokyo stations (Tokyo Bureau of Social Welfare data). Major stations outside Tokyo (Yokohama, Kawasaki, Omiya, Chiba, Fujisawa, Shin-Yokohama…) return an in-station layer that groups accessible toilets by ticket gate — inside vs outside — per railway operator. Accepts Japanese (新宿, 横浜) or romaji (Shinjuku, Yokohama) for major stations.

輸入參數station必填

get_public_toilet_by_city

List public toilets in a Japanese municipality, with wheelchair / baby-seat / ostomate flags, address and coordinates. Covers 612 municipalities nationwide (large cities capped at the top 50 results). Municipality names accept Japanese (e.g. 那覇市, 渋谷区); prefixing the prefecture improves accuracy.

輸入參數city必填

get_station_hazard

Official disaster-risk categories at a Japanese train station, relayed live from the MLIT 不動産情報ライブラリ (Real Estate Information Library): flood inundation-depth rank, landform / liquefaction classification, and storm-surge inundation-area presence (landslide & tsunami are license-restricted and return available:false with a link to the official maps). Returns the official values/categories as-is — no composite score, no judgment. Accepts a station name in Japanese (新宿, 武蔵小杉) or romaji (Shinjuku, Musashi-Kosugi). For research/analytics; NOT a substitute for official government hazard maps or evacuation decisions.

輸入參數station_name必填

get_active_alerts

Live river flood forecasts and landslide alerts for Japan (JMA official). NOT general weather warnings (storm/heavy rain/snow) and NOT earthquakes. Covers JMA 指定河川洪水予報 (river flood forecast, levels 2–5) and 土砂災害警戒情報 (landslide warning), each with level, affected area, official summary and issue time. Optional `area` filters by 2-digit prefecture code (e.g. 13 = Tokyo) or a JMA forecast-area code. Relay of official facts — not a warning issued by this service, not a life-safety system.

輸入參數area

get_station_alerts

Live JMA river flood forecasts and landslide alerts affecting a station's prefecture — NOT general weather warnings. Ask by station name in Japanese (新宿) or romaji (Shinjuku). Prefecture-level match (station master is Greater Tokyo). Relay of official JMA facts.

輸入參數station_name必填

get_train_status

Live train service status for Tokyo-area lines — delays, suspensions, resumptions. Ask 'is the Yamanote Line running?' by line or station name, English or Japanese. Status enum: normal / delayed / suspended / resumed. Cause text relayed from ODPT (English summary for known patterns, else original text + null). Data via ODPT (CC BY 4.0).

輸入參數query必填

版本歷史

1
  1. v0.1.0最新Nov 4, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分