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 分