Production-grade MCP knowledge server for LLM agents
Server has solid foundations with 8 well-named tools following verb_noun convention (search_*, get_*, create_*, list_*, build_*). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas are present with typed parameters and descriptions. However, output schemas are not documented in the tool definitions, LLMs cannot see what fields to expect from responses. Error handling is absent: no recovery guidance, no categorization of retryable vs fatal errors. Parameter descriptions lack format constraints (e.g., UUID format, enum values for priority). No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. Missing idempotency support on write operations except create_note.
Build comprehensive project context including recent documents and open tasks
Create a note in a project with optional idempotency support
Create a new task in a project
Retrieve full document details by ID
Retrieve project details by slug
List all tasks for a specific project
Search documents by query with optional project filtering
Output schemas not documented. Tool definitions lack return type documentation, LLMs cannot plan downstream calls or extract required fields (e.g., does search_documents return document_id, title, summary?).
No error handling or recovery guidance. Tools lack error responses that tell LLMs what to do next. No categorization of retryable vs fatal errors.
Missing tool annotations. No readOnlyHint or destructiveHint despite clear read/write distinction (Risk: READ_ONLY vs WRITE).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | <=2025-11-25 | v2 |
Search tasks with optional query, project, and assignee filtering
Parameter descriptions lack format constraints. 'project_id' and 'document_id' described as 'UUID' but no format validation hint. 'priority' enum is present but other params (query, slug) lack length/pattern guidance.
Idempotency only on create_note. create_task lacks idempotency_key support, agents retrying on ambiguous failures risk duplicate task creation.