Outline knowledge base MCP Server
MCP server for Outline knowledge base implemented on Rust as one statically linked executable file for Linux/MacOS/Windows.
README
Outline MCP Server
MCP (Model Context Protocol) server for Outline API interaction with focus on simplicity, performance, and reliability.
🚀 Quick Start
1. Get Your Outline API Key
- Outline.com: https://app.outline.com/settings/api-and-apps
- Self-hosted: https://your-instance.com/settings/api-and-apps
2. Download & Install
Download pre-built binary from GitHub Releases or build from source.
📦 After extracting:
- Linux/macOS: If needed, make executable:
chmod +x outline-mcp - Windows Since the release is not code-signed, 🛡️ Windows Defender may block execution. You'll need to:
- Allow the executable through Windows Defender/antivirus
- Add the folder to Windows Defender exclusions, or
- Right-click the file → Properties → "Unblock" if downloaded from internet
3. Configure your AI agent
JSON configuration for Cursor IDE, Gemini CLI:
{
"mcpServers": {
"Outline knowledge base": {
"command": "full-location-of-outline-mcp-executable-file",
"env": {
"OUTLINE_API_KEY": "your-api-key-here",
"OUTLINE_API_URL": "https://app.getoutline.com/api"
}
}
}
}
⚠️ Important Path Requirements:
- Use absolute paths - relative paths may not work correctly
- No spaces in the executable file path (use underscores or hyphens instead)
- ASCII characters only - avoid non-Latin characters in paths
- Windows users: Use double backslashes
\\in paths (e.g.,"C:\\tools\\outline-mcp.exe")
✅ Good examples:
- Linux/macOS:
"/usr/local/bin/outline-mcp"or"/home/user/bin/outline-mcp" - Windows:
"C:\\tools\\outline-mcp.exe"or"C:\\Users\\YourName\\bin\\outline-mcp.exe"
❌ Avoid:
"./outline-mcp"(relative path)"/path with spaces/outline-mcp"(spaces in path)"/путь/outline-mcp"(non-Latin characters)"C:\tools\outline-mcp.exe"(single backslash on Windows)
🛠️ Supported Tools
Complete coverage of Outline API functionality:
📄 Document Operations
create_document- Create new documentget_document- Retrieve document by IDupdate_document- Update existing documentdelete_document- Delete documentlist_documents- List documents with filteringsearch_documents- Search documents by queryarchive_document- Archive documentmove_document- Move document between collections
📁 Collection Management
create_collection- Create new collectionget_collection- Retrieve collection detailsupdate_collection- Update collection metadatalist_collections- List all collections
💬 Comments & Collaboration
create_comment- Add comment to documentupdate_comment- Modify existing commentdelete_comment- Remove comment
🔍 Advanced Features
ask_documents- AI-powered document queriescreate_template_from_document- Create reusable templateslist_users- User management
🎯 Project Principles
⚡ Performance
- Static builds with musl - single file without dependencies
- < 5MB binary with full functionality
- < 10ms startup time to ready state
- < 10MB memory usage
🛡️ Reliability
- Zero dependencies at runtime (static linking)
- Explicit error handling - no panics in production
- Type safety - leveraging Rust's ownership system
- Comprehensive testing - unit and integration tests
🔧 Simplicity
- Minimal code - only essential functionality
- Clear architecture - easy to understand and modify
- Single binary - simple deployment
- Environment configuration - no config files
📋 Development Requirements
- Nix (recommended) - handles all dependencies automatically
- OR manually: Rust 1.75+, OpenSSL development libraries
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │────│ Transport Layer │────│ Outline API │
│ (Claude/etc) │ │ (STDIO/HTTP) │ │ (REST/JSON) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
Core Components
- Transport Layer: STDIO and HTTP adapters
- MCP Protocol: JSON-RPC 2.0 implementation
- Outline Client: HTTP API wrapper
- Tools Registry: Dynamic tool discovery and execution
Quick Build Commands:
# Linux/Unix systems
nix build # Linux native
nix build .#musl # Linux static (portable)
nix build .#windows # Windows cross-compile
# macOS systems (requires Nix on macOS)
nix build # Auto-detects Intel/ARM
nix build .#macos-x86_64 # Intel target
nix build .#macos-arm64 # ARM target
macOS Development Setup:
# Install Nix on macOS
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
# Enable flakes
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
# Clone and build
git clone https://github.com/nizovtsevnv/outline-mcp-rs
cd outline-mcp-rs
nix build
📖 For detailed macOS development instructions, see docs/MACOS.md
🔐 For Windows code signing setup, see docs/WINDOWS_SIGNING.md
🧪 Testing
# Run all tests
nix develop -c cargo test
# Run with coverage
nix develop -c cargo test --coverage
# Integration tests with live API (set OUTLINE_API_KEY)
nix develop -c cargo test --test integration
🔧 Configuration
STDIO Mode (Default)
export OUTLINE_API_KEY="your-key-here"
./outline-mcp
HTTP Mode
export OUTLINE_API_KEY="your-key-here"
export HTTP_HOST="0.0.0.0"
export HTTP_PORT="8080"
./outline-mcp --http
🔧 Optimized Nix Configuration
Our flake.nix has been carefully optimized to eliminate duplication and improve maintainability:
🏗️ Architecture Improvements
- 📦 Metadata Sync: Package information references
Cargo.tomlvalues with comments - 🔄 Reusable Shell Builder:
mkDevShellfunction eliminates code duplication - 🎯 Consistent Shell Hooks: Unified
mkShellHookfunction for all environments - ⚡ Base Build Inputs: Shared dependencies across all development shells
- 🧪 Automated Checks: Built-in formatting, linting, and testing workflows
📋 Available Commands
# Development environments
nix develop # Native development with tools
nix develop .#musl # musl static build environment
nix develop .#windows # Windows cross-compilation
nix develop .#macos # macOS development (Darwin only)
# Package building
nix build # Native build (Linux/macOS auto-detect)
nix build .#musl # Static musl build (portable Linux)
nix build .#windows # Windows cross-compilation
nix build .#macos-x86_64 # macOS Intel (requires macOS or CI)
nix build .#macos-arm64 # macOS Apple Silicon (requires macOS or CI)
# Alternative: Use dev environment for building
nix develop -c cargo build --release # Native
nix develop .#musl -c cargo build --target x86_64-unknown-linux-musl --release # musl
nix develop .#windows -c cargo build --target x86_64-pc-windows-gnu --release # Windows
# macOS targets (macOS only)
nix develop -c cargo build --target x86_64-apple-darwin --release # Intel Mac
nix develop -c cargo build --target aarch64-apple-darwin --release # Apple Silicon
🤝 Contributing
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Make changes with tests
- Ensure all checks pass:
cargo test && cargo clippy - Submit pull request
Development Workflow
# Setup development environment
nix develop
# Code formatting
cargo fmt
# Linting
cargo clippy
# Testing
cargo test
# Cross-platform testing
nix develop .#musl --command cargo test --target x86_64-unknown-linux-musl
nix develop .#windows --command cargo check --target x86_64-pc-windows-gnu
📄 License
MIT License - see LICENSE file for details.
🙏 Acknowledgments
- Outline team for excellent API documentation
- Anthropic for MCP protocol specification
- Rust community for outstanding tooling and libraries
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。