A Model Context Protocol server for managing structured Markdown documents with chapter and paragraph-level editing, snapshots, summaries, and metadata management.
The Document MCP Server defines 31 tools with varying quality. All tools have explicit names starting with action verbs (list_, create_, delete_, read_, write_, etc.), which follows naming conventions well. However, there are significant gaps in schema completeness and parameter descriptions. Of the 31 tools sampled, most have adequate descriptions (100-300 chars), but input schemas are inconsistently documented. Tools like list_chapters, create_chapter, and read_chapter have explicit schemas with typed parameters and descriptions visible in tool_descriptions.py and content_tools.py. However, many tools (particularly in context_tools.py, version_tools.py, metadata_tools.py) are referenced but their full input schemas are not shown in the provided source code excerpt. This creates uncertainty about whether all parameters are properly typed and described. Output schemas are NOT documented for any tool, no return type specifications, pagination structures, or field descriptions are visible. Error handling is minimal: no recovery guidance, no error categorization, no actionable error messages. Composition is reasonable: tools are single-responsibility (e.g., create_chapter, delete_chapter, read_chapter are separate), and tool outputs should chain (e.g., list_chapters returns chapter names that feed into read_chapter). However, there is no evidence of pagination controls (limit, offset, cursor) on list tools, which is critical for large document collections. Security concerns: no documentation of access control, audit trails, or permission gates. The server uses STDIO transport, which limits protocol readiness significantly.
Add new paragraph at position: BEFORE target, AFTER target, or at END.
Create a new chapter file within an existing document directory.
Create a new document directory for organizing chapters.
Create a named snapshot of a document or chapter for version control.
Delete a chapter file from a document.
Delete an entire document and all its chapters.
Delete a stored memory.
No output/return schemas documented for any tool. LLMs cannot predict response structure, cannot chain tools effectively, and cannot extract required fields for downstream operations.
List tools (list_chapters, list_documents, list_memories, list_summaries, list_snapshots, list_modification_history) lack pagination parameters. No limit, offset, page, or cursor parameters visible. Large document collections will fail or return unlimited results, breaking context windows.
Destructive operations (delete_chapter, delete_document, delete_paragraph, delete_snapshot, delete_memory) lack confirmation or dry-run parameters. No recovery guidance in descriptions. Agents can irreversibly delete without safeguards.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | 2025-06-18+ | v2 |
| 2026-03-09 | D | 55 | - | v1 |
DELETE/REMOVE at index - subsequent paragraphs shift up.
Delete a snapshot.
Export conversation context and document state for transfer or backup.
Get detailed statistics for a chapter including word/paragraph counts.
Get information about all available tools, including descriptions, parameters, and usage.
Get document-level metadata including statistics and history.
Get server operational status, version, and configuration.
Import previously exported conversation context and document state.
List all chapter files within a specified document, ordered by filename.
List all available documents in the storage.
List all stored memories.
List modification history for a document or chapter.
List all available snapshots for a document or chapter.
List all available summary files for a document.
Move paragraph to new position (before or after target).
Read the complete content of a chapter file including frontmatter.
Read content of a single paragraph.
Read summary files at document, chapter, or section scope.
Recall previously stored contextual information.
REPLACE/OVERWRITE content at index - paragraph count unchanged.
Restore a document or chapter from a previously saved snapshot.
Store contextual information for multi-turn conversation continuity.
Overwrite entire chapter content while preserving YAML frontmatter metadata.
Write or update summary files at document, chapter, or section scope.
Parameter descriptions for list tools are sparse. 'include_chapters', 'include_metadata', 'scope' parameters lack guidance on what data structures they return or when to use them. LLMs cannot reason about which variant to call.
No error handling or recovery guidance documented. Tools have no indication of when they fail, why, or what the LLM should do next. Missing patterns: error-classification, recovery-guide.
No security or permission documentation. No audit trail information, access control hints, or scope declarations. Destructive operations have no permission gates documented.
Context and memory tools (store_memory, recall_memory, export_context, import_context) lack documentation about scope boundaries, persistence guarantees, and conflict resolution. 'conversation', 'session', 'persistent' scopes are mentioned but never explained.
Snapshot and version control tools lack documentation on snapshot scope boundaries. Can snapshots span chapters or only documents? Are they atomic? How do concurrent snapshots interact?
Paragraph index-based tools (add_paragraph, replace_paragraph, delete_paragraph, move_paragraph, read_paragraph) rely on numeric indices. No guidance on 0-based vs 1-based indexing, boundary handling, or what happens if index is out of range. Indices are brittle and error-prone.
Tool composition risk: tools like add_paragraph, replace_paragraph expect paragraph_index, but list_chapters and read_chapter descriptions do not indicate they return paragraph-indexed structures. LLMs cannot chain these operations confidently.