The server provides 2 tools with basic schemas and descriptions, but they fall short of production-grade quality. Both tools have descriptions (good), but they lack depth and clarity about their behavior, error cases, and impact. The schema definitions are present but minimal, parameter descriptions exist but are terse. The tools operate on a stateless in-memory document store, which limits real-world applicability. Most critically: (1) the edit_docs tool performs write operations without warning about irreversibility or confirmation patterns, (2) parameter descriptions do not include constraints or format guidance, (3) no error handling guidance for LLMs (e.g., 'doc not found' case is handled server-side but the description does not prepare the agent for this), (4) no output schema documentation beyond implicit success/failure. The average tool score is 52, placing this in the 'poor' tier.
Edit a document by replacing a string in the document's content with new text.
Read the contents of a document and return it as a string.
edit_docs lacks write operation warning and confirmation pattern. Description does not state that this tool modifies state or its consequences. No confirmation/dry-run mechanism for irreversible changes.
Parameter descriptions are terse and lack format/constraint guidance. 'doc_id' gives no hint of expected format; 'old_str' and 'new_str' provide no length limits, encoding hints, or escape rules. LLMs lack guidance on valid input ranges.
No error guidance for LLM recovery. When doc_id not found, server raises ValueError with message 'Doc with id {doc_id} not found', but the tool description does not inform the LLM: (1) that this is a possible error, (2) how to recover (e.g., 'use the resource docs://documents to list available doc IDs'). LLM has no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | - | v1 |
Output schemas are not documented. LLMs cannot predict return structure or plan downstream calls. read_docs returns a string; edit_docs returns a message string. Both should have explicit schema declarations in the tool definition or description.
edit_docs has non-idempotent behavior and no protection against duplicate calls. If an agent retries after a transient failure, the replacement will be applied twice (or more), corrupting the document. No idempotency key, version check, or transaction log.