公正取引委員会の排除措置命令・確約計画・取適法勧告のデータセットと MCP サーバー / Dataset and MCP server for Japan Fair Trade Commission enforcement actions
Four tools with complete schemas and Japanese descriptions. Naming follows verb_noun pattern (search_, get_, list_, stats). Schemas are well-formed with proper types and enums. However, descriptions are terse (10-20 chars in Japanese), parameter descriptions lack depth, and no output schemas are documented. Error handling is minimal. The server is read-only and domain-specific (JFTC enforcement data), which limits complexity but also limits guidance for LLM reasoning about when to use each tool.
1件を id で取得する。
直近の措置を新しい順に返す。
公正取引委員会の措置を、事業者名・事件番号・条項・期間・法律で検索する。違反の判定はしない。
件数・期間・年度別・条項別の内訳と、収録していない項目を返す。
Tool descriptions are under 20 characters and lack context for LLM selection. 'search_actions' (Japanese only, ~30 chars) does not explain when to use it vs list_recent, or what 'stream' parameter means in English. LLMs cannot reason about tool selection without English descriptions or longer, more detailed Japanese text.
No output schemas documented. Tools return JSON objects (e.g., search_actions returns {total, returned, actions}), but the response structure is not declared in the tool definition. LLMs cannot plan downstream calls or extract fields without knowing what to expect.
Parameter descriptions are minimal or missing. 'query' in search_actions says '事業者名・件名・事件番号の部分一致' (partial match of company/subject/case number) but does not explain case sensitivity, whether it searches all fields or specific ones, or what happens if no matches are found. 'stream' enum values 'dk' and 'shitauke' are cryptic without explanation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Error handling is minimal. callTool() catches exceptions and returns {error: message}, but error responses do not guide recovery. E.g., get_action returns 'error: 見つからない id: X' (not found) with no suggestion to search_actions first. Agents cannot self-correct.
No pagination guidance in descriptions. search_actions accepts 'limit' (default 50, max 500) but the description does not explain the default, max, or what happens if results exceed the limit. list_recent caps at 200 but this is not documented in the tool description.