Skip to main content
Glama
Outline Wiki MCP Server

Outline Wiki MCP Server

by huiseo

Outline Wiki MCP Server

npm version License: MIT

English | 한국어 | 日本語 | 中文

A Model Context Protocol (MCP) server that enables LLMs to interact with Outline wiki through structured API calls. This server provides document management, search, collections, comments, and AI-powered smart features including RAG-based Q&A.

Why This Server?

Most Outline MCP servers provide basic API wrappers. This one adds optional Smart Features:

Feature

What it does

ask_wiki

Ask questions in natural language, get answers based on your wiki content (RAG)

find_related

Find semantically similar documents, not just keyword matches

summarize_document

Generate summaries of long documents

suggest_tags

Get tag suggestions based on content analysis

When you might need this:

  • Your team's wiki has grown large and search isn't enough

  • You want to query your documentation conversationally

  • You need semantic search across your knowledge base

When basic MCP is sufficient:

  • You only need CRUD operations on documents

  • You don't want to set up OpenAI API

  • Your wiki is small and well-organized

Smart features require ENABLE_SMART_FEATURES=true and an OpenAI API key. Without these, the server works as a standard Outline MCP.

Example Usage

User: "What's our policy on remote work?"
→ ask_wiki searches your wiki and returns an answer with source links

User: "Find documents related to the onboarding guide"
→ find_related returns semantically similar docs (not just keyword matches)

User: "Summarize the Q4 planning document"
→ summarize_document generates a concise summary in your preferred language

Related MCP server: Outline MCP Server

Supported Clients

Client

Tools

Resources

Prompts

Claude Desktop

✅

✅

✅

Claude Code

✅

✅

✅

VS Code GitHub Copilot

✅

✅

✅

Cursor

✅

-

✅

Windsurf

✅

-

-

ChatGPT Desktop

✅

-

-

Getting Started

Requirements

  • Node.js 18.0.0 or higher

  • Outline instance with API access

  • (Optional) OpenAI API key for smart features

Getting Your Outline API Token

  1. Log in to your Outline instance

  2. Go to Settings → API

  3. Click Create API Key

  4. Copy the generated token (starts with ol_api_)

Installation

Add to your Claude Desktop configuration:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-smart-mcp"],
      "env": {
        "OUTLINE_URL": "https://your-outline-instance.com",
        "OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
      }
    }
  }
}

Run the following command:

claude mcp add outline -e OUTLINE_URL=https://your-outline-instance.com -e OUTLINE_API_TOKEN=ol_api_xxxxxxxxxxxxx -- npx -y outline-smart-mcp

Or add to ~/.claude.json (global) or .mcp.json (project-local):

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-smart-mcp"],
      "env": {
        "OUTLINE_URL": "https://your-outline-instance.com",
        "OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
      }
    }
  }
}

Note: The ~/.claude/settings.json file is ignored for MCP servers. Use ~/.claude.json or .mcp.json instead.

Add to your VS Code settings (.vscode/mcp.json):

{
  "servers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-smart-mcp"],
      "env": {
        "OUTLINE_URL": "https://your-outline-instance.com",
        "OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
      }
    }
  }
}

Add to Cursor MCP settings (~/.cursor/mcp.json):

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-smart-mcp"],
      "env": {
        "OUTLINE_URL": "https://your-outline-instance.com",
        "OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
      }
    }
  }
}

Add to Windsurf MCP settings (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-smart-mcp"],
      "env": {
        "OUTLINE_URL": "https://your-outline-instance.com",
        "OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx"
      }
    }
  }
}

ChatGPT supports MCP through its desktop app. Add the server in Settings → MCP Servers with:

  • Command: npx

  • Arguments: -y outline-smart-mcp

  • Environment variables as shown above

Configuration

Environment Variables

Variable

Description

Required

Default

OUTLINE_URL

Your Outline instance URL

Yes

https://app.getoutline.com

OUTLINE_API_TOKEN

Your Outline API token

Yes

-

READ_ONLY

Enable read-only mode

No

false

DISABLE_DELETE

Disable delete operations

No

false

MAX_RETRIES

API retry attempts

No

3

RETRY_DELAY_MS

Retry delay (ms)

No

1000

ENABLE_SMART_FEATURES

Enable AI features

No

false

OPENAI_API_KEY

OpenAI API key

No*

-

* Required when ENABLE_SMART_FEATURES=true

Smart Features Configuration

To enable AI-powered features (RAG Q&A, summarization, etc.), add these to your config:

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["-y", "outline-smart-mcp"],
      "env": {
        "OUTLINE_URL": "https://your-outline-instance.com",
        "OUTLINE_API_TOKEN": "ol_api_xxxxxxxxxxxxx",
        "ENABLE_SMART_FEATURES": "true",
        "OPENAI_API_KEY": "sk-xxxxxxxxxxxxx"
      }
    }
  }
}

Tools

Search & Discovery

Tool

Description

search_documents

Search documents by keyword with pagination

get_document_id_from_title

Find document ID by title

list_collections

Get all collections

get_collection_structure

Get document hierarchy in a collection

list_recent_documents

Get recently modified documents

Document Operations

Tool

Description

get_document

Get full document content by ID

export_document

Export document in Markdown

create_document

Create a new document

update_document

Update document (supports append)

move_document

Move document to another location

Document Lifecycle

Tool

Description

archive_document

Archive a document

unarchive_document

Restore archived document

delete_document

Delete document (soft/permanent)

restore_document

Restore from trash

list_archived_documents

List archived documents

list_trash

List trashed documents

Comments & Collaboration

Tool

Description

add_comment

Add comment (supports replies)

list_document_comments

Get document comments

get_comment

Get specific comment

get_document_backlinks

Find linking documents

Collection Management

Tool

Description

create_collection

Create collection

update_collection

Update collection

delete_collection

Delete collection

export_collection

Export collection

export_all_collections

Export all collections

Batch Operations

Tool

Description

batch_create_documents

Create multiple documents

batch_update_documents

Update multiple documents

batch_move_documents

Move multiple documents

batch_archive_documents

Archive multiple documents

batch_delete_documents

Delete multiple documents

Smart Features (AI-Powered)

Requires ENABLE_SMART_FEATURES=true and OPENAI_API_KEY.

Tool

Description

smart_status

Check status and indexed count

sync_knowledge

Sync docs to vector database

ask_wiki

RAG-based Q&A on wiki content

summarize_document

Generate AI summary

suggest_tags

AI-suggested tags

find_related

Find semantically related docs

generate_diagram

Generate Mermaid diagrams

Smart Features Usage

# 1. First, sync your wiki documents
sync_knowledge

# 2. Ask questions about your wiki
ask_wiki: "What is our deployment process?"

# 3. Summarize long documents
summarize_document: { documentId: "doc-id", language: "Korean" }

# 4. Find related content
find_related: { documentId: "doc-id", limit: 5 }

Technology Stack

Component

Technology

Vector Database

LanceDB (embedded)

Embeddings

OpenAI text-embedding-3-small

LLM

GPT-4o-mini

Text Chunking

LangChain

Safety Features

Read-Only Mode

READ_ONLY=true

Restricts to read operations only: search, get, export, list operations, and all smart features.

Disable Delete

DISABLE_DELETE=true

Blocks: delete_document, delete_collection, batch_delete_documents

Development

# Clone repository
git clone https://github.com/huiseo/outline-wiki-mcp.git
cd outline-wiki-mcp

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Type check
npm run typecheck

License

MIT License - see LICENSE for details.

Available Tools

37 tools
add_commentC

Add a comment to a document. Supports replies.

Inputs: documentId (required), text (required), parentCommentId.

archive_documentD

Archive a document.

Inputs: documentId (required).

ask_wikiC

Ask a question and get an answer based on wiki content using RAG.

Inputs: question (required).

batch_archive_documentsC

Archive multiple documents at once.

Inputs: documentIds (required).

batch_create_documentsC

Create multiple documents at once.

Inputs: documents (required).

batch_delete_documentsC

Delete multiple documents at once.

Inputs: documentIds (required), permanent.

batch_move_documentsC

Move multiple documents at once.

Inputs: documentIds (required), collectionId, parentDocumentId.

batch_update_documentsC

Update multiple documents at once.

Inputs: updates (required).

create_collectionC

Create a new collection.

Inputs: name (required), description, color.

create_documentD

Create a new document.

Inputs: title (required), collectionId (required), text, parentDocumentId, +1 more.

delete_collectionB

Delete a collection. All documents in the collection will also be deleted.

Inputs: collectionId (required).

delete_documentB

Delete a document. If permanent=true, permanently delete; otherwise move to trash.

Inputs: documentId (required), permanent.

export_all_collectionsC

Export all collections.

Inputs: format.

export_collectionC

Export a collection.

Inputs: collectionId (required), format.

export_documentC

Export document in Markdown format.

Inputs: documentId (required).

generate_diagramC

Generate a Mermaid diagram from a text description.

Inputs: description (required).

get_collection_structureC

Get document hierarchy within a collection.

Inputs: collectionId (required).

get_commentC

Get details of a specific comment.

Inputs: commentId (required).

get_documentC

Get full document content by document ID.

Inputs: documentId (required).

get_document_id_from_titleC

Find document ID by title.

Inputs: query (required), collectionId.

list_archived_documentsC

Get list of archived documents.

Inputs: limit.

list_collectionsC

Get list of all collections.

Inputs: no named parameters.

list_document_commentsC

Get list of comments on a document.

Inputs: documentId (required), limit, offset.

list_recent_documentsC

Get list of recently modified documents.

Inputs: limit.

list_trashC

Get list of documents in trash.

Inputs: limit.

move_documentC

Move document to another collection or under a parent document.

Inputs: documentId (required), collectionId, parentDocumentId.

restore_documentC

Restore a document from trash.

Inputs: documentId (required).

search_documentsC

Search documents by keyword. Supports pagination.

Inputs: query (required), collectionId, limit, offset.

smart_statusB

Check if smart features are enabled and get index statistics.

Inputs: no named parameters.

suggest_tagsC

Get AI-suggested tags for a document based on its content.

Inputs: documentId (required).

summarize_documentC

Generate an AI-powered summary of a document.

Inputs: documentId (required), language.

sync_knowledgeB

Sync documents to vector store for AI-powered search. Run this before using ask_wiki.

Inputs: collectionId.

unarchive_documentB

Restore an archived document.

Inputs: documentId (required).

update_collectionC

Update collection information.

Inputs: collectionId (required), name, description, color.

update_documentC

Update an existing document. Can append content with append mode.

Inputs: documentId (required), title, text, append.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 37 tools

    Disambiguation4/5

    Most tools have distinct purposes, but some overlap exists. For example, 'search_documents' and 'find_related' both involve document discovery, though 'find_related' is semantic. 'archive_document' and 'delete_document' (with permanent=false) both involve removal, but descriptions clarify differences. Overall, descriptions help, but a few tools could be confused without careful reading.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_document', 'list_collections', 'update_document', and 'delete_collection'. All tools use snake_case, and verbs are predictable (e.g., add, archive, ask, batch, create, delete, export, get, list, move, restore, search, sync, unarchive, update). No deviations or mixed conventions are present.

    Tool Count3/5

    With 37 tools, the count is borderline high for a wiki server, feeling heavy compared to typical well-scoped sets of 3-15 tools. While the tools cover extensive operations, it may overwhelm agents. However, given the domain's complexity, it's not extreme, but leans toward too many for optimal coherence.

    Completeness5/5

    The tool set provides complete CRUD/lifecycle coverage for documents and collections, including creation, reading, updating, deletion, archiving, restoration, and export. It also includes advanced features like AI-powered search, summarization, diagram generation, and batch operations. No obvious gaps exist; agents can handle all core wiki workflows without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers