Outline MCP Server

$npm install && npm run build && npm start
README.md

Read and write documents through the Outline API

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

  1. Clone or download this repository
  2. Install dependencies:
    npm install
    
  3. Build the project:
    npm run build
    

Configuration

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

  1. Get your Outline API token:

  2. 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
  1. outline_get_document

    • Get a specific document by ID
    • Parameters: id (string, required)
  2. outline_search_documents

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

    • List documents, optionally filtered by collection
    • Parameters: collectionId (string, optional), limit (number, optional, default: 25)
  4. outline_create_document

    • Create a new document
    • Parameters:
      • title (string, required)
      • text (string, required) - Markdown content
      • collectionId (string, optional)
      • parentDocumentId (string, optional)
      • publish (boolean, optional, default: false)
  5. outline_update_document

    • Update an existing document
    • Parameters:
      • id (string, required)
      • title (string, optional)
      • text (string, optional) - Markdown content
      • publish (boolean, optional)
  6. outline_delete_document

    • Delete a document
    • Parameters: id (string, required)
Collection Operations
  1. outline_list_collections

    • List all collections in your Outline instance
    • Parameters: none
  2. 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 client

Scripts

  • 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

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:

  1. Specify the command to run: node /path/to/outline-mcp-server/dist/index.js
  2. Set the environment variables for your Outline instance
  3. 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

Tools (8)

outline_get_documentGet a specific document by ID
outline_search_documentsSearch for documents across your Outline instance
outline_list_documentsList documents, optionally filtered by collection
outline_create_documentCreate a new document with Markdown content
outline_update_documentUpdate an existing document's title or Markdown content
outline_delete_documentDelete a document from Outline
outline_list_collectionsList all collections in your Outline instance
outline_get_collectionGet information about a specific collection

Environment Variables

OUTLINE_BASE_URLrequiredThe URL of your Outline instance (e.g., https://app.getoutline.com)
OUTLINE_API_KEYrequiredYour Outline API token from Settings → API Tokens

Configuration

claude_desktop_config.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"
      }
    }
  }
}

Try it

Search my Outline documents for 'project documentation' and show me the top 5 results.
Create a new document in Outline titled 'Meeting Notes' with the content '# Meeting Notes\n\nToday we discussed...' and publish it.
List all the collections available in my Outline instance.
Update the document with ID 'doc-123' to change its title to 'Revised Project Plan'.
Get the full content of the document with ID 'document-id-here'.

Frequently Asked Questions

What are the key features of Outline MCP Server?

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.

What can I use Outline MCP Server for?

Managing internal company knowledge bases directly from an AI assistant.. Automating the creation of project documentation from meeting transcripts.. Searching through team wikis to find specific technical information or policies.. Updating existing documentation pages with new information via natural language..

How do I install Outline MCP Server?

Install Outline MCP Server by running: npm install && npm run build && npm start

What MCP clients work with Outline MCP Server?

Outline MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use Outline MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free