景品表示法の措置命令・課徴金納付命令のデータセットと MCP サーバー / Dataset and MCP server for Japanese advertising-law 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, parameter descriptions are minimal or absent in several cases, and output schemas are not documented. Error handling is basic. The server is read-only and stateless, which is appropriate for a data feed, but descriptions lack the depth needed for LLM-optimal selection.
1件の処分を id で取得する。
公表日の新しい順に処分を返す。
景品表示法の措置命令・課徴金納付命令を検索する。事業者名・商品名・条項・本文で絞り込める。返るのは消費者庁の公表内容と出典URLのみ。
件数の内訳(年度別・処分種別・条項別)を返す。
Output schemas not documented. LLMs cannot plan downstream operations or extract fields without knowing the response structure. search_cases returns {total, returned, cases}, but this is inferred from code, not declared in tool metadata.
Parameter descriptions missing or minimal. 'limit' in search_cases says '既定 20、上限 100' (default 20, max 100) but lacks explanation of what it controls. 'query' description is vague about matching behavior (substring vs exact). get_case 'id' parameter has no description at all.
Tool descriptions are domain-specific (Japanese legal context) but lack guidance on WHEN to use each tool. search_cases vs list_recent distinction is unclear, when should an LLM choose one over the other? No dependency hints provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error handling is minimal. get_case returns {error: 'no case with id ...'} as a success response (HTTP 200 equivalent), not a structured error. LLMs cannot distinguish success from failure or know whether to retry.
stats tool description is vague ('件数の内訳' = 'breakdown of counts'). No explanation of what 'fiscal_year', 'order_type', 'provisions' dimensions represent or how to use the output for filtering in search_cases.