Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output structure. Tool names follow verb_noun convention (get_document_list, get_document). Descriptions exist but are brief (Japanese text, 20-60 chars when translated). Input schemas use Zod with enums and regex validation, but lack comprehensive parameter descriptions in the schema itself. No documented output schemas. Error handling returns isError flag but lacks recovery guidance. Parameters like 'type' are enums but descriptions are minimal. Overall: functional but below production baseline (194 char avg description, 100% param coverage expected).
指定された書類管理番号(docID)のEDINET提出書類を取得します。PDFやZIPの場合はローカルにダウンロードし、保存パスを返します。
指定された日付のEDINET提出書類一覧を取得します。
Parameter descriptions are minimal and lack actionable constraints. 'type' enum values ('1', '2', '3', '4', '5') are cryptic, descriptions should explain what each type returns (e.g., '1: Full text + audit report as ZIP'). LLMs cannot infer meaning from numeric codes.
No documented output schema. Tools return JSON.stringify(result) wrapped in content array, but the structure of 'result' (fields, types, pagination) is undocumented. LLMs cannot plan downstream calls or extract required fields without knowing the response shape.
Error handling returns isError flag with plain text message, but does not guide recovery. E.g., 'Failed to call EDINET API' gives no hint whether to retry, check credentials, or ask the user. Missing error classification (retryable vs. fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Tool descriptions are in Japanese and very brief (20 - 60 chars). English descriptions should be 50 - 200 chars and explain WHAT, WHEN, and WHAT IT RETURNS. Current descriptions lack context for LLM tool selection.
get_document marked as WRITE risk but no confirmation or dry-run pattern. Downloads files to disk, a destructive operation that should support confirmation before execution to prevent accidental overwrites.