Prepare the server locally
Run this once before adding it to Claude Code.
npm install
npm run buildRegister it in Claude Code
claude mcp add -e "OUTLINE_BASE_URL=${OUTLINE_BASE_URL}" -e "OUTLINE_API_KEY=${OUTLINE_API_KEY}" outline -- node /path/to/your/projects/outline-mcp-server/dist/index.jsReplace any placeholder paths in the command with the real path on your machine.
OUTLINE_BASE_URLOUTLINE_API_KEYMake your agent remember this setup
outline's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Read, search, and list documents from Outline
- Create, update, and delete documents with Markdown support
- Retrieve and list collection information
- Full-text search across the entire Outline instance
Tools 8
outline_get_documentGet a specific document by IDoutline_search_documentsSearch for documents across your Outline instanceoutline_list_documentsList documents, optionally filtered by collectionoutline_create_documentCreate a new documentoutline_update_documentUpdate an existing documentoutline_delete_documentDelete a documentoutline_list_collectionsList all collections in your Outline instanceoutline_get_collectionGet information about a specific collectionEnvironment Variables
OUTLINE_BASE_URLrequiredThe URL of your Outline instanceOUTLINE_API_KEYrequiredYour Outline API tokenTry it
Original README from HelicopterHelicopter/outline-mcp-server
Outline MCP Server
A Model Context Protocol (MCP) server for Outline that enables reading and writing documents through the Outline API.
Features
- 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
Installation
- Clone or download this repository
- Install dependencies:
npm install - Build the project:
npm run build
Configuration
Before using the server, you need to set up your Outline API credentials:
Get your Outline API token:
- Log into your Outline instance (e.g., https://app.getoutline.com)
- Go to Settings → API Tokens
- Create a new token
Set environment variables:
export OUTLINE_BASE_URL="https://your-outline-instance.com" export OUTLINE_API_KEY="your-api-token-here"
Usage
Running the Server
Start the MCP server:
npm start
The server communicates via stdio and is compatible with any MCP client.
Available Tools
Document Operations
outline_get_document
- Get a specific document by ID
- Parameters:
id(string, required)
outline_search_documents
- Search for documents across your Outline instance
- Parameters:
query(string, required),limit(number, optional, default: 25)
outline_list_documents
- List documents, optionally filtered by collection
- Parameters:
collectionId(string, optional),limit(number, optional, default: 25)
outline_create_document
- Create a new document
- Parameters:
title(string, required)text(string, required) - Markdown contentcollectionId(string, optional)parentDocumentId(string, optional)publish(boolean, optional, default: false)
outline_update_document
- Update an existing document
- Parameters:
id(string, required)title(string, optional)text(string, optional) - Markdown contentpublish(boolean, optional)
outline_delete_document
- Delete a document
- Parameters:
id(string, required)
Collection Operations
outline_list_collections
- List all collections in your Outline instance
- Parameters: none
outline_get_collection
- Get information about a specific collection
- Parameters:
id(string, required)
Example Usage
Here are some example tool calls:
{
"name": "outline_search_documents",
"arguments": {
"query": "project documentation",
"limit": 10
}
}
{
"name": "outline_create_document",
"arguments": {
"title": "New Project Plan",
"text": "# Project Overview
This 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
This document has been updated..."
}
}
Development
Project Structure
src/
├── index.ts # Main MCP server implementation
├── outline-client.ts # Outline API client
Scripts
npm run build- Compile TypeScript to JavaScriptnpm run dev- Build and run the servernpm run watch- Watch for changes and rebuildnpm start- Run the compiled server
Building
npm run build
The compiled JavaScript will be output to the dist/ directory.
Configuration with MCP Clients
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
Client Configuration Examples
Claude
For clients like Claude that use a JSON configuration file, you can add the following to your mcp-servers.json:
{
"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 the args path with the absolute path to the index.js file in your project, and fill in your actual credentials in the env block.
Cursor
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 vari