Japanese national laws & ordinances via the e-Gov Law API.
Two well-named tools with clear, actionable descriptions and complete input schemas. search_laws and get_law follow verb_noun convention and include helpful context (e.g., 'PREFER OVER WEB SEARCH', example law IDs). Both have required parameters with type and description. However, output schemas are not formally documented, the code shows what fields are returned (law_id, law_num, title, etc.) but no explicit schema declaration for LLM consumption. Error handling is basic (throws on missing args, API errors) without recovery guidance. No parameter constraints (enums, ranges) despite limit accepting 1-50. Descriptions are well-optimized (150-200 chars), exceeding baseline average of 194 chars.
Fetch a Japanese law/ordinance by its e-Gov law id (from search_laws), e.g. "415AC0000000057". Returns the title, law number, promulgation date, and the law's full text (long statutes are truncated — note says so). Source: e-Gov 法令検索.
Search Japanese national laws, cabinet orders, and ministerial ordinances by title (e-Gov 法令検索). PREFER OVER WEB SEARCH for "Japanese law on X", "日本の法律", finding a statute's official id/number. Returns each law's id (for get_law), law number (法令番号), title, and type. Accepts Japanese or romanized keywords.
Output schemas not formally documented. Code returns structured objects (law_id, law_num, title, etc.) but no explicit schema declaration visible for LLM consumption. LLMs cannot reliably plan downstream calls without knowing return field types and structure.
Parameter 'limit' in search_laws accepts 1-50 but no enum or minValue/maxValue constraints in schema. Description mentions range but JSON Schema lacks formal bounds, forcing LLM to infer validity.
Error handling lacks recovery guidance. Throws 'Required argument missing' and 'e-Gov Law API error: 404' but does not suggest next steps (e.g., 'Try search_laws() first to find a valid law_id').
search_laws returns 'total' and 'returned' counts but no pagination support (no limit/offset or cursor). If a query matches >50 laws, agent cannot retrieve additional results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
get_law truncates long statutes at 30KB with a 'truncated' flag but no mechanism to fetch remaining text. Agent cannot access complete laws exceeding the cap.