Skip to content

circleyu/Outline-MCP-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Outline MCP Server

An Model Context Protocol (MCP) server that connects AI assistants to your Outline knowledge base—search, create, and manage documents from MCP clients such as Cursor and Claude Desktop.

Features

  • Documents — Search, create, read, and update Outline documents
  • Collections — List and browse collections
  • Resources — Expose documents and collections as MCP resources (outline://documents/{id}, outline://collections/{id})
  • Tools — MCP tools for AI assistants to operate Outline via a standard interface

Prerequisites

  • Go 1.21+ (for building)
  • An Outline instance with API access
  • API token from Outline → Settings → API Tokens

Quick Start

1. Get an Outline API token

Log in to your Outline instance → SettingsAPI Tokens → Create a token and copy it.

2. Build

git clone https://github.com/circleyu/outline-mcp.git
cd outline-mcp

go build -o outline-mcp-server ./cmd/server
# or
make build

3. Configure your MCP client

Add the executable path and environment variables to your MCP client config.

Cursor — Add to MCP settings (e.g. Cursor → Settings → MCP):

{
  "mcpServers": {
    "outline": {
      "command": "/absolute/path/to/outline-mcp-server",
      "env": {
        "OUTLINE_BASE_URL": "https://app.getoutline.com",
        "OUTLINE_API_KEY": "your-api-token-here",
        "OUTLINE_MAX_RETRIES": "2",
        "LOG_LEVEL": "info"
      }
    }
  }
}
  • Set command to the absolute path of the executable (e.g. /Users/you/outline-mcp/outline-mcp-server).
  • Set OUTLINE_API_KEY to your Outline API token.
  • Restart Cursor after saving.

Claude Desktop — Use the same mcpServers structure in Claude Desktop’s config.

4. Verify

After restarting the client, ask the AI to use Outline (e.g. “Search in Outline for…” or “Create a new Outline document…”).

Graceful shutdown: The server listens for SIGINT/SIGTERM and exits cleanly at the next request boundary (between JSON-RPC messages).

Project structure

outline-mcp/
├── cmd/server/          # Entry point
├── internal/
│   ├── mcp/             # MCP protocol, tools, resources
│   ├── outline/         # Outline API client
│   ├── config/          # Config loading
│   └── logger/          # Logging
├── test/                # Tests
├── docs/                # Cursor setup guide and examples
│   ├── CURSOR_SETUP.md
│   └── cursor-mcp-config.json.example
├── Makefile
├── Dockerfile
└── README.md            # This file

Documentation

Need Document
Set up Cursor (step-by-step, config reference, FAQ, advanced) docs/CURSOR_SETUP.md
Copy Cursor MCP config example docs/cursor-mcp-config.json.example
Build and deploy (systemd, Docker) DEPLOYMENT.md
Cursor setup (繁體中文) docs/CURSOR_SETUP.zh-TW.md

Traditional Chinese: README.zh-TW.md

MCP tools

Documents

Tool Description
outline_search_documents Full-text search
outline_list_documents List documents (collection, sort, pagination)
outline_create_document Create document
outline_update_document Update document
outline_get_document Get document by ID
outline_delete_document Delete document (optional permanent)
outline_archive_document Archive document
outline_restore_document Restore archived/deleted document
outline_move_document Move document to another collection or parent
outline_unpublish_document Unpublish (revert to draft)
outline_export_document Export document as Markdown
outline_list_drafts List current user’s drafts
outline_list_viewed List recently viewed documents
outline_templatize_document Create template from document

Collections

Tool Description
outline_list_collections List collections
outline_get_collection Get collection by ID
outline_get_collection_documents Get collection document tree (NavigationNode)
outline_create_collection Create collection
outline_update_collection Update collection
outline_delete_collection Delete collection
outline_export_collection Trigger collection export (async)

Shares

Tool Description
outline_get_share Get share (by share ID or document ID)
outline_list_shares List share links
outline_create_share Create share link
outline_update_share Update share (e.g. published)
outline_revoke_share Revoke share

Auth and users / groups

Tool Description
outline_auth_info Current auth info (user, team, groups)
outline_get_user Get user by ID
outline_list_users List team users
outline_document_users List users with access to a document
outline_document_memberships List document members
outline_get_group Get group by ID
outline_list_groups List team groups

Revisions, comments, file operations

Tool Description
outline_get_revision Get revision by ID
outline_list_revisions List document revision history
outline_create_comment Create comment
outline_get_comment Get comment by ID
outline_list_comments List comments (filter by document/collection)
outline_get_file_operation Get import/export job status
outline_list_file_operations List import/export jobs

MCP resources

  • outline://documents/{id} — Document content (Markdown)
  • outline://collections/{id} — Collection document tree (NavigationNode JSON)

Environment variables

Variable Required Default Description
OUTLINE_BASE_URL No* https://app.getoutline.com Outline instance URL
OUTLINE_API_KEY Yes Outline API token
OUTLINE_MAX_RETRIES No 0 Number of retries for 5xx errors (0 = no retry); capped at 5
LOG_LEVEL No info debug, info, warn, error

*Required when not using the default cloud URL.

Development

# Run tests
go test ./...

# Build
make build

# Build for multiple platforms
make build-all

License

MIT.

Links

About

An Model Context Protocol (MCP) server that connects AI assistants to your Outline knowledge base—search, create, and manage documents from MCP clients such as Cursor and Claude Desktop.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors