MCPサーバー

Gachi Data API — Japan Station & Accessibility Data

com.gachi-tokusuru/japan-data-api

このMCPでできること

Provides Japanese station discovery, accessibility and public-toilet information, train statuses, municipal context, hazard data, and official flood or landslide alerts.

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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'properties': {'area': {'type': 'string', 'description': 'Optional prefecture code (01–47, e.g. 13 = Tokyo) or JMA forecast-area code.'}}}
出力スキーマ
{'type': 'object', 'properties': {'count': {'description': 'Number of active alerts.'}, 'stale': {'description': 'True if the snapshot is stale.'}, 'alerts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Active JMA river-flood / landslide alerts with level, area, summary, issue time.'}, 'source': {'description': 'Source label.'}, 'coverage': {'description': 'What this feed covers — string or array of categories.'}, 'disclaimer': {'description': 'Relay disclaimer (not a warning issued by this service).'}, 'fetched_at': {'description': 'When the snapshot was fetched.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}}, 'description': 'Live JMA river-flood & landslide alerts.', 'additionalProperties': True}
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 / 新宿区).
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['name_or_code'], 'properties': {'fields': {'type': 'string', 'description': 'Optional comma-separated subset: vacancy,ridership,population,hazard,land_price,livability.'}, 'name_or_code': {'type': 'string', 'description': '5-digit 全国地方公共団体コード (e.g. 13104) or exact municipality name (Shinjuku-ku / 新宿区).'}}}
出力スキーマ
{'type': 'object', 'properties': {'hazard': {'description': 'Hazard categories.'}, 'vacancy': {'description': 'Housing-vacancy counts (2003–2023).'}, 'ridership': {'description': 'Nearest-station ridership trend.'}, 'land_price': {'description': 'Published land prices near the centroid.'}, 'livability': {'description': 'Livability counts.'}, 'population': {'description': 'Population / future estimate.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}, 'municipality': {'description': 'Resolved municipality + code.'}, 'hazard_disclaimer': {'description': 'Hazard usage disclaimer.'}}, 'description': 'Official municipality data (vacancy, ridership, hazard, land price, livability).', 'additionalProperties': True}
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['city'], 'properties': {'city': {'type': 'string', 'description': 'Municipality name in Japanese (e.g. 那覇市, 渋谷区, 上天草市). Prefix the prefecture for accuracy.'}}}
出力スキーマ
{'type': 'object', 'properties': {'city': {'description': 'Resolved municipality.'}, 'note': {'description': 'Human-readable note.'}, 'count': {'description': 'Toilets returned.'}, 'error': {'description': 'Set when nothing was found.'}, 'toilets': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Public toilets with wheelchair / baby-seat / ostomate flags, address and coordinates.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}}, 'description': 'Public toilets in a municipality.', 'additionalProperties': True}
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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['station_name'], 'properties': {'station_name': {'type': 'string', 'description': 'Station name in Japanese (新宿) or romaji (Shinjuku).'}}}
出力スキーマ
{'type': 'object', 'properties': {'count': {'description': 'Number of alerts.'}, 'stale': {'description': 'True if stale.'}, 'alerts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'JMA alerts affecting the prefecture.'}, 'station': {'description': 'Resolved station.'}, 'disclaimer': {'description': 'Relay disclaimer.'}, 'fetched_at': {'description': 'When the snapshot was fetched.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}}, 'description': "Live JMA alerts for a station's prefecture.", 'additionalProperties': True}
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': [], 'properties': {'fields': {'type': 'string', 'description': 'Optional comma-separated subset: vacancy,ridership,population,hazard,land_price,livability.'}, 'station_id': {'type': 'string', 'description': 'Japan Station Master station_id (e.g. st_00001). Alternative to station_name.'}, 'station_name': {'type': 'string', 'description': 'Station name in English/romaji (Shinjuku) or Japanese (新宿). Provide this or station_id.'}}}
出力スキーマ
{'type': 'object', 'properties': {'hazard': {'description': 'Hazard categories.'}, 'station': {'description': 'Resolved station.'}, 'vacancy': {'description': 'Housing-vacancy counts.'}, 'ridership': {'description': 'Ridership trend.'}, 'land_price': {'description': 'Land prices near the centroid.'}, 'livability': {'description': 'Livability counts.'}, 'population': {'description': 'Population / future estimate.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}, 'municipality': {'description': 'Municipality + code.'}}, 'description': "Official data for a station's municipality.", 'additionalProperties': True}
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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['station_name'], 'properties': {'station_name': {'type': 'string', 'description': 'Station name in Japanese (新宿, 武蔵小杉) or romaji (Shinjuku, Musashi-Kosugi).'}}}
出力スキーマ
{'type': 'object', 'properties': {'hazard': {'description': 'Official categories: flood inundation depth, landform/liquefaction, storm-surge.'}, 'station': {'description': 'Resolved station + coordinates.'}, 'disclaimer': {'description': 'Usage disclaimer (not a substitute for official maps).'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}}, 'description': 'Official disaster-risk categories at a station (MLIT relay).', 'additionalProperties': True}
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['station'], 'properties': {'station': {'type': 'string', 'description': 'Station name in Japanese (新宿, 渋谷) or romaji for major stations (Shinjuku, Shibuya, Kita-Senju).'}}}
出力スキーマ
{'type': 'object', 'properties': {'note': {'description': 'Human-readable note.'}, 'count': {'description': 'Toilets returned.'}, 'error': {'description': 'Set when nothing was found.'}, 'layer': {'description': 'Data layer (e.g. in_station_gate).'}, 'source': {'description': 'Data source label.'}, 'station': {'description': 'Resolved station (English).'}, 'toilets': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Accessible toilets with floor, gender, equipment and nearest exit.'}, 'station_ja': {'description': 'Station name in Japanese.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}, 'station_name_source': {'description': 'How the name was resolved.'}}, 'description': 'Wheelchair-accessible / multipurpose toilets inside a station.', 'additionalProperties': True}
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).
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Line or station name (English or Japanese), e.g. "Yamanote" or "新宿".'}}}
出力スキーマ
{'type': 'object', 'properties': {'count': {'description': 'Number of lines.'}, 'lines': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Per-line status: normal / delayed / suspended / resumed, with cause.'}, 'query': {'description': 'Echo of the query.'}, 'stale': {'description': 'True if stale.'}, 'fetched_at': {'description': 'When the snapshot was fetched.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}}, 'description': 'Live Tokyo-area train service status.', 'additionalProperties': True}
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'properties': {'tools': {'description': 'Number of tools exposed by this server.'}, 'server': {'description': 'Server name.'}, 'status': {'description': 'Always "ok" when the server is reachable.'}, 'version': {'description': 'Deploy version.'}, 'realtime_layers': {'type': 'object', 'properties': {'jma_alerts_updated': {'description': 'When the JMA alerts snapshot was last fetched.'}, 'train_status_updated': {'description': 'When the train-status snapshot was last fetched.'}}, 'description': 'Update times of the realtime KV snapshots (a field is omitted if that layer is unavailable).', 'additionalProperties': True}, 'stations_covered': {'description': 'Stations with accessible-toilet data.'}, 'rate_limit_noauth': {'description': 'No-auth rate limit.'}}, 'description': 'Health check: server identity + realtime-layer freshness.', 'additionalProperties': True}
station_search
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Natural-language description of the station/area you want (ja/en). Concrete attribute words (朝ラー, wheelchair toilet, terminal, 水害リスク低) match best.'}, 'pref': {'type': 'string', 'description': 'Optional prefecture filter, Japanese (東京都, 千葉 OK) or romaji (tokyo/osaka). Auto-inferred from the query text when omitted.'}, 'limit': {'type': 'number', 'description': 'Max results (default 10; max 20, or 300 when name_contains is given — set limit >= name_matches_total for exhaustive name-match coverage).'}, 'diaper': {'type': 'boolean', 'description': 'Require a diaper changing table in station toilets (auto-inferred from おむつ/子連れ…).'}, 'ramen_min': {'type': 'number', 'description': 'Require at least this many ramen shops nearby (e.g. 30).'}, 'late_ramen': {'type': 'boolean', 'description': 'Require late-night ramen nearby (auto-inferred from 深夜/late night…).'}, 'morning_ramen': {'type': 'boolean', 'description': 'Require morning-ramen availability nearby (auto-inferred from 朝ラー/morning…).'}, 'name_contains': {'type': 'string', 'description': '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" requests that semantic search cannot guarantee.'}, 'flood_rank_max': {'type': 'number', 'description': 'Max official flood inundation-depth rank 0–6 (0 = no assumed inundation; auto-inferred from 水害リスク低/flood-safe…).'}, 'accessible_toilet_min': {'type': 'number', 'description': 'Require at least this many in-station accessible toilets (Tokyo stations only; auto-inferred from 車椅子/wheelchair…).'}}}
出力スキーマ
{'type': 'object', 'properties': {'note': {'description': 'Present when the query contains taste/quality words: they are not evaluated (no review data).'}, 'count': {'description': 'Results returned.'}, 'notes': {'description': 'Coverage caveats (toilet stats Tokyo-only, ridership Greater-Tokyo-only).'}, 'query': {'description': 'Echo of the query.'}, 'stations': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '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), lines, ridership.'}, 'disclaimer': {'description': 'Hazard usage disclaimer.'}, 'attribution': {'description': 'Data source(s), license and provenance — an object, or an array of sources.'}, 'stats_as_of': {'description': 'Freshness of the underlying ramen stats (YYYY-MM-DD).'}, 'soft_filters': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': '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.'}, 'filter_source': {'description': 'explicit / inferred / none — how the filters were chosen.'}, 'applied_filters': {'description': 'Hard metadata filters actually applied (explicit + inferred; includes name_contains when given).'}, 'name_matches_total': {'description': 'Total stations whose name matched name_contains (before ranking/limit). Present only in name_contains mode.'}}, 'description': 'Semantic station discovery with hybrid filters.', 'additionalProperties': True}
追加
get_train_status
2026年9月17日12:34
追加
get_station_alerts
2026年9月17日12:34
追加
get_active_alerts
2026年9月17日12:34
追加
station_search
2026年9月17日12:34
追加
get_station_hazard
2026年9月17日12:34
追加
get_public_toilet_by_city
2026年9月17日12:34
追加
get_toilet_by_station
2026年9月17日12:34
追加
get_station_context
2026年9月17日12:34
追加
get_municipality_context
2026年9月17日12:34
追加
ping
2026年9月17日12:34