MCP Outline Server

by Vortiago

198 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server enabling AI assistants to interact with Outline documentation services.

Details

Author
Vortiago
Downloads
198
Categories
Productivity, Knowledge Base, Other, Communication

- Search documents by keywords
- List collections and view document structure
- Read document content and export as markdown
- View and add comments on documents
- Create, edit, and move documents
- View backlinks to a document

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Outline Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install with Python 3.10+, configure with an Outline API key and optional API URL in a .env file, then run via mcp dev, start_server.sh, or install in Claude Desktop.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp outline server": {
            "mcp-outline": {
                "command": "uv",
                "args": [
                    "pip",
                    "install",
                    "-e",
                    ".[dev]"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-outline": {
        "command": "uv",
        "args": [
            "pip",
            "install",
            "-e",
            ".[dev]"
        ]
    }
}

Outline now ships anofficial MCP server— we recommend using it.Read the docs.

A Model Context Protocol server for interacting with Outline document management.

- Document operations: Search, read, create, edit, archive documents
- Collections: List, create, manage document hierarchies
- Comments: Add and view threaded comments
- Backlinks: Find documents referencing a specific document
- MCP Resources: Direct content access via URIs (outline://document/{id}, outline://collection/{id}, etc.)
- Automatic rate limiting: Transparent handling of API limits with retry logic

- AnOutlineaccount (cloud hosted or self-hosted)
- API key from Outline web UI:Settings → API Keys → Create New
- Python 3.10+ (for non-Docker installations)

Getting your API key: Log into Outline → Click your profile → Settings → API Keys → "New API Key". Copy the generated token.

Click a button to install with interactive API key prompt:

Install with uv (recommended), pip, or Docker:

uvx mcp-outline # using uv pip install mcp-outline # using pip
# using Docker docker run -e OUTLINE_API_KEY=<your-key> ghcr.io/vortiago/mcp-outline:latest

Then add to your MCP client config (works with VS Code, Claude Desktop, Cursor, and others):

{ "inputs": [ { "id": "outline_api_key", "type": "promptString", "description": "Enter OUTLINE_API_KEY", "password": true }, { "id": "outline_api_url", "type": "promptString", "description": "Outline API URL (optional, for self-hosted)", "password": false } ], "servers": { "mcp-outline": { "command": "uvx", "args": ["mcp-outline"], "env": { "OUTLINE_API_KEY": "${input:outline_api_key}", "OUTLINE_API_URL": "${input:outline_api_url}" } } } }
claude mcp add mcp-outline uvx mcp-outline

Installing the repo as a plugin instead also bundles theoutline-exploreragent (fast read-only wiki exploration) and theoutlineskill (Outline conventions: mermaidjs fences, document structure, editing workflows).

Add to~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "mcp-outline": { "command": "uvx", "args": ["mcp-outline"], "env": { "OUTLINE_API_KEY": "<YOUR_API_KEY>", "OUTLINE_API_URL": "<YOUR_OUTLINE_URL>" } } } }

Setup guides for more clients:Docker (HTTP), Cline, Codex, Windsurf, and others

Read-only mode takes precedence over disable-delete. SeeConfiguration Guidefor details.

Note: Tool availability depends on youraccess controlsettings.

- search_documents(query, collection_id?, limit?, offset?, statusFilter?)- Search documents by keywords with pagination. Defaults to published documents; passstatusFilterwithdraft,archived, and/orpublishedto include other states
- list_recently_updated_documents(date_filter?, collection_id?, status_filter?, limit?, offset?)- List documents by most recent change, newest first (e.g. "what changed this week").date_filterwindows by last change:day/week/month/year(defaultweek). Defaults to published documents
- list_collections()- List all collections
- get_collection_structure(collection_id)- Get document hierarchy within a collection
- get_document_id_from_title(query, collection_id?)- Find document ID by title search

- read_document(document_id, offset?, limit?)- Get document content with optional line-range pagination
- export_document(document_id)- Export document as markdown

- get_document_toc(document_id)- Get table of contents with heading structure and line numbers
- read_document_section(document_id, heading)- Read a specific section by heading match (case-insensitive substring)

- create_document(title, collection_id, text?, parent_document_id?, publish?)- Create new document
- update_document(document_id, title?, text?, append?)- Replace full document content (append mode available)

- edit_document(document_id, edits, save?)- String-match editing with batched replacements;save=Falsestages changes locally,save=Trueon the final call pushes all changes
- move_document(document_id, collection_id?, parent_document_id?)- Move document to different collection or parent

- archive_document(document_id)- Archive document
- unarchive_document(document_id)- Restore document from archive
- delete_document(document_id, permanent?)- Delete document (or move to trash)
- restore_document(document_id)- Restore document from trash
- list_archived_documents()- List all archived documents
- list_trash()- List all documents in trash

- add_comment(document_id, text, parent_comment_id?)- Add comment to document (supports threaded replies)
- list_document_comments(document_id, include_anchor_text?, limit?, offset?)- View document comments with pagination
- get_comment(comment_id, include_anchor_text?)- Get specific comment details
- get_document_backlinks(document_id)- Find documents that link to this document

- create_collection(name, description?, color?)- Create new collection
- update_collection(collection_id, name?, description?, color?)- Update collection properties
- delete_collection(collection_id)- Delete collection
- export_collection(collection_id, format?)- Export collection (default: outline-markdown)
- export_all_collections(format?)- Export all collections

- batch_create_documents(documents)- Create multiple documents at once
- batch_update_documents(updates)- Update multiple documents at once
- batch_move_documents(document_ids, collection_id?, parent_document_id?)- Move multiple documents
- batch_archive_documents(document_ids)- Archive multiple documents
- batch_delete_documents(document_ids, permanent?)- Delete multiple documents

- ask_ai_about_documents(question, collection_id?, document_id?)- Ask natural language questions about your documents

- outline://collection/{id}- Collection metadata (name, description, color, document count)
- outline://collection/{id}/tree- Hierarchical document tree structure
- outline://collection/{id}/documents- Flat list of documents in collection
- outline://document/{id}- Full document content (markdown)
- outline://document/{id}/backlinks- Documents that link to this document

git clone https://github.com/Vortiago/mcp-outline.git cd mcp-outline uv sync --group dev uv run poe test-unit # unit tests uv run poe test-integration # integration tests (starts MCP server via stdio) uv run poe test-e2e # E2E tests (requires Docker)

SeeDevelopment Guidefor self-hosted Outline setup, MCP Inspector, and more.

Server not connecting?Test your API key:

curl -H "Authorization: Bearer YOUR_API_KEY" YOUR_OUTLINE_URL/api/auth.info

SeeTroubleshooting Guidefor common issues with tools, rate limiting, and Docker.

Contributions welcome! SeeCONTRIBUTING.mdfor setup instructions.

This project is licensed under the MIT License - see theLICENSEfile for details.

- Built withMCP Python SDK
- Uses
Outline APIfor document management

Interact with Atlassian Confluence Cloud spaces, pages, and content in real-time.

An open-source Model Context Protocol (MCP) server for Atlassian Confluence that lets AI assistants like Claude and Windsurf read, create, search, and manage Confluence wiki pages. Works with Confluence Cloud, on-premise Server, and Data Center deployments — connect your AI coding agent to your team's knowledge base in seconds via npx.

Provides secure access to Atlassian Confluence content and spaces using its REST API.

Interact with the Confluence API to manage spaces, pages, and content. Supports searching, creating, and updating pages.

An MCP server that enables AI assistants to interact with Confluence content through a standardized interface.

An open-source collaborative wiki and documentation software with AI integration via MCP.

An MCP server for interacting with the esa.io knowledge-sharing platform.

Access the esa.io API to manage your team's knowledge base.

A MCP server for the document sharing service esa.io.

An MCP server for integrating with the Kibela API, allowing LLMs to access and manage content on the knowledge-sharing platform.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.