gachi-data
Gachi Data API — Japan Station & Accessibility Data (API · MCP · Open Datasets)
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.
526 Tokyo stations — accessible / multipurpose toilets with floor, gender, equipment flags (wheelchair, ostomate, diaper table) and the nearest station exit (an original first-party value computed by spatial join — not in any raw dataset).
612 municipalities nationwide — public toilets with wheelchair / baby-seat / ostomate flags, address and coordinates.
Free open datasets — Japan Station Master (entity-resolved, 9,145 stations nationwide) & Ridership 2000–2025, sharing one
station_id: https://github.com/eng213035/gachi-open-datasets (Zenodo DOI10.5281/zenodo.21199500).
Station names accept Japanese (新宿) or romaji (Shinjuku, Kita-Senju) for major stations.
Connect
Endpoint:
https://api.gachi-tokusuru.com/mcpTransport: Streamable HTTP (remote)
Auth:
Authorization: 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" }
}
}
}Tools
Tool | Argument | Returns |
|
| Accessible toilets in a Tokyo station, with |
|
| Public toilets in a municipality (top 50 for large cities) |
|
| Official MLIT hazard categories at a station (flood / liquefaction / storm-surge), relayed live, cached 14 days — no derived score. Landslide & tsunami are license-restricted ( |
REST endpoints
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 returnavailable:falsewith a link to the official hazard maps. Also available as the MCP toolget_station_hazard(station_name).station_idcomes 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.
Example
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"}}}'Pricing
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.
Operational notes (internal)
Subscription cancellation is not yet wired to key revocation (no Stripe webhook in this build). A cancelled subscriber's key keeps working until manually disabled. Reconcile monthly: compare Stripe's active subscriptions against issued
key:*records and disable keys for lapsed subscribers. Acustomer.subscription.deletedwebhook → auto-revoke is the next phase.Plan detection in
/activateis by paid amount (AMOUNT_TO_PLAN: $19/$49/$149). If a new plan reuses an existing amount, add an explicit mapping.
Licensing (two layers — read carefully)
Code in this repository: MIT (see LICENSE). Applies to the server code only.
Data returned by the API is NOT MIT. Each value carries its source in the response
attribution. It is derived from:Accessible & public toilets — Tokyo Metropolitan Government, Bureau of Social Welfare & BODIK municipal open data (CC BY 4.0): https://portal.data.metro.tokyo.lg.jp/ · https://www.bodik.jp/
Station names & train service status — ODPT, Public Transportation Open Data Center (CC BY 4.0): https://developer.odpt.org/
Hazard categories, future population, land price — MLIT 不動産情報ライブラリ (Real Estate Information Library), official values relayed as-is per request (not a government-created dataset): https://www.reinfolib.mlit.go.jp/
River flood forecasts & landslide alerts — JMA (Japan Meteorological Agency, 気象庁), relayed as published, not warnings issued by this service: https://www.jma.go.jp/bosai/
Housing vacancy & municipality codes — Statistics Bureau of Japan (住宅・土地統計調査) via e-Stat & MIC (総務省): https://www.stat.go.jp/data/jyutaku/
Nationwide stations & bus stops — MLIT 国土数値情報 N02/P11; English station names partly via Wikidata (CC0): https://nlftp.mlit.go.jp/ksj/ · https://www.wikidata.org/
Derived by gachi-tokusuru.com (distinct from the official values above):
nearest_exit,nearest_station_km, and bus-stop counts are computed via spatial join.Attribution is returned in every API response. Timeliness, accuracy and completeness are not guaranteed.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eng213035/gachi-data-api'
If you have feedback or need assistance with the MCP directory API, please join our Discord server