# Gachi Data API — Japan Station & Accessibility Data (remote · api.gachi-tokusuru.com)

Deep, obscure Japanese station, accessibility & hazard data for AI agents. English-first.

- Trust score: 66/100 (medium)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.gachi-tokusuru.com`: 66/100 (this document), [markdown](https://verifymcp.io/servers/com-gachi-tokusuru-japan-data-api/api.md), [page](https://verifymcp.io/servers/com-gachi-tokusuru-japan-data-api/api)

## Channel facts

- Endpoint: `https://api.gachi-tokusuru.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 66/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1984 tokens (~198/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-gachi-tokusuru-japan-data-api https://api.gachi-tokusuru.com/mcp
```

### Codex

```toml
[mcp_servers.com-gachi-tokusuru-japan-data-api]
url = "https://api.gachi-tokusuru.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-gachi-tokusuru-japan-data-api": {
      "type": "remote",
      "url": "https://api.gachi-tokusuru.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-gachi-tokusuru-japan-data-api --url https://api.gachi-tokusuru.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-gachi-tokusuru-japan-data-api:
    url: "https://api.gachi-tokusuru.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-gachi-tokusuru-japan-data-api": {
      "type": "http",
      "url": "https://api.gachi-tokusuru.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 65, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 65, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 65, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 64)

First indexed and scored.

## MCP tools (10)

### `ping` (~71 tokens)

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.

Output parameters:

- `rate_limit_noauth`: No-auth rate limit.
- `realtime_layers` (object): Update times of the realtime KV snapshots (a field is omitted if that layer is unavailable).
- `server`: Server name.
- `stations_covered`: Stations with accessible-toilet data.
- `status`: Always "ok" when the server is reachable.
- `tools`: Number of tools exposed by this server.
- `version`: Deploy version.

### `get_municipality_context` (~150 tokens)

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

Input parameters:

- `fields` (string): Optional comma-separated subset: vacancy,ridership,population,hazard,land_price,livability.
- `name_or_code` (string, required): 5-digit 全国地方公共団体コード (e.g. 13104) or exact municipality name (Shinjuku-ku / 新宿区).

Output parameters:

- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `hazard`: Hazard categories.
- `hazard_disclaimer`: Hazard usage disclaimer.
- `land_price`: Published land prices near the centroid.
- `livability`: Livability counts.
- `municipality`: Resolved municipality + code.
- `population`: Population / future estimate.
- `ridership`: Nearest-station ridership trend.
- `vacancy`: Housing-vacancy counts (2003–2023).

### `get_station_context` (~161 tokens)

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.

Input parameters:

- `fields` (string): Optional comma-separated subset: vacancy,ridership,population,hazard,land_price,livability.
- `station_id` (string): Japan Station Master station_id (e.g. st_00001). Alternative to station_name.
- `station_name` (string): Station name in English/romaji (Shinjuku) or Japanese (新宿). Provide this or station_id.

Output parameters:

- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `hazard`: Hazard categories.
- `land_price`: Land prices near the centroid.
- `livability`: Livability counts.
- `municipality`: Municipality + code.
- `population`: Population / future estimate.
- `ridership`: Ridership trend.
- `station`: Resolved station.
- `vacancy`: Housing-vacancy counts.

### `get_toilet_by_station` (~175 tokens)

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.

Input parameters:

- `station` (string, required): Station name in Japanese (新宿, 渋谷) or romaji for major stations (Shinjuku, Shibuya, Kita-Senju).

Output parameters:

- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `count`: Toilets returned.
- `error`: Set when nothing was found.
- `layer`: Data layer (e.g. in_station_gate).
- `note`: Human-readable note.
- `source`: Data source label.
- `station`: Resolved station (English).
- `station_ja`: Station name in Japanese.
- `station_name_source`: How the name was resolved.
- `toilets` (array): Accessible toilets with floor, gender, equipment and nearest exit.

### `get_public_toilet_by_city` (~113 tokens)

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.

Input parameters:

- `city` (string, required): Municipality name in Japanese (e.g. 那覇市, 渋谷区, 上天草市). Prefix the prefecture for accuracy.

Output parameters:

- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `city`: Resolved municipality.
- `count`: Toilets returned.
- `error`: Set when nothing was found.
- `note`: Human-readable note.
- `toilets` (array): Public toilets with wheelchair / baby-seat / ostomate flags, address and coordinates.

### `get_station_hazard` (~181 tokens)

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.

Input parameters:

- `station_name` (string, required): Station name in Japanese (新宿, 武蔵小杉) or romaji (Shinjuku, Musashi-Kosugi).

Output parameters:

- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `disclaimer`: Usage disclaimer (not a substitute for official maps).
- `hazard`: Official categories: flood inundation depth, landform/liquefaction, storm-surge.
- `station`: Resolved station + coordinates.

### `station_search` (~756 tokens)

Discover Japanese train stations by describing what you want around them, in English or Japanese — "朝ラーメンが食べられて車椅子トイレがある駅", "terminal station with late-night ramen", "水害リスクが低くてラーメンが多い駅". Semantic search over 9,035 station profiles (lines/terminal size, ramen density & styles, in-station accessible-toilet equipment, official hazard categories, ridership) with hybrid metadata filters — the filters guarantee the constraint, the embedding ranks by fit. Filter intent in the query text (朝ラー/深夜/おむつ/車椅子/水害リスク低…) is auto-applied (filter_source: inferred); explicit params win. Water-hazard intent (水害/洪水/浸水/高潮…リスク低) expands to flood rank AND storm-surge zone; 液状化/地盤 intent filters on the official liquefaction-tendency category; results carry risk_notes when other official hazard categories are high. Inferred facility filters with partial data coverage (おむつ/車椅子 — Tokyo-only data) BOOST confirmed stations instead of excluding unknowns (see soft_filters); explicit params remain strict. Taste/quality words (うまい, "good food", delicious…) are not evaluated (no review data); ramen ranking reflects shop density and style variety only. name_contains gives exact substring matching on station names (日本語/romaji) when the name itself is the requirement. Coverage notes: toilet stats = Tokyo stations only; ridership = Greater Tokyo operators only; hazard = official MLIT categories relayed as-is, NOT a safety judgment. Role split: station_search finds candidate stations — then get_toilet_by_station / search_ramen / get_station_hazard / get_station_context for detail on one station.

Input parameters:

- `accessible_toilet_min` (number): Require at least this many in-station accessible toilets (Tokyo stations only; auto-inferred from 車椅子/wheelchair…).
- `diaper` (boolean): Require a diaper changing table in station toilets (auto-inferred from おむつ/子連れ…).
- `flood_rank_max` (number): Max official flood inundation-depth rank 0–6 (0 = no assumed inundation; auto-inferred from 水害リスク低/flood-safe…).
- `late_ramen` (boolean): Require late-night ramen nearby (auto-inferred from 深夜/late night…).
- `limit` (number): Max results (default 10; max 20, or 300 when name_contains is given — set limit >= name_matches_total for exhaustive name-match coverage).
- `morning_ramen` (boolean): Require morning-ramen availability nearby (auto-inferred from 朝ラー/morning…).
- `name_contains` (string): Substring filter on the station name (matches both 日本語 name_ja and romaji name, e.g. "谷" or "sakura"). ANDs with other filters; q still ranks the matches. Use for "stations whose name contains X" req…
- `pref` (string): Optional prefecture filter, Japanese (東京都, 千葉 OK) or romaji (tokyo/osaka). Auto-inferred from the query text when omitted.
- `q` (string, required): Natural-language description of the station/area you want (ja/en). Concrete attribute words (朝ラー, wheelchair toilet, terminal, 水害リスク低) match best.
- `ramen_min` (number): Require at least this many ramen shops nearby (e.g. 30).

Output parameters:

- `applied_filters`: Hard metadata filters actually applied (explicit + inferred; includes name_contains when given).
- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `count`: Results returned.
- `disclaimer`: Hazard usage disclaimer.
- `filter_source`: explicit / inferred / none — how the filters were chosen.
- `name_matches_total`: Total stations whose name matched name_contains (before ranking/limit). Present only in name_contains mode.
- `note`: Present when the query contains taste/quality words: they are not evaluated (no review data).
- `notes`: Coverage caveats (toilet stats Tokyo-only, ridership Greater-Tokyo-only).
- `query`: Echo of the query.
- `soft_filters` (array): Inferred facility filters applied as a score BOOST (confirmed stations get +BOOST on similarity = final_score; unknown/missing never excluded), with coverage note. Present only when active.
- `stations` (array): Matching stations, best first: name, pref, similarity, ramen stats, toilet stats, official hazard categories (plus risk_notes when an official hazard category not covered by the filter is high), line…
- `stats_as_of`: Freshness of the underlying ramen stats (YYYY-MM-DD).

### `get_active_alerts` (~169 tokens)

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.

Input parameters:

- `area` (string): Optional prefecture code (01–47, e.g. 13 = Tokyo) or JMA forecast-area code.

Output parameters:

- `alerts` (array): Active JMA river-flood / landslide alerts with level, area, summary, issue time.
- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `count`: Number of active alerts.
- `coverage`: What this feed covers — string or array of categories.
- `disclaimer`: Relay disclaimer (not a warning issued by this service).
- `fetched_at`: When the snapshot was fetched.
- `source`: Source label.
- `stale`: True if the snapshot is stale.

### `get_station_alerts` (~91 tokens)

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.

Input parameters:

- `station_name` (string, required): Station name in Japanese (新宿) or romaji (Shinjuku).

Output parameters:

- `alerts` (array): JMA alerts affecting the prefecture.
- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `count`: Number of alerts.
- `disclaimer`: Relay disclaimer.
- `fetched_at`: When the snapshot was fetched.
- `stale`: True if stale.
- `station`: Resolved station.

### `get_train_status` (~117 tokens)

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

Input parameters:

- `query` (string, required): Line or station name (English or Japanese), e.g. "Yamanote" or "新宿".

Output parameters:

- `attribution`: Data source(s), license and provenance — an object, or an array of sources.
- `count`: Number of lines.
- `fetched_at`: When the snapshot was fetched.
- `lines` (array): Per-line status: normal / delayed / suspended / resumed, with cause.
- `query`: Echo of the query.
- `stale`: True if stale.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-gachi-tokusuru-japan-data-api/api#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 66
- 2026-08-01: 65
- 2026-07-31: 65
- 2026-07-30: 65
- 2026-07-29: 66
- 2026-07-28: 65
- 2026-07-27: 65
- 2026-07-26: 64

## Links

- Remote endpoint: https://api.gachi-tokusuru.com/mcp
- Authorisation metadata: https://api.gachi-tokusuru.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/eng213035/gachi-data-api
- Website: https://api.gachi-tokusuru.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-gachi-tokusuru-japan-data-api/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-gachi-tokusuru-japan-data-api/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-gachi-tokusuru-japan-data-api/api
