Outline MCP Server
Provides tools for managing documents and collections in Outline, including creating, retrieving, updating, deleting, searching documents, moving documents between collections, and managing collections (create, update, delete, list).
Click on "Install 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 ServerCreate a new document titled 'Meeting Notes' in the Engineering collection"
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
Overview
This is a Model Context Protocol (MCP) server implementation that integrates with Outline. The server provides tools for AI agents (mostly Cursor) to interact with Outline's API, enabling document and collection management operations.
Features
Search documents by query terms
Create, retrieve, update, and delete documents
List documents within collections
Move documents between collections
Manage collections (create, update, delete, list)
Installation
Prerequisites
Node.js (v16 or later)
npm or yarn
Outline API key
Setup
Clone the repository:
git clone https://github.com/fellowapp/mcp-outline.git
cd mcp-outlineInstall dependencies:
npm installCreate a
.envfile based on the.env.templatefileGet you Outline API token from your personal settings.
Connect to your MCP client (like Cursor) NOTE: if you are connecting to Cursor, you technically don't need to do the whole
.envfile setup, but it can be usefull for local testing.For connecting to Cursor, add this server to either your global or local project MCP settings with this:
"mcp-outline": {
"command": "node",
"args": [
"<FULL_PATH_OF_CLONED_OUTLINE_MCP_REPO>/src/index.js"
],
"env": {
"API_URL": "https://dev.fellow.wiki/api",
"API_KEY": "<OUTLINE_API_KEY>"
}
}Architecture
This project implements the Model Context Protocol (MCP) standard for tool-based interactions. The architecture consists of:
src/
├── index.js # Main server entry point
├── outline.js # Outline API client configuration
├── tools/
│ ├── handlers.js # Centralized tool handlers mapping
│ ├── toolSchemas.js # Centralized tool schemas
│ ├── document/ # Document-related tools
│ │ ├── index.js # Export all document tools
│ │ ├── create.js # Create document tool
│ │ ├── delete.js # Delete document tool
│ │ ├── get.js # Get document tool
│ │ ├── list.js # List documents tool
│ │ ├── move.js # Move document tool
│ │ ├── search.js # Search documents tool
│ │ └── update.js # Update document toolThe server handles incoming requests through a stdio transport layer and routes them to the appropriate tool handler based on the requested tool name.
Development
Adding New Tools
To add a new tool:
Create a new file in the appropriate directory (e.g.,
src/tools/document/my-tool.js)Follow this template:
import { ErrorCode, McpError } from "@modelcontextprotocol/sdk/types.js";
import { outlineClient } from "../../outline.js";
const toolSchema = {
name: "my_tool_name",
description: "Description of what this tool does",
inputSchema: {
type: "object",
properties: {
// Define your parameters here
param1: {
type: "string",
description: "Description of param1",
},
},
required: ["param1"],
},
};
async function myToolHandler({ param1 }) {
try {
// Implement your tool logic here
const response = await outlineClient.post("/endpoint.name", {
params: {
param1,
},
});
return response.data.data;
} catch (error) {
console.error(error);
throw new McpError(ErrorCode.InvalidRequest, error.message);
}
}
export { toolSchema, myToolHandler as handler };Add your tool to the appropriate
index.jsfile
Credits
This project uses:
Axios for HTTP requests
This README was (mostly) generated using Cursor.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lekt9/mcp-outline'
If you have feedback or need assistance with the MCP directory API, please join our Discord server