Japanese railway station adjacency graph as an MCP server — grounds LLMs in real rail topology (駅の線路隣接グラフでLLMを接地するMCPサーバー)
Two tools with complete input schemas and Japanese descriptions, but significant gaps in LLM-optimization and error guidance. Tool names lack action verbs (neighbors, subgraph are nouns). Descriptions are domain-specific but lack WHEN/WHY context for LLM selection. No output schema documentation. Parameter descriptions are minimal (駅名, 中心の駅名). Error handling returns text blobs without structured guidance. No tool annotations (readOnlyHint present in metadata but not declared in schema). Baseline: avg tool description ~194 chars; these are ~120 chars. Param descriptions avg 72 chars; these are ~20 chars.
駅の線路上の隣接駅(グラフのエッジ)を返す。路線名つき。注意: 線路の隣接であり、特定の列車(急行等)が停まるかは分からない。
駅の周辺の生グラフ(半径N駅のエッジ一覧・種別つき)をそのまま返す。neighbors で足りない構造の問いはこれを読んで自分で辿る。
Tool names are nouns, not action verbs. 'neighbors' and 'subgraph' do not convey what the tool does. Should be 'get_neighbors' or 'list_adjacent_stations' and 'get_subgraph' or 'fetch_station_graph'.
Parameter descriptions are too brief (<20 chars). 駅名 and 中心の駅名 lack format guidance, examples, or constraints. Should explain: accepted formats (kanji, romaji, with/without 駅 suffix), how resolution works, and what happens if ambiguous.
No output schema documented. LLMs cannot plan downstream operations or extract structured data. Should document that neighbors/subgraph return formatted text with station names, line names, and edge types.
Error handling returns unstructured text (e.g. '駅「渋谷」が一意に見つかりません。候補: ...'). No guidance on recovery. Should return structured error with candidates list and suggest 'Try again with full station name or use subgraph to explore nearby stations.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Tool annotations missing from schema. Risk metadata (READ_ONLY) is in server code but not exposed via readOnlyHint in tool definition. LLMs cannot infer safety/idempotency from names alone.