Local stdio MCP server for searching Japanese laws and retrieving article text from e-Gov Law Search. Includes related-law lookup (enforcement orders/regulations) inspired by Gennai Lawsy.
Server has 4 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (search_, get_, find_). Descriptions are present but generic (avg 95 chars, below 194-char baseline). Parameters have types and descriptions, but lack actionable constraints. get_article has a critical schema flaw: 'article' is required but neither lawId nor lawNum is required, making the tool unusable without clarification. Output schemas are not documented. Error handling is minimal, no recovery guidance or actionable error messages visible in code.
Find laws related to a base law name, including enforcement orders and regulations.
Retrieve a specific article from e-Gov Law Search by law ID or law number.
Retrieve law metadata and a plain text preview from e-Gov Law Search.
Search current Japanese laws from e-Gov Law Search by keyword.
get_article has broken parameter logic: 'article' is required, but neither 'lawId' nor 'lawNum' is required. Tool cannot execute without a law identifier. Schema must enforce: (lawId OR lawNum) AND article.
No output schemas documented. LLMs cannot predict response structure, forcing them to guess field names for downstream tool calls. Each tool needs a documented return type with field names and types.
Descriptions lack actionable context. 'Search current Japanese laws from e-Gov Law Search by keyword' does not explain WHEN to use this vs find_related_laws, or what structure is returned. Descriptions should be 50-200 chars and answer: what, when, what's returned.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
No error handling guidance in code. Errors are logged but not returned with recovery hints. If e-Gov API times out or returns 404, the LLM receives no actionable message. Implement pattern:recovery-guide.
Parameter descriptions lack format constraints. 'lawId' example '503AC0000000035' is not explained as a format. 'article' accepts '2' but no guidance on multi-part articles (e.g. '2-1'). Add regex patterns or format descriptions.