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 SettingsAI. 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/mcp


Claude Desktop

Open SettingsConnectors

Click Add Connector and enter the URL:

https://<yoursubdomain>.getoutline.com/mcp


Cursor

Open Cursor SettingsMCPAdd 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"]
    }
  }
}