Outline MCP Server
This server enables full read/write access to an Outline knowledge base instance through the Model Context Protocol.
Document Management:
Retrieve a specific document by its ID (
outline_get_document)Search documents using full-text search, with an optional result limit (
outline_search_documents)List documents, optionally filtered by collection (
outline_list_documents)Create new documents with a title and Markdown content, optionally placed in a collection or nested under a parent document, with an option to publish immediately (
outline_create_document)Update existing documents — modify title, Markdown content, and/or publish status (
outline_update_document)Delete documents by ID (
outline_delete_document)
Collection Management:
List all available collections (
outline_list_collections)Get details about a specific collection by its ID (
outline_get_collection)
Enables reading, writing, and searching documents, as well as managing collections through the Outline API with full support for Markdown formatting.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Outline MCP Server search for the onboarding guide in my documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: outline-mcp
Quick Start (npx)
The easiest way to use this server is via npx — 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"
}
}
}
}See Configuration for how to obtain the API token.
Installation (from source)
For local development, or to run from source instead of npm:
Clone or download this repository
Install dependencies:
npm installBuild 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 startThe 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\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..."
}
}Development
Project Structure
src/
├── index.ts # Main MCP server implementation
├── outline-client.ts # Outline API clientScripts
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 buildThe 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.jsSet 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, add the following to your
mcp-servers.json. The recommended approach uses npx, 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"
}
}
}
}Alternative: run from source
If you have cloned and built the project locally, point the client at the compiled
dist/index.js instead:
{
"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 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/CursorAPI Rate Limits
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.
Error Handling
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
Security Notes
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
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
Available Tools
8 toolsoutline_create_documentC
Create a new document in Outline
Inputs: title (required), text (required), collectionId, parentDocumentId, +1 more.
outline_delete_documentC
Delete a document from Outline
Inputs: id (required).
outline_get_collectionC
Get information about a specific collection
Inputs: id (required).
outline_get_documentB
Get a specific document from Outline by ID
Inputs: id (required).
outline_list_collectionsB
List all collections in Outline
Inputs: no named parameters.
outline_list_documentsB
List documents from Outline, optionally filtered by collection
Inputs: collectionId, limit.
outline_search_documentsC
Search for documents in Outline
Inputs: query (required), limit.
outline_update_documentC
Update an existing document in Outline
Inputs: id (required), title, text, publish.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Every tool has a clearly distinct purpose with no ambiguity: create, delete, get, list, search, and update operations target specific resources (documents or collections). The descriptions clearly differentiate each tool's function, making misselection unlikely.
All tool names follow a consistent 'outline_verb_noun' pattern with snake_case throughout. The verbs (create, delete, get, list, search, update) are consistently applied to nouns (document, collection), providing a predictable and readable naming convention.
With 8 tools, the server is well-scoped for managing documents and collections in Outline. Each tool earns its place by covering essential CRUD operations, listing, and search functionalities, avoiding both bloat and thin coverage.
The tool set provides complete CRUD/lifecycle coverage for the domain: create, get, update, and delete for documents, plus get and list for collections, along with search and filtered listing. There are no obvious gaps that would cause agent failures in document management workflows.
Maintenance
Related MCP Connectors
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Turn outlines and hierarchical notes into interactive mind maps through a hosted remote MCP server.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server for interacting with Outline document management, supporting search, read, create, edit, archive documents, collections, comments, and backlinks.30MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Outline that gives Claude the ability to search and read documents from your Outline instance.MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that exposes an Outline knowledge base to MCP clients. It enables searching, reading, writing, and commenting on documents through natural language.9-
- AlicenseNot gradedqualityCmaintenanceMCP server that turns a self-hosted Outline wiki into an AI team's knowledge base, providing tools for search, read, write, and organization with per-user permissions via client-supplied API tokens.MIT