MCP
MCP (Model Context Protocol) is an open standard that lets AI assistants like Claude, Cursor, and others directly search, read, create, and edit documents in your Outline workspace. Once connected, your AI tools become an extension of your knowledge-base — able to find information, draft new docs, and update existing ones on your behalf.
Settings
MCP can be toggled at the workspace level, under Settings → AI. Disabling will prevent all members from connecting clients – If you’re having trouble connecting an admin may have disabled MCP for your workspace.
Authentication
By default the MCP server will use OAuth authentication - just add the configuration to your client and a login window will automatically appear to sign-in to your Outline account.
API key authentication is also available. Simply generate an API key in settings, (give it an identifiable name) and then add it in the following format in your MCP header configuration:
Authorization: Bearer <your-api-key>Client setup
This guide assumes you're using cloud-hosted Outline. For self-hosted simply replace the URL with your own installation domain and append with /mcp.
Claude Code
Run the following command in your terminal, make sure to replace <yoursubdomain> with the correct subdomain for your workspace. Then authenticate by typing /mcp in Claude Code and following the OAuth flow.
claude mcp add --transport http outline https://<yoursubdomain>.getoutline.com/mcpClaude Desktop
Open Settings → Connectors
Click Add Connector and enter the URL:
https://<yoursubdomain>.getoutline.com/mcpCursor
Open Cursor Settings → MCP → Add new global MCP server.
Paste in the code below, make sure to replace <yoursubdomain> with the correct subdomain for your workspace.
{
"mcpServers": {
"outline": {
"url": "https://<yoursubdomain>.getoutline.com/mcp"
}
}
}Other apps
Most MCP clients accept a very similar JSON configuration. It will look something like the following, note that Outline only supports the Streamable HTTP transport.
{
"mcpServers": {
"outline": {
"url": "https://<yoursubdomain>.getoutline.com/mcp"
}
}
}If your app only supports local MCP (STDIO) then a proxy package can be used to connect
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://<yoursubdomain>.getoutline.com/mcp"]
}
}
}