home / mcp / mcp outline server
Provides a Model Context Protocol server for Outline document management with document, collection, comment, and AI-enabled features.
Configuration
View docs{
"mcpServers": {
"vortiago-mcp-outline": {
"url": "http://localhost:3000/mcp",
"headers": {
"OUTLINE_API_KEY": "<YOUR_API_KEY>",
"OUTLINE_API_URL": "https://your-domain/api"
}
}
}
}You can run and connect to the MCP Outline Server to manage Outline documents, collections, comments, and more through an MCP client. This server exposes document operations, collection management, backlinks, and AI-assisted tools, with flexible transport options for local or remote usage.
You interact with the server from an MCP client by starting the local server process or by running it in a container, then pointing your client to the correct transport method and URL. Choose a transport mode based on your environment: stdio for local, or streamable HTTP for remote access. Once connected, you can search, read, create, edit, archive, and manage documents and collections, add comments, view backlinks, and optionally use AI-powered queries.
# Prerequisites
- Python 3.10+ (for non-Docker installations)
- Optional: Docker if you prefer containerized usage
# Installation methods
# 1) Install via uvx (recommended for local development)
uvx mcp-outline
# 2) Install via pip
pip install mcp-outline
# 3) Docker deployment (HTTP transport)
docker run -p 3000:3000 \
-e OUTLINE_API_KEY=<YOUR_API_KEY> \
-e MCP_TRANSPORT=streamable-http \
ghcr.io/vortiago/mcp-outline:latest
# Optional: Build from source and run locally (if you prefer)
git clone https://github.com/Vortiago/mcp-outline.git
cd mcp-outline
uvx pip install -e ".[dev]" # install dependencies including dev tools
# Start the server (using stdio transport by default)
uv run mcp-outlineConfigure access and behavior using environment variables. Examples shown pull values from your Outline instance and control access. You can enable read-only mode, disable delete operations, and switch transport modes.
# Common configuration (examples)
# 1) StdIO (local) configuration snippet shown in client setup
{
"mcp-outline": {
"command": "uvx",
"args": ["mcp-outline"],
"env": {
"OUTLINE_API_KEY": "<YOUR_API_KEY>",
"OUTLINE_API_URL": "<YOUR_OUTLINE_URL>" // Optional for self-hosted Outline
}
}
}
# 2) Alternative stdio configuration using the binary directly after installation
{
"mcp-outline": {
"command": "mcp-outline",
"env": {
"OUTLINE_API_KEY": "<YOUR_API_KEY>",
"OUTLINE_API_URL": "<YOUR_OUTLINE_URL>" // Optional
}
}
}If you cannot connect, verify your API key and Outline URL, ensure the server is running, and confirm the transport mode matches what your client expects. Restart the client after changing environment variables.
# Quick checks
curl -H "Authorization: Bearer YOUR_API_KEY" <YOUR_OUTLINE_URL>/api/auth.info
# Troubleshooting tips
# - Ensure OUTLINE_API_KEY is set in your MCP client
# - Confirm OUTLINE_API_URL ends with /api for self-hosted instances
# - For container setups, expose port 3000 and map correctlyThe server automatically handles rate limiting by observing response headers and retrying failed requests with exponential backoff. You can operate in read-only mode to restrict write actions, disable delete operations, and optionally disable AI tools depending on your deployment.
# Quick self-hosted workflow
# 1) Prepare environment
cp config/outline.env.example config/outline.env
openssl rand -hex 32 > /tmp/secret_key
# 2) Start services
docker compose up -d
# 3) Create API key and wire it into the environment
# Access at http://localhost:3030 and add an API key under Settings → API KeysSearch documents by keywords with optional collection scope and pagination.
List all document collections.
Retrieve the hierarchical structure of a collection.
Find a document ID by its title within a collection.
Fetch full document content in markdown.
Export a document as markdown.
Create a new document in a collection.
Update a document, with optional append mode.
Move a document to a different collection or parent.
Archive a document.
Restore a document from archive.
Delete or move a document to trash (config dependent).
Restore a document from trash.
List all archived documents.
List all documents in trash.
Add a threaded comment to a document.
View comments on a document with optional pagination.
Get details of a specific comment.
Find documents that link to a given document.
Create a new collection.
Update a collection's properties.
Delete a collection.
Export a collection in a chosen format.
Export all collections.
Create multiple documents at once.
Update multiple documents at once.
Move multiple documents to a new collection or location.
Archive multiple documents.
Delete multiple documents in a single operation.
Ask natural language questions about your documents.