Outline MCP Server

by helicopterhelicopter

Not rated
GitHub

About

MCP server for the Outline knowledge base and document management tool.

Details

Author
helicopterhelicopter
Categories
Productivity, Knowledge Base, Other, Communication
Tags
#document, #notes

Setup

Install Outline MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/helicopterhelicopter/outline-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

A Model Context Protocol (MCP) server forOutlinethat enables reading and writing documents through the Outline API.

- Read Documents: Get individual documents, search, and list documents
- Write Documents: Create, update, and delete documents
- Collection Management: List and retrieve collection information
- Full Text Search: Search across all documents in your Outline instance
- Markdown Support: Create and edit documents with full Markdown formatting

The easiest way to use this server is vianpx— no cloning or building required. Point your MCP client at it directly:

{ "mcpServers": { "outline": { "command": "npx", "args": ["-y", "getoutline-mcp-server"], "env": { "OUTLINE_API_KEY": "your-secret-api-token", "OUTLINE_BASE_URL": "https://your-outline-instance.com" } } } }

SeeConfigurationfor how to obtain the API token.

For local development, or to run from source instead of npm:
- Clone or download this repository
- Install dependencies:

npm install

Before using the server, you need to set up your Outline API credentials:

- Log into your Outline instance (e.g.,https://app.getoutline.com)
- Go to Settings → API Tokens
- Create a new token

export OUTLINE_BASE_URL="https://your-outline-instance.com" export OUTLINE_API_KEY="your-api-token-here"

The server communicates via stdio and is compatible with any MCP client.

- Get a specific document by ID
- Parameters:id(string, required)

- Search for documents across your Outline instance
- Parameters:query(string, required),limit(number, optional, default: 25)

- List documents, optionally filtered by collection
- Parameters:collectionId(string, optional),limit(number, optional, default: 25)

- Create a new document
- Parameters:

- title(string, required)
- text(string, required) - Markdown content
- collectionId(string, optional)
- parentDocumentId(string, optional)
- publish(boolean, optional, default: false)

- Update an existing document
- Parameters:

- id(string, required)
- title(string, optional)
- text(string, optional) - Markdown content
- publish(boolean, optional)

- Delete a document
- Parameters:id(string, required)

- List all collections in your Outline instance
- Parameters: none

- Get information about a specific collection
- Parameters:id(string, required)

{ "name": "outline_search_documents", "arguments": { "query": "project documentation", "limit": 10 } }
{ "name": "outline_create_document", "arguments": { "title": "New Project Plan", "text": "# Project Overview\n\nThis document outlines...", "collectionId": "collection-id-here", "publish": true } }
{ "name": "outline_update_document", "arguments": { "id": "document-id-here", "title": "Updated Project Plan", "text": "# Updated Project Overview\n\nThis document has been updated..." } }
src/ ├── index.ts # Main MCP server implementation ├── outline-client.ts # Outline API client

- npm run build- Compile TypeScript to JavaScript
- npm run dev- Build and run the server
- npm run watch- Watch for changes and rebuild
- npm start- Run the compiled server

The compiled JavaScript will be output to thedist/directory.

To use this server with an MCP client, you'll need to configure it to run this server. The exact configuration depends on your client, but generally you'll need to:
- Specify the command to run:node /path/to/outline-mcp-server/dist/index.js
- Set the environment variables for your Outline instance
- Configure the client to use stdio transport

For clients like Claude that use a JSON configuration file, add the following to yourmcp-servers.json. The recommended approach usesnpx, so there is nothing to clone or build:

{ "mcpServers": { "outline": { "command": "npx", "args": ["-y", "getoutline-mcp-server"], "env": { "OUTLINE_API_KEY": "your-secret-api-token", "OUTLINE_BASE_URL": "https://your-outline-instance.com" } } } }

If you have cloned and built the project locally, point the client at the compileddist/index.jsinstead:

{ "mcpServers": { "outline": { "command": "node", "args": ["/path/to/your/projects/outline-mcp-server/dist/index.js"], "env": { "OUTLINE_API_KEY": "your-secret-api-token", "OUTLINE_BASE_URL": "https://your-outline-instance.com" } } } }

Make sure to replace theargspath with the absolute path to theindex.jsfile in your project, and fill in your actual credentials in theenvblock.

For clients like Cursor, you can typically set environment variables directly within the client's settings or by launching the client from a terminal where you have already exported the variables.

export OUTLINE_BASE_URL="https://your-outline-instance.com" export OUTLINE_API_KEY="your-secret-api-token" # Then launch Cursor from this terminal /path/to/Cursor.app/Contents/MacOS/Cursor

Be aware that Outline may have API rate limits. The server doesn't implement rate limiting internally, so you may need to handle this at the client level if you're making many requests.

The server includes comprehensive error handling and will return descriptive error messages for common issues like:

- Missing or invalid API credentials
- Network connectivity problems
- Invalid document IDs
- API rate limit errors

- Store your API token securely using environment variables
- Never commit your API token to version control
- Consider using restricted API tokens with minimal required permissions
- Be cautious when allowing others to use your MCP server as it has full access to your Outline instance

MIT License - see LICENSE file for details.

Contributions are welcome! Please feel free to submit issues and pull requests.

An MCP server for interacting with the YuQue knowledge base, enabling AI assistants to perform operations on documents and information.

MCP server for Obsidian vaults — search, memory, link graph, 23 tools, OAuth-protected.

Open-source shared AI memory and team knowledge layer with 44 MCP tools for notes, memories, URLs, emails, projects, graph search, semantic search, and Git sync.

MCP server for Apple Notes with semantic search and CRUD operations. Claude searches, reads, creates, updates, and manages your Apple Notes through natural language.

Interact with Atlassian Confluence Cloud spaces, pages, and content in real-time.

An open-source Model Context Protocol (MCP) server for Atlassian Confluence that lets AI assistants like Claude and Windsurf read, create, search, and manage Confluence wiki pages. Works with Confluence Cloud, on-premise Server, and Data Center deployments — connect your AI coding agent to your team's knowledge base in seconds via npx.

An MCP server for interacting with Bookstack, built with the mcp-framework for Node.js.

Integrates Model Context Protocol (MCP) with Obsidian, allowing AI assistants to interact with your notes and vault.

CLI & MCP server for Zotero 7/8 — 52 tools to let AI manage your research library locally. Search, import, export, PDF, notes, and more.

Provides secure access to Atlassian Confluence content and spaces using its REST API.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.