项目简介
MCP Outline Server是一个强大的Model Context Protocol (MCP) 后端服务,它将Outline文档管理系统的能力暴露给各种支持MCP的LLM客户端(如Claude Desktop, Cursor, VS Code Copilot Chat等)。通过它,大型语言模型(LLM)可以直接访问您的Outline工作区,执行文档操作、管理内容,并利用AI对文档进行问答。
主要功能点
- 全面的文档操作: 允许LLM搜索、阅读、创建、编辑、归档、恢复和删除Outline文档。
- 智能文档发现: 支持通过关键词搜索文档,列出所有文档集合,并获取集合内的文档层级结构。
- 协作与评论: LLM可以添加评论、回复现有评论,并查看文档的所有评论。
- 反向链接查询: 查找所有链接到特定文档的其他文档,帮助理解文档间的关系。
- 集合管理: 创建、更新、删除和导出整个文档集合,支持批量操作。
- AI辅助问答: 直接向LLM提问关于文档内容的问题,服务器会从Outline文档中提取答案并提供来源。
- 批量操作: 支持批量创建、更新、移动、归档和删除文档,提高管理效率。
- 统一资源访问 (MCP Resources): 提供标准URI (如'outline://document/{id}') 直接访问文档内容、集合元数据和文档树结构。
- 多种传输协议支持: 支持通过Stdio、SSE或Streamable HTTP协议与客户端通信。
安装步骤
您可以使用'uv'、'pip'或'Docker'来安装和运行MCP Outline Server。
- 使用'uv' (推荐):
确保您已安装'uv' ('pip install uv'),然后执行:
uvx mcp-outline - 使用'pip':
pip install mcp-outline - 使用'Docker':
如果您需要自建Outline服务,请参考GitHub仓库中的"Development"部分获取详细的'docker compose'配置和API密钥生成指南。docker run -e OUTLINE_API_KEY=<您的Outline API密钥> ghcr.io/vortiago/mcp-outline:latest
服务器配置
MCP服务器需要通过环境变量进行配置。MCP客户端通常提供界面或JSON文件来配置这些环境变量。以下是一些关键的配置项及其说明:
-
Outline API密钥 (OUTLINE_API_KEY):
- 必填。 这是您连接Outline API所需的身份验证令牌。您可以在Outline设置中的"API Keys"部分获取此密钥。
-
Outline API URL (OUTLINE_API_URL):
- 选填。 如果您使用的是自托管的Outline实例,请将其设置为您的Outline API端点(例如'https://your-domain/api')。对于云端Outline,默认值为'https://app.getoutline.com/api',通常无需更改。
-
MCP 传输协议 (MCP_TRANSPORT):
- 选填。 定义MCP服务器与客户端的通信协议。可选值包括'stdio'(标准输入输出,适用于本地进程间通信,默认)、'sse'(Server-Sent Events,适用于Web客户端)或'streamable-http'(流式HTTP)。
-
MCP 服务器主机 (MCP_HOST):
- 选填。 服务器监听的IP地址,默认是'127.0.0.1'(仅限本地访问)。在Docker容器中部署时,通常需要将其设置为'0.0.0.0'以允许外部访问。
-
MCP 服务器端口 (MCP_PORT):
- 选填。 如果'MCP_TRANSPORT'设置为'sse'或'streamable-http',此端口将用于HTTP服务器,默认值为'3000'。
MCP客户端配置示例说明: 您无需手动编写复杂的JSON配置。大多数MCP客户端(如Claude Desktop, Cursor, VS Code)都提供图形界面或特定的配置文件路径来方便地添加MCP服务器。只需将上述的'OUTLINE_API_KEY'和'OUTLINE_API_URL'等环境变量值填入客户端提供的相应字段即可。
例如,在VS Code中,您可以在工作区'.vscode/mcp.json'文件里配置服务器,其中包含一个'"command"'来启动MCP Outline Server,并以'"env"'对象传递环境变量:
{ "servers": { "mcp-outline": { // 您为该服务器定义的名称 "type": "stdio", // 通信类型,例如 "stdio" "command": "uvx", // 启动命令,根据您的安装方式可能是 "mcp-outline" "args": ["mcp-outline"], // 启动参数,如果命令是 "mcp-outline" 则可能不需要 "env": { "OUTLINE_API_KEY": "<您的Outline API密钥>", // 替换为您的实际密钥 "OUTLINE_API_URL": "https://your-domain/api" // 如果是自托管,请填写;否则可省略 } } } }
如果您通过Docker部署了HTTP模式的MCP服务器,客户端配置中通常会指定一个'url':
{ "servers": { "mcp-outline-docker-http": { "url": "http://localhost:3000/mcp" // 指向Docker容器运行的IP和端口 } } }
基本使用方法
成功配置MCP Outline Server并启动后,您的LLM客户端将自动发现并能够调用其提供的功能。
- 向LLM提问: 您可以直接在LLM客户端中询问关于Outline文档的问题,例如:"搜索关于MCP协议的所有文档。" 或 "总结文档ID为 'doc123' 的内容。"
- 调用工具: LLM会根据您的意图自动选择并调用合适的工具。例如,如果您说 "创建一个标题为 '新项目计划' 的文档在 '项目A' 集合里",LLM将调用'create_document'工具。
- 获取资源: LLM也可以通过URI访问文档内容或集合结构。例如,在对话中提及'outline://document/doc456',LLM可能会自动加载该文档的内容以提供更多上下文。
- 管理您的Outline内容: 利用LLM的自然语言理解能力,您可以高效地管理和查询Outline中的大量文档和信息。
信息
分类
生产力应用