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.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Natural-language description of the station/area you want (ja/en). Concrete attribute words (朝ラー, wheelchair toilet, terminal, 水害リスク低) match best. | |
| pref | No | Optional prefecture filter, Japanese (東京都, 千葉 OK) or romaji (tokyo/osaka). Auto-inferred from the query text when omitted. | |
| limit | No | Max results (default 10; max 20, or 300 when name_contains is given — set limit >= name_matches_total for exhaustive name-match coverage). | |
| diaper | No | Require a diaper changing table in station toilets (auto-inferred from おむつ/子連れ…). | |
| ramen_min | No | Require at least this many ramen shops nearby (e.g. 30). | |
| late_ramen | No | Require late-night ramen nearby (auto-inferred from 深夜/late night…). | |
| morning_ramen | No | Require morning-ramen availability nearby (auto-inferred from 朝ラー/morning…). | |
| name_contains | No | 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 | No | Max official flood inundation-depth rank 0–6 (0 = no assumed inundation; auto-inferred from 水害リスク低/flood-safe…). | |
| accessible_toilet_min | No | Require at least this many in-station accessible toilets (Tokyo stations only; auto-inferred from 車椅子/wheelchair…). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Present when the query contains taste/quality words: they are not evaluated (no review data). | |
| count | No | Results returned. | |
| notes | No | Coverage caveats (toilet stats Tokyo-only, ridership Greater-Tokyo-only). | |
| query | No | Echo of the query. | |
| stations | No | 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 | No | Hazard usage disclaimer. | |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. | |
| stats_as_of | No | Freshness of the underlying ramen stats (YYYY-MM-DD). | |
| soft_filters | No | 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 | No | explicit / inferred / none — how the filters were chosen. | |
| applied_filters | No | Hard metadata filters actually applied (explicit + inferred; includes name_contains when given). | |
| name_matches_total | No | Total stations whose name matched name_contains (before ranking/limit). Present only in name_contains mode. |