Unofficial MCP server for Yahoo! Transit (transit.yahoo.co.jp) — 経路検索・終電・運行情報・駅時刻表
Four tools with complete schemas and descriptions in Japanese. All tools follow verb_noun naming (search_*, get_*). Descriptions are domain-specific and actionable (avg ~120 chars). Input schemas use Zod with proper types, enums, and constraints. However, output schemas are undocumented, responses are JSON-stringified without field documentation. Error handling returns raw exception messages rather than recovery guidance. No tool annotations (readOnlyHint, etc.). Parameter descriptions are good but lack explicit format/range guidance in some cases (e.g., 'via' array max=3 is in schema but not description text).
指定駅・路線・方面の発車時刻表を取得する。路線・方面が曖昧な場合は候補一覧をエラーとして返すので、それを見て絞り込んで再実行する。
鉄道の運行情報(遅延・運転見合わせ等)をエリア別に取得する。line で特定路線に絞り込める(平常運転かどうかも分かる)。
出発地から目的地までの電車経路を検索する。時刻・所要時間・運賃・乗換回数・各区間の路線と番線を返す。終電は mode=last_train、始発は mode=first_train。
駅名から駅コードを検索する。候補が1件に絞れた場合はその駅の路線・方面一覧(時刻表取得用のgroupId)も返す。get_timetable の前段として使う。
Output schemas undocumented. Tools return JSON-stringified responses without field documentation. LLMs cannot plan downstream calls or extract structured data reliably.
Error handling returns raw exception messages (e.g., 'fail(e)' in index.ts line ~20). No recovery guidance, categorization, or actionable next steps for LLM.
No tool annotations. Tools lack readOnlyHint (all are read-only), destructiveHint, or idempotentHint. LLMs cannot reason about side effects or retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Parameter descriptions lack explicit format/range guidance. E.g., 'via' array has max=3 in schema but description says only '経由駅(最大3つ)', LLMs may not parse schema constraints from description text alone.
search_station response structure varies (candidates only vs candidates + directions). Undocumented conditional response shape makes LLM planning fragile.