gachi-data

gachi-data

Provides Japanese station accessibility and hazard data via MCP tools, including toilet information, public toilet locations, and official hazard categories.

Category
Visit Server

README

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 DOI 10.5281/zenodo.21199500).

Station names accept Japanese (新宿) or romaji (Shinjuku, Kita-Senju) for major stations.

Connect

  • Endpoint: https://api.gachi-tokusuru.com/mcp
  • Transport: 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
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.

REST endpoints

  • GET /v1/station-toilets/search?station=Shinjuku — accessible toilets in a Tokyo station
  • GET /v1/toilets/nearby?lat=&lng=&radius=&wheelchair=&ostomate=&diaper= — public toilets near a point
  • GET /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.

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. A customer.subscription.deleted webhook → auto-revoke is the next phase.
  • Plan detection in /activate is 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured