Japan Toilet & Accessibility
Server Details
Structured data on wheelchair-accessible & public toilets across Japan for AI agents and travel/accessibility apps. 526 Tokyo stations (each mapped to its nearest station exit) + 612 municipalities. Station names accept Japanese or romaji. Free tier with API key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 9 of 9 tools scored.
Most tools have distinct purposes (toilets, alerts, station data, train status), but some overlap exists: get_station_alerts vs get_active_alerts both deal with alerts, and station/municipality context tools share similar data. Descriptions help disambiguate, but slight potential confusion.
All tools follow a consistent 'get_' prefix pattern except 'ping', which is a standard health-check exception. Names clearly indicate the resource (station, municipality, toilet, alert) and are uniformly in snake_case.
9 tools is well-scoped for the domain covering toilets, hazards, train status, and municipal data. Each tool serves a distinct function without redundancy, and the count feels neither sparse nor overwhelming.
The tool surface covers core accessibility needs (toilets, hazards, train status) and municipal context. Missing potential features like evacuation center lookup or general weather alerts, but these are explicitly out of scope. Minor gaps but no critical dead ends.
Available Tools
9 toolsget_active_alertsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Optional prefecture code (01–47, e.g. 13 = Tokyo) or JMA forecast-area code. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | Number of active alerts. |
| stale | No | True if the snapshot is stale. |
| alerts | No | Active JMA river-flood / landslide alerts with level, area, summary, issue time. |
| source | No | Source label. |
| coverage | No | What this feed covers — string or array of categories. |
| disclaimer | No | Relay disclaimer (not a warning issued by this service). |
| fetched_at | No | When the snapshot was fetched. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds important context: it is a 'relay of official facts', not a life-safety system, and includes disclaimers about authority. This adds behavioral guidance beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is four sentences, no wasted words. Front-loaded with core purpose, then exclusions, then details, then optional filter and disclaimers. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown but indicated), description still explains return fields (level, affected area, official summary, issue time). Also covers disclaimers and filtering. Complete for a read-only alert tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage for the single optional parameter 'area', with description matching schema. Description does not add new meaning beyond schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides 'Live river flood forecasts and landslide alerts for Japan (JMA official)', specifies exact JMA alert types, and distinguishes from general weather warnings and earthquakes. Verb ('get') + resource ('active alerts') is specific and scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly states what it is NOT (general weather warnings, earthquakes), and mentions optional area filter. However, it does not explicitly differentiate from sibling tools like get_station_alerts, though the scope is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_municipality_contextARead-onlyIdempotentInspect
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 / 新宿区).
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional comma-separated subset: vacancy,ridership,population,hazard,land_price,livability. | |
| name_or_code | Yes | 5-digit 全国地方公共団体コード (e.g. 13104) or exact municipality name (Shinjuku-ku / 新宿区). |
Output Schema
| Name | Required | Description |
|---|---|---|
| hazard | No | Hazard categories. |
| vacancy | No | Housing-vacancy counts (2003–2023). |
| ridership | No | Nearest-station ridership trend. |
| land_price | No | Published land prices near the centroid. |
| livability | No | Livability counts. |
| population | No | Population / future estimate. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
| municipality | No | Resolved municipality + code. |
| hazard_disclaimer | No | Hazard usage disclaimer. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds that it returns 'official values only' with 'no scores, no judgment', clarifying the data's authoritative nature. This is useful behavioral context beyond the annotations, though no mention of rate limits or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant words. First sentence packs purpose and data details; second sentence covers identifiers. Every sentence earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (indicated), the description lists all data categories the tool returns, covering what the agent needs to know. Combined with thorough annotations, the description is fully sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions. Description adds examples and format clarification for name_or_code (e.g., '13104' or 'Shinjuku-ku'), and lists the data categories that correspond to the fields parameter, reinforcing the schema and aiding parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it provides official Japanese government data for any municipality, listing specific data categories (housing vacancy, ridership, hazard, land prices, livability). It distinguishes from sibling tools which are station- and toilet-focused, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description tells how to use the tool (one call with code or name) and what data to expect. It implies use when municipality context is needed, but does not explicitly state when to avoid or compare with alternatives. However, sibling names provide differentiation naturally.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_public_toilet_by_cityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | Municipality name in Japanese (e.g. 那覇市, 渋谷区, 上天草市). Prefix the prefecture for accuracy. |
Output Schema
| Name | Required | Description |
|---|---|---|
| city | No | Resolved municipality. |
| note | No | Human-readable note. |
| count | No | Toilets returned. |
| error | No | Set when nothing was found. |
| toilets | No | Public toilets with wheelchair / baby-seat / ostomate flags, address and coordinates. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint false), the description adds useful behavioral details: coverage of 612 municipalities and a cap on results for large cities. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the primary action and key details. Every sentence adds value without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, full annotation coverage, and presence of an output schema, the description sufficiently covers scope, returned data, and behavioral constraints. It is complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (single parameter described), so baseline is 3. The description reinforces the parameter meaning and adds nuance about prefixing the prefecture for accuracy, exceeding mere repetition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists public toilets in a Japanese municipality with specific flags (wheelchair, baby-seat, ostomate) and provides address and coordinates. It distinguishes from siblings, such as get_toilet_by_station, by specifying city-level search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on input format (Japanese names, prefix prefecture) and mentions a limitation (top 50 results for large cities). While it doesn't explicitly contrast with alternatives, the sibling list makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_station_alertsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| station_name | Yes | Station name in Japanese (新宿) or romaji (Shinjuku). |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | Number of alerts. |
| stale | No | True if stale. |
| alerts | No | JMA alerts affecting the prefecture. |
| station | No | Resolved station. |
| disclaimer | No | Relay disclaimer. |
| fetched_at | No | When the snapshot was fetched. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds that it relays official JMA facts, reinforcing safety. No contradictions, and it provides useful context (live, prefecture-level, specific alert types).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with distinct purpose: purpose and scope, input guidance, and additional context. No extraneous words; all information is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown), description covers all needed aspects for tool selection and use: purpose, input, scope, and data source. For a tool with one parameter and no complexity, nothing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema coverage. Description adds value by specifying acceptable formats (Japanese or romaji) and providing an example (新宿/Shinjuku), which aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb (get) and resource (station alerts), and clearly distinguishes from general weather warnings. It specifies the exact type of alerts (river flood forecasts and landslide alerts) and the geographic scope (prefecture-level).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear input format (station name in Japanese or romaji) and explains the scope (prefecture-level match). Notes it is not for general weather warnings, but does not explicitly differentiate from sibling tools like get_active_alerts or get_station_hazard.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_station_contextARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Optional comma-separated subset: vacancy,ridership,population,hazard,land_price,livability. | |
| station_id | No | Japan Station Master station_id (e.g. st_00001). Alternative to station_name. | |
| station_name | No | Station name in English/romaji (Shinjuku) or Japanese (新宿). Provide this or station_id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hazard | No | Hazard categories. |
| station | No | Resolved station. |
| vacancy | No | Housing-vacancy counts. |
| ridership | No | Ridership trend. |
| land_price | No | Land prices near the centroid. |
| livability | No | Livability counts. |
| population | No | Population / future estimate. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
| municipality | No | Municipality + code. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds 'official values only — no scores', which is consistent and provides extra behavioral context. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple lookup tool with annotations, output schema, and clear sibling differentiation, the description is complete enough for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented. Description adds value by clarifying that station_name accepts both English/romaji and Japanese, and that station_id is an alternative. This helps with parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns official municipality data for a station, distinguishes from get_municipality_context, and specifies input options (station name or station_id).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (have a station) vs get_municipality_context (have municipality), and mentions 'official values only — no scores' for setting expectations. It does not explicitly state when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_station_hazardARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| station_name | Yes | Station name in Japanese (新宿, 武蔵小杉) or romaji (Shinjuku, Musashi-Kosugi). |
Output Schema
| Name | Required | Description |
|---|---|---|
| hazard | No | Official categories: flood inundation depth, landform/liquefaction, storm-surge. |
| station | No | Resolved station + coordinates. |
| disclaimer | No | Usage disclaimer (not a substitute for official maps). |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds that data is live from MLIT, returns official values as-is, and reveals license restrictions (returning available:false with a link). This adds significant behavioral context without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear topic sentences, though slightly verbose. Every sentence adds value, but some details (e.g., license-restricted hazards) could be more compact. Overall, it is efficient and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple hazard types, license restrictions) and the presence of an output schema, the description covers all critical aspects: data source, returned categories, limitations, and appropriate use. It is comprehensive for a research-oriented tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'station_name', which already documents its type and description. The description adds examples (Shinjuku, 武蔵小杉) and mentions acceptable formats, providing marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves official disaster-risk categories from MLIT, listing specific categories (flood, liquefaction, storm-surge) and noting limitations (landslide, tsunami). It distinguishes from sibling tools like get_station_alerts by focusing on hazard classification data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies acceptable station name formats (Japanese or romaji) and provides usage context (research/analytics, not a substitute for official maps). It lacks explicit when-not-to-use guidance or alternative tool names, but the context is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_toilet_by_stationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| station | Yes | Station name in Japanese (新宿, 渋谷) or romaji for major stations (Shinjuku, Shibuya, Kita-Senju). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Human-readable note. |
| count | No | Toilets returned. |
| error | No | Set when nothing was found. |
| layer | No | Data layer (e.g. in_station_gate). |
| source | No | Data source label. |
| station | No | Resolved station (English). |
| toilets | No | Accessible toilets with floor, gender, equipment and nearest exit. |
| station_ja | No | Station name in Japanese. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
| station_name_source | No | How the name was resolved. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds valuable context: data source (Tokyo Bureau of Social Welfare), coverage (526 stations), and special behavior for major stations outside Tokyo (grouping by ticket gate). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, each serving a distinct purpose: main action, scope/coverage, and special behavior for major stations. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter schema, clear annotations, and the presence of an output schema (which likely documents return structure), the description is complete. It covers all necessary contextual information for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter. The description adds meaning by specifying acceptable formats (Japanese or romaji for major stations) and examples (新宿, Yokohama), which is helpful beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to look up wheelchair-accessible/multipurpose toilets inside a train station, specifying details like floor, gender, equipment, and nearest exit. It also distinguishes itself from siblings like get_public_toilet_by_city by focusing on stations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use the tool (to find accessible toilets in a station) and provides input format guidance (Japanese or romaji). However, it does not explicitly exclude scenarios or directly compare with similar siblings, though the station-specific context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_train_statusARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Line or station name (English or Japanese), e.g. "Yamanote" or "新宿". |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | Number of lines. |
| lines | No | Per-line status: normal / delayed / suspended / resumed, with cause. |
| query | No | Echo of the query. |
| stale | No | True if stale. |
| fetched_at | No | When the snapshot was fetched. |
| attribution | No | Data source(s), license and provenance — an object, or an array of sources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is read-only and safe. The description adds value by specifying the status enum (normal/delayed/suspended/resumed) and how cause text is handled (English summary or original text).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 3 sentences, each meaningful and no redundancy. It is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and output schema, the description adequately covers behavior, status options, and data source. No further details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'query' is well-described in the schema (100% coverage). The tool description repeats the schema information and adds example line names, but does not provide additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides live train service status for Tokyo-area lines, with specific verbs and resource. It distinguishes from sibling tools like alerts or context tools by focusing on train running status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an example query and suggests the appropriate use case (asking about train line status). However, it does not explicitly state when not to use or compare to alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tools | No | Number of tools exposed by this server. |
| server | No | Server name. |
| status | No | Always "ok" when the server is reachable. |
| version | No | Deploy version. |
| realtime_layers | No | Update times of the realtime KV snapshots (a field is omitted if that layer is unavailable). |
| stations_covered | No | Stations with accessible-toilet data. |
| rate_limit_noauth | No | No-auth rate limit. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral details: it returns specific data for freshness confirmation, and emphasizes lightweight nature. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose. Every sentence adds value: purpose, return data details, and usage notes. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simplicity (no params, output schema exists), the description provides complete context: call first, lightweight, returns specific data. It adds value beyond schema by explaining freshness vs liveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist in the schema, and schema coverage is 100%. The description doesn't need to add parameter info, but a baseline of 4 is appropriate as it doesn't miss anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a connection test/health check with specific verb 'call this first'. It distinguishes from siblings by being the initial reachability test, listing what it returns (server identity, deploy version, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'call this first to confirm the server is reachable' and provides context that it requires no auth, has no arguments, and is lightweight, guiding appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!