Model Context Protocol server for rokadoc RAG service
Four tools with complete schemas, descriptions, and proper type definitions. Tool names follow verb_noun pattern (convert_document, list_conversions, get_conversion_result, search_documents). All parameters have descriptions and types. Tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) are explicitly declared per MCP spec. Descriptions are concise (10-50 chars) but lack actionable context for LLM selection, missing WHEN to use, prerequisites, and recovery guidance. Output schemas are not documented in the source. Error handling is present but not visible in tool definitions.
ドキュメントファイルをrokadocに送信して構造化テキストに変換する
指定された変換ジョブの結果を取得する
変換ジョブの一覧を取得する
rokadocに登録されたドキュメントに対してRAG検索を実行する
Tool descriptions lack actionable context. Descriptions are 10-50 chars and do not explain WHEN to use each tool, prerequisites, or how to interpret results. LLMs cannot distinguish between list_conversions and get_conversion_result without deeper reasoning.
Output schemas are not documented in tool definitions. LLMs cannot plan downstream calls or extract required fields (e.g., conversion_id from list_conversions to pass to get_conversion_result). Breaks tool chaining.
Space resolution logic (space_id vs space_name) is documented in code comments but not in parameter descriptions. LLMs will not understand that space_name is ignored if space_id is provided, risking silent failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
search_documents max_results defaults to 3 with a hard cap of 5. The description states 'デフォルト: 3、最大: 5' but does not explain why results are capped or what to do if the user needs more. No pagination support visible.
Error handling and recovery guidance are not visible in tool definitions. No indication of what errors are retryable, user-fixable, or fatal. LLMs cannot self-correct on failure.