**Editor's Note**: While this server wrapped Outline's API for document and collection management through MCP, the project is now deprecated in favor of Outline's official MCP server with OAuth support. The original provided tools for creating, updating, and searching documents, managing collections, handling comments, and even AI-powered document querying. If you were using this for Outline integration with Claude or other MCP-compatible tools, migrate to Outline's official implementation for better security and ongoing support. The codebase remains useful as a reference for building similar documentation platform integrations.
[!WARNING] This project is no longer maintained as Outline has launched its own official MCP server with OAuth support. You should use that.
•
A Model Context Protocol (MCP) server that provides tools for interacting with Outline's API, enabling AI agents to manage documents, collections, and other entities programmatically through the Outline knowledge base platform.
One click install in Cursor:
You can now download a Claude Desktop extension from the releases page for quick and easy setup (just double click it).
Add the Outline MCP server to Claude Code with:
claude mcp add outline -s user -t stdio -e OUTLINE_API_KEY=... -- npx -y --package=outline-mcp-server@latest -c outline-mcp-server-stdio
This MCP server can be added to just about any agent with an appropriate command defining npx and env vars. Read below for more info on how to run the server manually.
Jump to Running →
Document Management
Collection Management
Comment Management
User Management
outline-mcp-server supports the latest streamable-http protocol, the deprecated sse protocol, and good ole fashioned stdio.
# S-HTTP/SSE servers (with optional env var)
OUTLINE_API_KEY=... npx -y outline-mcp-server@latest
# S-HTTP/SSE servers (without env var, use headers for auth)
npx -y outline-mcp-server@latest
# STDIO (requires env var)
OUTLINE_API_KEY=... npx -y --package=outline-mcp-server@latest -c outline-mcp-server-stdio
When running HTTP/SSE servers without an environment variable, you'll need to provide the API key in your request headers. The server will display available authentication methods on startup.
Add the following MCP definition to your configuration:
{
"outline": {
"command": "npx",
"args": ["-y", "--package=outline-mcp-server@latest", "-c", "outline-mcp-server-stdio"],
"env": {
"OUTLINE_API_KEY": "<REPLACE_ME>",
"OUTLINE_API_URL": "https://app.getoutline.com/api",
"OUTLINE_MCP_PORT": "6060",
"OUTLINE_MCP_HOST": "127.0.0.1"
}
}
}
The Outline MCP server supports two authentication methods:
OUTLINE_API_KEY as an environment variableFor stdio mode, the API key environment variable is required and validated on startup.
For HTTP/SSE modes, you have two options:
OUTLINE_API_KEY as an environment variable (fallback method)When using HTTP/SSE endpoints, you can provide the API key using any of these headers:
x-outline-api-key: your_api_key_hereoutline-api-key: your_api_key_hereauthorization: Bearer your_api_key_hereIf no header is provided, the server will fall back to the OUTLINE_API_KEY environment variable. If neither is available, the request will fail with an authentication error.
OUTLINE_API_KEY (required for stdio, optional for HTTP/SSE): your API key for outlineOUTLINE_API_URL (optional): Alternative URL for your outline API (if using an alt domain/self-hosting)OUTLINE_MCP_PORT (optional): Specify the port on which the server will run (default: 6060)OUTLINE_MCP_HOST (optional): Host/IP to bind the server to (default: 127.0.0.1). Use 0.0.0.0 to bind to all network interfacesOnce installed, you can use the MCP server with AI assistants that support the Model Context Protocol, such as Claude via Cursor.
Example queries your AI assistant can now handle:
You can run the Outline MCP Server using Docker or Docker Compose for easy deployment.
.env fileCopy .env.example to .env and fill in your Outline API key:
cp .env.example .env
# Edit .env and set OUTLINE_API_KEY=your_outline_api_key_here
docker-compose up --build
.env file.docker build -t outline-mcp-server .
docker run --env-file .env -p 6060:6060 outline-mcp-server
-e flags if needed.OUTLINE_API_URL in your .env file or as an environment variable.OUTLINE_MCP_PORT and OUTLINE_MCP_HOST in your .env file or as environment variables.docker-compose.yml as needed.# Clone this repository
git clone https://github.com/mmmeff/outline-mcp.git
cd outline-mcp
# Install dependencies
npm install
.env file with your Outline API key:OUTLINE_API_KEY=your_outline_api_key_here
# Optional -------
# OUTLINE_API_URL=https://your-outline-instance.com/api # defaults to https://app.getoutline.com/api
# OUTLINE_MCP_PORT=9001
# Builds/watches the project alongside running @modelcontextprotocol/inspector
npm run dev
This project uses semantic-release for automated versioning and package publishing. Please follow the Conventional Commits specification for your commit messages to ensure proper versioning.
See CONTRIBUTING.md for detailed guidelines on how to contribute to this project.
Releases are fully automated using semantic-release and GitHub Actions. When commits are pushed to the master branch, the following happens:
No manual version bumping or release creation is needed.
MIT