mcpField
M
MCP Outline Server

MCP Outline Server

本地服务
github.com记忆与知识15814 周前更新

关于 MCP Outline Server

MCP Outline Server 将 Outline 文档管理功能提供给 AI 助手和 MCP 客户端,支持搜索、编辑、协作及资源读取。它涵盖文档与集合的批量管理,并可按配置限制写入操作。

主要功能

  1. 01搜索、读取和编辑文档
  2. 02管理集合与文档层级
  3. 03评论、回复及反向链接
  4. 04批量创建、更新和移动
  5. 05通过 URI 暴露资源
  6. 06速率限制与重试处理

适用场景

  1. 01查找并阅读 Outline 文档
  2. 02更新或整理文档集合
  3. 03在文档中添加评论并查看讨论
  4. 04批量归档或导出文档

MCP 相关

该 MCP 服务向 MCP 客户端提供 Outline 文档、集合、评论和批量操作工具,并通过 outline:// URI 提供资源。支持本地 stdio 以及 SSE 和 streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vortiago-mcp-outline": {
"command": "uvx",
"args": [
"mcp-outline"
],
"env": {
"OUTLINE_API_KEY": "<OUTLINE_API_KEY>",
"OUTLINE_API_URL": "<OUTLINE_API_URL>"
}
}
}
}
启动命令uvx mcp-outline
需要配置的环境变量
OUTLINE_API_KEY密钥Outline API key (Settings > API). Can also be set in ~/.config/mcp-outline/.env
OUTLINE_API_URLOutline API URL for self-hosted instances

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-outline1.10.1

工具

38

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
querystring是
offsetinteger否
collection_idany否
status_filterany否

详细介绍

MCP Outline 服务

📢 Outline 官方 MCP 服务现已推出

Outline 现已提供官方 MCP 服务——我们建议使用该服务。 阅读文档。


PyPI Python 3.10+ License: MIT CI Docker

一个用于与 Outline 文档管理系统交互的模型上下文协议服务。

功能

  • 文档操作:搜索、读取、创建、编辑和归档文档
  • 集合:列出、创建和管理文档层级结构
  • 评论:添加和查看串联评论
  • 反向链接:查找引用特定文档的文档
  • MCP 资源:通过 URI 直接访问内容(outline://document/{id}、outline://collection/{id} 等)
  • 自动速率限制:透明处理 API 限制并提供重试逻辑

前提条件

使用此 MCP 服务前,你需要:

  • 一个 Outline 账户(云托管或可自托管)
  • 从 Outline Web 界面获取 API 密钥:设置 → API 密钥 → 创建新密钥
  • Python 3.10+(非 Docker 安装时)

获取 API 密钥:登录 Outline → 点击个人资料 → 设置 → API 密钥 → “新建 API 密钥”。复制生成的令牌。

快速开始

一键安装

点击按钮,通过交互式提示输入 API 密钥并安装:

在 VS Code 中安装 在 VS Code Insiders 中安装 在 Cursor 中安装

手动安装

使用 uv(推荐)、pip 或 Docker 安装:

uvx mcp-outline          # using uv
pip install mcp-outline   # using pip
# using Docker
docker run -e OUTLINE_API_KEY=<your-key> ghcr.io/vortiago/mcp-outline:latest

然后添加到 MCP 客户端配置中(适用于 VS Code、Claude Desktop、Cursor 等):

{
  "inputs": [
    {
      "id": "outline_api_key",
      "type": "promptString",
      "description": "Enter OUTLINE_API_KEY",
      "password": true
    },
    {
      "id": "outline_api_url",
      "type": "promptString",
      "description": "Outline API URL (optional, for self-hosted)",
      "password": false
    }
  ],
  "servers": {
    "mcp-outline": {
      "command": "uvx",
      "args": ["mcp-outline"],
      "env": {
        "OUTLINE_API_KEY": "${input:outline_api_key}",
        "OUTLINE_API_URL": "${input:outline_api_url}"
      }
    }
  }
}
Claude Code
claude mcp add mcp-outline uvx mcp-outline

也可以将此仓库安装为插件,它还会一并提供 outline-explorer Agent(用于快速只读探索 Wiki)和 outline 技能(Outline 约定:mermaidjs 围栏、文档 结构和编辑工作流)。

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-outline": {
      "command": "uvx",
      "args": ["mcp-outline"],
      "env": {
        "OUTLINE_API_KEY": "<YOUR_API_KEY>",
        "OUTLINE_API_URL": "<YOUR_OUTLINE_URL>"
      }
    }
  }
}

更多客户端的设置指南:Docker (HTTP)、Cline、Codex、Windsurf 等

配置

变量必需默认值说明
OUTLINE_API_KEY是*-工具调用成功所必需。对于 SSE/HTTP,也可以通过每次请求中的 x-outline-api-key 标头提供(详情)
OUTLINE_API_URL否https://app.getoutline.com/api自托管时:https://your-domain/api
OUTLINE_VERIFY_SSL否true使用自签名证书时设为 false
OUTLINE_READ_ONLY否falsetrue = 禁用所有写入操作(详情)
OUTLINE_DISABLE_DELETE否falsetrue = 仅禁用删除操作(详情)
OUTLINE_DISABLE_AI_TOOLS否falsetrue = 禁用 AI 工具(适用于未配置 OpenAI 的 Outline 实例)
OUTLINE_DISABLE_RECENT_DOCUMENTS否falsetrue = 禁用 list_recently_updated_documents 工具
OUTLINE_DYNAMIC_TOOL_LIST否falsetrue = 根据角色/API 密钥权限启用按用户筛选工具(详情)
OUTLINE_MAX_CONNECTIONS否100连接池中的最大并发连接数
OUTLINE_MAX_KEEPALIVE否20连接池中的最大空闲连接数
OUTLINE_TIMEOUT否30.0读取超时时间,单位为秒
OUTLINE_CONNECT_TIMEOUT否5.0连接超时时间,单位为秒
OUTLINE_WRITE_TIMEOUT否30.0写入超时时间,单位为秒
OUTLINE_CACHE_TTL否30文档缓存 TTL,单位为秒。较短的默认值可吸收同一任务中的集中读取请求,避免给 Outline API 带来压力;设为 0 可禁用缓存(始终读取最新内容),也可设为更高的值(如 300)以进一步节省 API 调用。无论采用哪种设置,暂存编辑都能正常工作
OUTLINE_CACHE_MAX_SIZE否100缓存文档的最大数量
MCP_TRANSPORT否stdio传输模式:stdio(本地)、sse 或 streamable-http(远程)
MCP_HOST否127.0.0.1服务主机。在 Docker 中使用 0.0.0.0 以接受外部连接
MCP_PORT否3000HTTP 服务端口(仅用于 sse 和 streamable-http 模式)

访问控制

功能环境变量效果
只读模式OUTLINE_READ_ONLY=true禁用所有写入操作——仅提供搜索、读取和导出工具
禁用删除OUTLINE_DISABLE_DELETE=true仅禁用删除操作,其他写入操作均可用
禁用最近变更工具OUTLINE_DISABLE_RECENT_DOCUMENTS=true仅禁用 list_recently_updated_documents 工具
动态工具列表OUTLINE_DYNAMIC_TOOL_LIST=true根据 Outline 角色和 API 密钥权限按用户筛选工具
每位用户使用独立的 Outline API 密钥x-outline-api-key 标头在多用户设置中,每位用户通过 HTTP 模式传入自己的 Outline API 密钥

只读模式的优先级高于禁用删除。详情请参阅配置指南。

工具

注意:工具是否可用取决于你的访问控制设置。

搜索与发现
  • search_documents(query, collection_id?, limit?, offset?, statusFilter?) - 按关键字搜索文档,支持分页。默认搜索已发布的文档;传入 statusFilter 以及 draft、archived 和/或 published,即可包含其他状态的文档
  • list_recently_updated_documents(date_filter?, collection_id?, status_filter?, limit?, offset?) - 按最近变更时间列出文档,最新的排在前面(例如“本周有哪些变更”)。date_filter 按最后变更时间筛选:day/week/month/year(默认值为 week)。默认仅列出已发布的文档
  • list_collections() - 列出所有集合
  • get_collection_structure(collection_id) - 获取集合中的文档层级结构
  • get_document_id_from_title(query, collection_id?) - 按标题搜索查找文档 ID
文档阅读
  • read_document(document_id, offset?, limit?) - 获取文档内容,支持按行范围分页
  • export_document(document_id) - 将文档导出为 Markdown
文档导航
  • get_document_toc(document_id) - 获取包含标题结构和行号的目录
  • read_document_section(document_id, heading) - 根据标题匹配(不区分大小写的子字符串)读取特定章节
文档管理
  • create_document(title, collection_id, text?, parent_document_id?, publish?) - 创建新文档
  • update_document(document_id, title?, text?, append?) - 替换整个文档内容(可使用追加模式)
文档编辑
  • edit_document(document_id, edits, save?) - 通过字符串匹配批量替换来编辑;save=False 会在本地暂存更改,最后一次调用时使用 save=True 提交所有更改
  • move_document(document_id, collection_id?, parent_document_id?) - 将文档移至其他集合或父文档下
文档生命周期
  • archive_document(document_id) - 归档文档
  • unarchive_document(document_id) - 从归档中恢复文档
  • delete_document(document_id, permanent?) - 删除文档(或移至回收站)
  • restore_document(document_id) - 从回收站恢复文档
  • list_archived_documents() - 列出所有已归档文档
  • list_trash() - 列出回收站中的所有文档
评论与协作
  • add_comment(document_id, text, parent_comment_id?) - 向文档添加评论(支持线程式回复)
  • list_document_comments(document_id, include_anchor_text?, limit?, offset?) - 分页查看文档评论
  • get_comment(comment_id, include_anchor_text?) - 获取特定评论的详细信息
  • get_document_backlinks(document_id) - 查找链接到此文档的文档
集合管理
  • create_collection(name, description?, color?) - 创建新集合
  • update_collection(collection_id, name?, description?, color?) - 更新集合属性
  • delete_collection(collection_id) - 删除集合
  • export_collection(collection_id, format?) - 导出集合(默认:outline-markdown)
  • export_all_collections(format?) - 导出所有集合
批量操作
  • batch_create_documents(documents) - 一次创建多个文档
  • batch_update_documents(updates) - 一次更新多个文档
  • batch_move_documents(document_ids, collection_id?, parent_document_id?) - 移动多个文档
  • batch_archive_documents(document_ids) - 归档多个文档
  • batch_delete_documents(document_ids, permanent?) - 删除多个文档
AI 驱动
  • ask_ai_about_documents(question, collection_id?, document_id?) - 使用自然语言询问有关文档的问题

资源

  • outline://collection/{id} - 集合元数据(名称、描述、颜色、文档数量)
  • outline://collection/{id}/tree - 文档的层级树结构
  • outline://collection/{id}/documents - 集合中的文档平铺列表
  • outline://document/{id} - 完整文档内容(Markdown)
  • outline://document/{id}/backlinks - 链接到此文档的文档

开发

git clone https://github.com/Vortiago/mcp-outline.git
cd mcp-outline
uv sync --group dev

uv run poe test-unit          # unit tests
uv run poe test-integration   # integration tests (starts MCP server via stdio)
uv run poe test-e2e           # E2E tests (requires Docker)

有关可自托管的 Outline 设置、MCP Inspector 等内容,请参阅开发指南。

故障排除

服务无法连接? 测试你的 API 密钥:

curl -H "Authorization: Bearer YOUR_API_KEY" YOUR_OUTLINE_URL/api/auth.info

有关工具、速率限制和 Docker 的常见问题,请参阅故障排除指南。

贡献

欢迎贡献!请参阅 CONTRIBUTING.md 了解设置说明。

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。