Deep, obscure Japanese station, accessibility & hazard data for AI agents. English-first.
This is a hosted service. You do NOT self-host it. Get a free API key at https://api.gachi-tokusuru.com and connect to the remote endpoint below. The source in this repo is published for transparency; the data lives in the hosted backend, so a local clone will not return data.
Deep, obscure Japanese data you won't find anywhere else — stations, accessibility, vacancy, hazards. Hand-verified, English-first, built for AI agents. Available as an MCP server, a REST API, and free open datasets. One key works for both the API and MCP.
station_id: https://github.com/eng213035/gachi-open-datasets (Zenodo DOI 10.5281/zenodo.21199500).Station names accept Japanese (新宿) or romaji (Shinjuku, Kita-Senju) for major stations.
https://api.gachi-tokusuru.com/mcpAuthorization: Bearer <API_KEY> — free key at https://api.gachi-tokusuru.com{
"mcpServers": {
"gachi-data": {
"url": "https://api.gachi-tokusuru.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
| Tool | Argument | Returns |
|---|---|---|
get_toilet_by_station | station (Japanese or romaji) | Accessible toilets in a Tokyo station, with nearest_exit |
get_public_toilet_by_city | city (Japanese) | Public toilets in a municipality (top 50 for large cities) |
get_station_hazard | station_name (Japanese or romaji) | Official MLIT hazard categories at a station (flood / liquefaction / storm-surge), relayed live, cached 14 days — no derived score. Landslide & tsunami are license-restricted (available:false + link to official maps). Not a substitute for official hazard maps. |
GET /v1/station-toilets/search?station=Shinjuku — accessible toilets in a Tokyo stationGET /v1/toilets/nearby?lat=&lng=&radius=&wheelchair=&ostomate=&diaper= — public toilets near a pointGET /v1/stations/{station_id}/hazard — official MLIT hazard categories at a station, relayed live (flood inundation-depth rank, liquefaction/landform, storm-surge presence). Values are returned verbatim from 国土交通省 不動産情報ライブラリ with attribution, cached 14 days — no derived score, and not a substitute for official hazard maps. Landslide & tsunami source layers are 一部非商用 (license-restricted), so they return available:false with a link to the official hazard maps. Also available as the MCP tool get_station_hazard(station_name). station_id comes from the Japan Station Master (e.g. st_00001); 423 of 425 stations have coordinates (2 remain unlocated → hazard: null).All endpoints use the same Authorization: Bearer <key> and share one monthly quota. Full spec: /openapi.yaml, docs: /docs.
curl -X POST https://api.gachi-tokusuru.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_toilet_by_station","arguments":{"station":"Shinjuku"}}}'
Free 1k · Pro $19/100k · All Access $49/200k · Business $149/500k. Full details: https://api.gachi-tokusuru.com
Paid plans are self-serve: after Stripe checkout the customer is redirected to /activate?session_id=…, which verifies payment, resolves the plan from the paid amount, and issues the API key on the page (idempotent per session — reload shows the same key). No manual key handling.
key:* records and disable keys for lapsed subscribers. A customer.subscription.deleted webhook → auto-revoke is the next phase./activate is by paid amount (AMOUNT_TO_PLAN: $19/$49/$149). If a new plan reuses an existing amount, add an explicit mapping.attribution. It is derived from:
nearest_exit, nearest_station_km, and bus-stop counts are computed via spatial join.This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.