Ekidata

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

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

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Local bridge to a hosted MCP server that relays official Japanese station, accessibility, hazard and live alert data in English.

What you can do
  • Check server health and data freshness with a ping
  • Look up official municipality data by code or name, or resolved from a station
  • Find accessible toilets inside stations and public toilets in a city
  • Get official disaster-risk categories for a station and live JMA river flood and landslide alerts
  • Search stations by describing surroundings in English or Japanese
  • Check live Tokyo-area train service status by line or station
When to use it
Useful when you want an assistant to answer questions about Japanese train stations, accessibility facilities, municipal statistics, disaster risk or live flood, landslide and train disruption information, with answers drawn from official sources and returned in English.
Requirements
Runs as a local process via npx or Docker; needs network access to the upstream hosted endpoint. No account or key is required by default. Optional environment variables GACHI_MCP_URL (override the upstream endpoint) and GACHI_API_KEY (sent as a Bearer authorization header) are supported.
Before you install
Tool calls are forwarded to a third-party hosted endpoint, so the arguments you pass leave your machine. If GACHI_API_KEY is set it is sent upstream as a bearer token. The README notes the endpoint override and key forwarding are reconstructions rather than part of the original captured surface. All listed tools only read public data.

Installation

In SourceWeft

  1. Open Ekidata in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit d485b75

Tools

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.

Takes no parameters.

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 / 新宿区).

Parametersfieldsname_or_coderequired

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.

Parametersfieldsstation_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.

Parametersstationrequired

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.

Parameterscityrequired

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.

Parametersstation_namerequired

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.

Parametersarea

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.

Parametersstation_namerequired

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).

Parametersqueryrequired

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts