Thai legal knowledge base, compliance engine, and document templates via MCP HTTP protocol
Three tools with complete input schemas and reasonable descriptions, but significant gaps in output documentation and error handling. Tool names follow verb_noun convention (search_, get_, lookup_). Descriptions are present (80-120 chars) but lack context on when to use each tool vs. alternatives. Parameters are well-typed with enums where appropriate (law_type, status, template_type, language variants). However, no documented output schemas, no error recovery guidance, and no indication of pagination behavior for search results. Missing tool annotations (readOnlyHint, idempotentHint). Database schema visible but tool response shapes are not.
Retrieve legal document templates.
Look up Thai legal terms with definitions and references.
Search Thai laws and regulations.
No documented output schemas for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does search_laws return law_id, title, year, full_text?). Breaks tool chaining.
No error handling guidance. Tools lack recovery hints (e.g., 'If no results found, try broadening the query or removing filters'). Agents cannot self-correct on failures.
search_laws accepts limit (1-50, default 10) but no pagination cursor or offset documented in output. Large result sets will be truncated silently without agent awareness.
Tool descriptions lack context on when to use each tool. 'Search Thai laws' vs 'Look up Thai legal terms', when should an agent choose search_laws over glossary_lookup? No disambiguation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). All three tools are read-only and idempotent, but this is not declared. Agents cannot optimize retry logic or understand safety guarantees.