mcp-outline
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Server host. Use 0.0.0.0 in Docker for external connections | 127.0.0.1 |
| MCP_PORT | No | HTTP server port (only for sse and streamable-http modes) | 3000 |
| MCP_TRANSPORT | No | Transport mode: stdio (local), sse or streamable-http (remote) | stdio |
| OUTLINE_API_KEY | Yes | Get from Outline web UI: Settings → API Keys → Create New | |
| OUTLINE_API_URL | No | For self-hosted: https://your-domain/api | https://app.getoutline.com/api |
| OUTLINE_READ_ONLY | No | true = disable ALL write operations | false |
| OUTLINE_DISABLE_DELETE | No | true = disable only delete operations | false |
| OUTLINE_DISABLE_AI_TOOLS | No | true = disable AI tools (for Outline instances without OpenAI) | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_documentsA | Searches for documents using keywords or phrases across your knowledge base. IMPORTANT: The search performs full-text search across all document content and titles. Results are ranked by relevance, with exact matches and title matches typically ranked higher. The search will return snippets of content (context) where the search terms appear in the document. You can limit the search to a specific collection by providing the collection_id. PAGINATION: By default, returns up to 25 results at a time. If more results exist, use the 'offset' parameter to fetch additional pages. For example, use offset=25 to get results 26-50, offset=50 for 51-75, etc. Use this tool when you need to:
Args: query: Search terms (e.g., "vacation policy" or "project plan") collection_id: Optional collection to limit the search to limit: Maximum results to return (default: 25, max: 100) offset: Number of results to skip for pagination (default: 0) Returns: Formatted string containing search results with document titles, contexts, and pagination information |
| list_collectionsA | Retrieves and displays all available collections in the workspace. Use this tool when you need to:
Returns: Formatted string containing collection names, IDs, and descriptions |
| get_collection_structureA | Retrieves the hierarchical document structure of a collection. Use this tool when you need to:
Args: collection_id: The collection ID to examine Returns: Formatted string showing the hierarchical structure of documents |
| get_document_id_from_titleA | Locates a document ID by searching for its title. IMPORTANT: This tool first checks for exact title matches (case-insensitive). If none are found, it returns the best partial match instead. This is useful when you're not sure of the exact title but need to reference a document in other operations. Results are more accurate when you provide more of the actual title in your query. Use this tool when you need to:
Args: query: Title to search for (can be exact or partial) collection_id: Optional collection to limit the search to Returns: Document ID if found, or best match information |
| read_documentA | Retrieves and displays the full content of a document. Use this tool when you need to:
Args: document_id: The document ID to retrieve Returns: Formatted string containing the document title and content |
| export_documentA | Exports a document as plain markdown text. Use this tool when you need to:
Args: document_id: The document ID to export Returns: Document content in markdown format without additional formatting |
| list_document_commentsA | Retrieves comments on a specific document with pagination support. IMPORTANT: By default, this returns up to 25 comments at a time. If there are more than 25 comments on the document, you'll need to make multiple calls with different offset values to get all comments. The response will indicate if there are more comments available. Use this tool when you need to:
Args: document_id: The document ID to get comments from include_anchor_text: Whether to include the document text that comments refer to limit: Maximum number of comments to return (default: 25) offset: Number of comments to skip for pagination (default: 0) Returns: Formatted string containing comments with author, date, and optional anchor text |
| get_commentA | Retrieves a specific comment by its ID. Use this tool when you need to:
Args: comment_id: The comment ID to retrieve include_anchor_text: Whether to include the document text that the comment refers to Returns: Formatted string with the comment content and metadata |
| get_document_backlinksA | Finds all documents that link to a specific document. Use this tool when you need to:
Args: document_id: The document ID to find backlinks for Returns: Formatted string listing all documents that link to the specified document |
| export_collectionA | Exports all documents in a collection to a downloadable file. IMPORTANT: This tool starts an asynchronous export operation which may take time to complete. The function returns information about the operation, including its status. When the operation is complete, the file can be downloaded or accessed via Outline's UI. The export preserves the document hierarchy and includes all document content and structure in the specified format. Use this tool when you need to:
Args: collection_id: The collection ID to export format: Export format ("outline-markdown", "json", or "html") Returns: Information about the export operation and how to access the file |
| export_all_collectionsA | Exports the entire workspace content to a downloadable file. IMPORTANT: This tool starts an asynchronous export operation which may take time to complete, especially for large workspaces. The function returns information about the operation, including its status. When the operation is complete, the file can be downloaded or accessed via Outline's UI. The export includes all collections, documents, and their hierarchies in the specified format. Use this tool when you need to:
Args: format: Export format ("outline-markdown", "json", or "html") Returns: Information about the export operation and how to access the file |
| create_collectionA | Creates a new collection for organizing documents. Use this tool when you need to:
Args: name: Name for the collection description: Optional description of the collection's purpose color: Optional hex color code for visual identification (e.g. #FF0000) Returns: Result message with the new collection ID |
| update_collectionA | Modifies an existing collection's properties. Use this tool when you need to:
Args: collection_id: The collection ID to update name: Optional new name for the collection description: Optional new description color: Optional new hex color code (e.g. #FF0000) Returns: Result message confirming update |
| delete_collectionA | Permanently removes a collection and all its documents. Use this tool when you need to:
WARNING: This action cannot be undone and will delete all documents within the collection. Args: collection_id: The collection ID to delete Returns: Result message confirming deletion |
| ask_ai_about_documentsA | Queries document content using natural language questions. Use this tool when you need to:
Args: question: The natural language question to ask collection_id: Optional collection to limit the search to document_id: Optional document to limit the search to Returns: AI-generated answer based on document content with sources |
| create_documentA | Creates a new document in a specified collection. Use this tool when you need to:
Note: For Mermaid diagrams, use Args: title: The document title collection_id: The collection ID to create the document in text: Optional markdown content for the document parent_document_id: Optional parent document ID for nesting publish: Whether to publish the document immediately (True) or save as draft (False) Returns: Result message with the new document ID |
| update_documentA | Modifies an existing document's title or content. IMPORTANT: This tool replaces the document content rather than just adding to it. To update a document with changed data, you need to first read the document, add your changes to the content, and then send the complete document with your changes. Use this tool when you need to:
Note: For Mermaid diagrams, use Args: document_id: The document ID to update title: New title (if None, keeps existing title) text: New content (if None, keeps existing content) append: If True, adds text to the end of document instead of replacing Returns: Result message confirming update |
| add_commentA | Adds a comment to a document or replies to an existing comment. Use this tool when you need to:
Args: document_id: The document to comment on text: The comment text (supports markdown) parent_comment_id: Optional ID of a parent comment (for replies) Returns: Result message with the new comment ID |
| archive_documentA | Archives a document to remove it from active use while preserving it. IMPORTANT: Archived documents are removed from collections but remain searchable in the system. They won't appear in normal collection views but can still be found through search or the archive list. Use this tool when you need to:
Args: document_id: The document ID to archive Returns: Result message confirming archival |
| unarchive_documentA | Restores a previously archived document to active status. Use this tool when you need to:
Args: document_id: The document ID to unarchive Returns: Result message confirming restoration |
| delete_documentA | Moves a document to trash or permanently deletes it. IMPORTANT: When permanent=False (the default), documents are moved to trash and retained for 30 days before being permanently deleted. During this period, they can be restored using the restore_document tool. Setting permanent=True bypasses the trash and immediately deletes the document without any recovery option. Use this tool when you need to:
Args: document_id: The document ID to delete permanent: If True, permanently deletes the document without recovery option Returns: Result message confirming deletion |
| restore_documentA | Recovers a document from the trash back to active status. Use this tool when you need to:
Args: document_id: The document ID to restore Returns: Result message confirming restoration |
| list_archived_documentsA | Displays all documents that have been archived. Use this tool when you need to:
Returns: Formatted string containing list of archived documents |
| list_trashA | Displays all documents currently in the trash. Use this tool when you need to:
Returns: Formatted string containing list of documents in trash |
| move_documentA | Relocates a document to a different collection or parent document. IMPORTANT: When moving a document that has child documents (nested documents), all child documents will move along with it, maintaining their hierarchical structure. You must specify either collection_id or parent_document_id (or both). Use this tool when you need to:
Args: document_id: The document ID to move collection_id: Target collection ID (if moving between collections) parent_document_id: Optional parent document ID (for nesting) Returns: Result message confirming the move operation |
| batch_archive_documentsA | Archives multiple documents in a single batch operation. This tool processes each document sequentially, continuing even if individual operations fail. Rate limiting is handled automatically by the Outline client. IMPORTANT: Archived documents are removed from collections but remain searchable. They won't appear in normal collection views but can still be found through search or the archive list. Use this tool when you need to:
Recommended batch size: 10-50 documents per operation Args: document_ids: List of document IDs to archive Returns: Summary of batch operation with success/failure details |
| batch_move_documentsA | Moves multiple documents to a different collection or parent. This tool processes each document sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. IMPORTANT: When moving documents that have child documents, all children will move along with them, maintaining hierarchical structure. You must specify either collection_id or parent_document_id (or both). Use this tool when you need to:
Recommended batch size: 10-50 documents per operation Args: document_ids: List of document IDs to move collection_id: Target collection ID (optional) parent_document_id: Target parent document ID (optional) Returns: Summary of batch operation with success/failure details |
| batch_delete_documentsA | Deletes multiple documents, moving them to trash or permanently. This tool processes each document sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. IMPORTANT: When permanent=False (the default), documents are moved to trash and retained for 30 days. Setting permanent=True bypasses trash and immediately deletes documents without recovery option. Use this tool when you need to:
Recommended batch size: 10-50 documents per operation Args: document_ids: List of document IDs to delete permanent: If True, permanently deletes without recovery option Returns: Summary of batch operation with success/failure details |
| batch_update_documentsA | Updates multiple documents with different changes. This tool processes each update sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. Each update dictionary should contain:
Use this tool when you need to:
Note: For Mermaid diagrams, use Recommended batch size: 10-50 documents per operation Args: updates: List of update specifications, each containing id and optional title, text, and append fields Returns: Summary of batch operation with success/failure details |
| batch_create_documentsA | Creates multiple documents in a single batch operation. This tool processes each creation sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. Each document dictionary should contain:
Use this tool when you need to:
Note: For Mermaid diagrams, use Recommended batch size: 10-50 documents per operation Args: documents: List of document specifications, each containing title, collection_id, and optional text, parent_document_id, and publish fields Returns: Summary of batch operation with created document IDs and success/failure details |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fastmcp-me/mcp-outline'
If you have feedback or need assistance with the MCP directory API, please join our Discord server