MCP server for managing custom internal documentation
CHECK-MODULE has well-structured tool definitions with complete schemas and descriptions for all 6 tools. Naming follows verb_noun convention (search-docs, get-doc, list-categories, add-doc, fetch-library-docs, list-available-libraries). Descriptions are present and contextual (avg ~120 chars). However, several parameters lack descriptions or constraints: search-docs 'category' and 'tags' have minimal guidance; add-doc lacks validation hints for required fields; fetch-library-docs 'query' is marked optional but lacks format guidance. Output schemas are not documented, LLMs cannot predict response structure. Error handling is basic (returns isError flag but no recovery guidance). No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. add-doc is a WRITE operation but lacks confirmation/dry-run pattern.
Add or update documentation. Stores a new document or updates an existing one.
Fetch official documentation from online sources for libraries and frameworks (LangGraph, React, FastAPI, etc.). Automatically retrieves up-to-date documentation from the web.
Get full documentation by ID. Returns the complete content of a specific document.
List all libraries that have known documentation sources configured.
List all available documentation categories.
Search through internal documentation. Returns relevant documents based on query, category, and tags.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). search-docs returns 'results' array with 'doc' and 'excerpt' fields, not declared. get-doc returns formatted markdown, structure unclear to agent.
add-doc is a destructive WRITE operation but lacks confirmation/dry-run pattern and tool annotations. No isError handling for duplicate IDs or validation failures. LLM could silently overwrite docs.
Parameter descriptions incomplete. search-docs 'category' and 'tags' lack guidance on valid values (enum). fetch-library-docs 'query' is optional but no format specified. add-doc 'version' is optional but no versioning scheme documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Error responses lack recovery guidance. 'Document not found: {docId}' tells LLM nothing about next steps. Should suggest 'Try search-docs() to find similar documents' or list available categories.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). search-docs, get-doc, list-* are clearly read-only; add-doc is destructive. Annotations enable agent safety planning and audit trails.