Outline Wiki MCP

npm version Docker License: ISC MCP

An MCP server for Outline wiki — search, read, create, and manage documents from any LLM client.

What is this about?

A Model Context Protocol server that connects LLM applications to your Outline wiki. Supports both stdio (for local tools like Claude Desktop, Claude Code) and HTTP transport (for remote clients like Claude.ai web).

Features

  • Full-text Search – Find documents across your entire wiki
  • Document Management – Create, read, update, delete, and move documents
  • Collection Organization – Browse and manage document collections
  • Archive & Restore – Soft-delete with archive/restore functionality
  • Draft Access – Work with unpublished drafts
  • Markdown Export – Export documents as clean markdown
  • MCP Resources – Browse collections and documents via resource URIs
  • Dual Transport – Run as a local stdio server or remote HTTP service

Installation

npx (stdio)

Zero-install, runs locally via stdio transport:

OUTLINE_BASE_URL=https://your-instance.getoutline.com \
OUTLINE_API_KEY=ol_api_xxx \
npx -y outline-wiki-mcp

Docker (HTTP)

Pull the pre-built image from GHCR and run in HTTP mode:

docker run -d \
  -p 9999:9999 \
  -e OUTLINE_BASE_URL=https://your-instance.getoutline.com \
  -e OUTLINE_API_KEY=ol_api_xxx \
  ghcr.io/raisedadead/outline-wiki-mcp:latest

The MCP endpoint will be available at http://localhost:9999/mcp.

Docker Compose

Create a .env file with your credentials:

OUTLINE_BASE_URL=https://your-instance.getoutline.com
OUTLINE_API_KEY=ol_api_xxx

Then start the service:

docker compose up -d

The docker-compose.yml included in the repository:

services:
  outline-wiki-mcp:
    image: ghcr.io/raisedadead/outline-wiki-mcp:latest
    ports:
      - "${PORT:-9999}:9999"
    environment:
      - OUTLINE_BASE_URL=${OUTLINE_BASE_URL}
      - OUTLINE_API_KEY=${OUTLINE_API_KEY}
      - MCP_TRANSPORT=http
      - PORT=9999
    restart: unless-stopped

Quick Start

Prerequisites

  • Outline instance (cloud or self-hosted)
  • API key from Outline > Settings > API > Create API Key

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-wiki-mcp"],
      "env": {
        "OUTLINE_BASE_URL": "https://your-instance.getoutline.com",
        "OUTLINE_API_KEY": "ol_api_xxx"
      }
    }
  }
}

Claude Code CLI (stdio)

claude mcp add \
  -e OUTLINE_BASE_URL=https://your-instance.getoutline.com \
  -e OUTLINE_API_KEY=ol_api_xxx \
  -s user \
  outline -- npx -y outline-wiki-mcp

Claude Code CLI (HTTP)

First start the server in HTTP mode (using Docker or npx), then add the remote endpoint:

claude mcp add -s user --transport http outline http://localhost:9999/mcp

Claude.ai Web

Add as a remote MCP server in Claude.ai settings using the HTTP endpoint URL:

http://localhost:9999/mcp

Replace localhost:9999 with your deployed server address.

Configuration

Option CLI Flag Environment Variable Default
Transport --transport MCP_TRANSPORT stdio
Port --port PORT 9999
Base URL - OUTLINE_BASE_URL -
API Key - OUTLINE_API_KEY -

A JSON config file can also be used for Outline credentials:

npx outline-wiki-mcp --config /path/to/config.json
{
  "outline": {
    "baseUrl": "https://your-instance.getoutline.com",
    "apiKey": "ol_api_xxx"
  }
}

Precedence rules:

  1. Config file values override environment variables for Outline credentials
  2. CLI flags (--transport, --port) override environment variables
  3. Environment variables (MCP_TRANSPORT, PORT) override defaults

Tools

Document Operations

Tool Description
outline_search Full-text search across all documents
outline_get_document Retrieve document content by ID
outline_list_documents List documents in a collection
outline_create_document Create a new document
outline_update_document Update an existing document
outline_move_document Move document to a different collection
outline_delete_document Permanently delete a document
outline_archive_document Archive a document (soft delete)
outline_unarchive_document Restore an archived document
outline_list_drafts List all unpublished drafts
outline_export_document Export document as clean markdown

Collection Operations

Tool Description
outline_list_collections List all collections
outline_get_collection Get collection details by ID
outline_create_collection Create a new collection
outline_update_collection Update collection properties
outline_delete_collection Delete a collection

Resources

Browse your wiki structure using MCP resource URIs:

URI Pattern Description
outline://collections List all collections
outline://collections/{id} Collection details with documents
outline://documents/{id} Document content in markdown

Contributing

See CONTRIBUTING.md for details.

License

ISC License - see LICENSE file for details.