Server has 11 tools with complete input schemas and descriptions. Naming follows verb_noun convention (archive_, create_, delete_, get_, list_). Descriptions are present but brief (avg ~50 chars, below 194-char baseline). Parameters are typed and mostly described, but lack depth on constraints, formats, and dependencies. Output schemas are not documented in source. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Composition is sound, tools are single-responsibility and chainable.
Archive a document
Create a new collection
Create a new comment on a document
Create a new document
Create a template from an existing document. This method allows you to create a new template using an existing document as the basis.
Delete a comment from a document
Delete a document
Output schemas not documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and risk broken tool chains.
Tool descriptions are too brief (avg ~50 chars vs 194-char baseline). Descriptions lack WHEN to use, prerequisites, and state-modification warnings. E.g., 'Archive a document' does not explain if this is reversible or what happens to comments.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are marked with Risk levels (READ_ONLY, WRITE, DESTRUCTIVE) in metadata but not exposed to LLM via MCP annotations. LLM cannot reason about safety without explicit hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Get details about a specific collection
Get details about a specific document. At least id XOR shareId are required.
List all collections in the Outline workspace
List documents in the Outline workspace with optional filters
Parameter descriptions lack format/constraint details. E.g., 'color' in create_collection accepts 'Hex color code' but no validation that it is valid hex. 'limit' and 'offset' in list_documents lack min/max bounds. LLMs will pass invalid values.
Error handling returns raw McpError or generic InternalError without recovery guidance. E.g., 'Tool not supported' or stack traces do not tell LLM what to do next or which tool to try instead.