MCP server for Korean national R&D regulation review (국가연구개발 규정 검토용 MCP 서버)
The server provides 6 well-intentioned tools for Korean R&D regulation search and retrieval. All tools have descriptions and basic input schemas with typed parameters. However, the definitions lack LLM-optimization depth, output schemas are not documented, and error handling is minimal. Tool naming is reasonable (verb_noun pattern), but parameter descriptions are sparse and do not guide LLM behavior effectively. The schema definitions are present but incomplete, parameters lack detailed type constraints, ranges, and format guidance that production tools require. Most parameters are documented at a surface level but lack the actionable constraints (enums, regex patterns, ranges) that prevent LLM hallucination. Output structure is mentioned in code comments but not formally specified in tool definitions.
Get detailed content of a specific manual section
Get detailed information about a specific Korean R&D regulation provision
List all available R&D regulations in the system
Search the National R&D Innovation Act manual and related guidance documents
Search Korean national R&D regulations by keywords
Suggest relevant regulations for review based on query keywords
Output schemas not documented. Code contains detailed response processing (MANUAL_CHUNK_CONTENT_BUDGET, MANUAL_DETAIL_CHAR_BUDGET, etc.) but tool definitions do not expose the structure of returned data. LLMs cannot plan downstream use or extract fields without empirical discovery.
Parameters lack actionable constraints. 'query' parameters are free-form strings with no stated format, length limits, or character restrictions. 'limit' parameters have no stated min/max. 'section_id' has no stated pattern (code uses SECTION_ID_RE regex internally, but LLMs cannot see it). Without formal constraints, LLMs hallucinate invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
Parameter descriptions are generic. 'Search keywords' (for search_provision) and 'Search keywords' (for search_manual) do not distinguish what each tool searches (provisions vs manuals) or hint at what keywords are valid. No guidance on multi-word vs single-word queries, Korean vs romanized input, or abbreviation handling.
Error handling undefined. Code catches LawApiError and ManualLoadError but tool definitions do not document error cases, retry guidance, or recovery paths. LLMs do not know if a 'provision not found' error is retryable, user-fixable, or fatal.
list_rule_sets has empty input schema (no parameters). Description does not explain what structure it returns, whether results are paginated, or when to call it relative to other tools.
No idempotency or request deduplication guidance. Code does not declare which tools are read-only vs stateful, or whether retrying a search is safe. LLMs may avoid retrying on transient failures if idempotency is unclear.