MCP server for Docmost - connects AI assistants to standard Docmost instances
26 tools with consistent naming (verb_noun pattern) and complete schemas. Descriptions are present but generic (avg ~60 chars, below 194-char baseline). All parameters have type definitions and descriptions. Output schemas not explicitly documented in source. Error handling returns isError flag but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Composition is sound, tools are single-responsibility and chainable via ID fields. Security: credentials injected via env vars (good), but no permission gates or audit logging visible.
Create a comment on a page
Create a new group
Create a new page with markdown content. Supports nested pages via parentPageId.
Create a new space
Delete a comment
Delete a group
Delete a page
Descriptions are generic and under-optimized for LLM selection. Average ~60 chars vs. 194-char baseline. E.g., 'List all spaces in the Docmost workspace' lacks context on when to call vs. similar tools, what structure is returned, or pagination behavior.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. LLMs cannot distinguish safe reads from destructive writes without explicit hints. Destructive tools (delete_*) should carry destructiveHint=true.
Error handling returns isError flag but provides no recovery guidance. E.g., 'Error: Not found' tells the LLM nothing about what to try next. Should include actionable hints like 'Try search_spaces() with a partial name.'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | <=2025-11-25 | v2 |
Delete a space
Get details of a specific group
Get details of a specific page including its content
Get the breadcrumb path for a page
Get the edit history of a page
Get recently modified pages in a space
Get details of a specific space
List comments on a page
List all groups in the workspace
List pages in a space (sidebar view)
List all spaces in the Docmost workspace
Move a page to a different position in the hierarchy
Move a page to a different space
Search for pages and content in a space
Get search suggestions
Update a comment
Update an existing group
Update page metadata (title, icon, cover). For content updates, use docmost_update_page_markdown.
Update an existing space
Output schemas not documented in source. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure. E.g., does list_spaces return total_count, next_cursor, or neither?
No permission gates or audit logging visible. Destructive operations (delete_space, delete_page) should verify caller authority and log who did what, when, and why for compliance.