# Outline MCP Server

Wires your assistant into Outline: search and read documents, create and edit pages, handle collections, comments and backlinks.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 158
- Author: Vortiago
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Vortiago/mcp-outline
- Updated: 2026-08-05
- HTML: https://affpapa.org/en/nevibecode/mcp/outline-mcp-server

## What it does

The server exposes your Outline workspace to the agent over the API. It searches and reads documents, creates, edits and archives them, works with collections and page hierarchy, adds and reads comment threads, and finds documents that link to a given page. Content is also served through URIs like `outline://document/{id}` and `outline://collection/{id}`. API rate limits are handled internally with retries.

Install it with `uvx` or `pip`, or run the Docker image. Non-Docker setups need Python 3.10+. The key comes from the Outline web interface: profile, settings, API keys section. Tool calls fail without `OUTLINE_API_KEY`, so get the key before the first request. For a self-hosted instance set `OUTLINE_API_URL`; the default is `https://app.getoutline.com/api`.

Several switches change what the agent can do. `OUTLINE_READ_ONLY` blocks every write operation, `OUTLINE_DISABLE_DELETE` blocks only deletes, and `OUTLINE_VERIFY_SSL=false` is for self-signed certificates. On an Outline instance without OpenAI, set `OUTLINE_DISABLE_AI_TOOLS`. Installing the repo as a Claude plugin also brings the `outline-explorer` subagent for fast read-only wiki browsing and the `outline` skill with document conventions.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `OUTLINE_API_KEY`, `OUTLINE_API_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OUTLINE_API_KEY=<OUTLINE_API_KEY> --env OUTLINE_API_URL=<OUTLINE_API_URL> --transport stdio outline-mcp-server -- uvx mcp-outline
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-outline <command>

### Codex

**Platform CLI**
```bash
codex mcp add outline-mcp-server --env OUTLINE_API_KEY=<OUTLINE_API_KEY> --env OUTLINE_API_URL=<OUTLINE_API_URL> -- uvx mcp-outline
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-outline <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "outline-mcp-server": {
            "command": "uvx",
            "args": [
                "mcp-outline"
            ],
            "env": {
                "OUTLINE_API_KEY": "<OUTLINE_API_KEY>",
                "OUTLINE_API_URL": "<OUTLINE_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-outline <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "outline-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-outline"
            ],
            "env": {
                "OUTLINE_API_KEY": "<OUTLINE_API_KEY>",
                "OUTLINE_API_URL": "<OUTLINE_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-outline <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OUTLINE_API_KEY=<OUTLINE_API_KEY> -e OUTLINE_API_URL=<OUTLINE_API_URL> outline-mcp-server uvx mcp-outline
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-outline <command>

## When to use it
- find a wiki page without leaving the editor
- create an Outline document from a coding task
- edit an existing page on the agent's request
- pull the comment thread for a document
- see which documents link to a page

## Example prompts
- Find the onboarding document in Outline and show its structure
- Create a page in the Engineering Notes collection describing this module
- Show the comments on `outline://document/{id}`

## Similar
- [tech-talk-outline](https://affpapa.org/en/nevibecode/skills/tech-talk-outline.md) — skill · 10300 installs
- [outline-builder](https://affpapa.org/en/nevibecode/skills/outline-builder.md) — skill · 608 installs
- [outline-coach](https://affpapa.org/en/nevibecode/skills/outline-coach.md) — skill · 495 installs
- [wiki-ingest](https://affpapa.org/en/nevibecode/skills/wiki-ingest.md) — skill · 3600 installs
- [wiki-capture](https://affpapa.org/en/nevibecode/skills/wiki-capture.md) — skill · 2800 installs
- [li](https://affpapa.org/en/nevibecode/skills/li.md) — skill · 652 installs

From the same set: [vortiago/mcp-outline](https://affpapa.org/en/nevibecode/by/vortiago/mcp-outline.md) — 2 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
