An MCP server for interacting with Outline's API
Server has 9 tools with consistent naming (verb_noun pattern) and descriptions present for all. Input schemas are visible and typed with Zod. However, output schemas are completely absent, no tool documents what it returns, forcing LLMs to guess downstream field names and types. Parameter descriptions are present but often generic (e.g., 'ID of the document to archive'). Error handling is minimal, no recovery guidance, no categorization of retryable vs. fatal errors. Missing tool annotations (readOnlyHint, destructiveHint) despite having tools marked READ_ONLY and DESTRUCTIVE. No pagination support visible on list-like tools (ask_documents). Composition is reasonable, tools are single-purpose, but chaining is hindered by absent output schemas.
Archive a document
Query documents with natural language. This method allows asking direct questions of your documents - where possible an answer will be provided. Search results will be restricted to those accessible by the current access token. Note that "AI answers" must be enabled for the workspace.
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.
No output schemas documented for any tool. LLMs cannot infer what fields are returned, breaking tool chaining and forcing guesswork on downstream parameter mapping.
Tool annotations missing. Tools marked DESTRUCTIVE (delete_comment, delete_document) and READ_ONLY (ask_documents, get_collection) lack destructiveHint and readOnlyHint annotations in registration, preventing LLMs from reasoning about safety.
No error handling or recovery guidance. Tools return raw API errors without categorizing as retryable, user-fixable, or fatal. No actionable error messages (e.g., 'User not found. Try search_users() first.').
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Delete a comment from a document
Delete a document
Get details about a specific collection
ask_documents accepts optional filters (userId, collectionId, documentId, statusFilter, dateFilter) but no pagination (limit, offset, cursor). Large result sets will blow context window.
Parameter descriptions are generic and lack format/constraint details. E.g., 'ID of the document to archive' does not explain format, length, or how to obtain it. 'Hex color code' lacks validation pattern.