这是一个用于 Outline 的模型上下文协议(MCP)服务器,它通过 Outline API 实现文档的读写功能。
npm install
npm run build
在使用服务器之前,你需要设置你的 Outline API 凭证:
获取你的 Outline API 令牌:
设置环境变量:
export OUTLINE_BASE_URL="https://your-outline-instance.com"
export OUTLINE_API_KEY="your-api-token-here"
启动 MCP 服务器:
npm start
该服务器通过标准 I/O 通信,并与任何 MCP 客户端兼容。
outline_get_document
id(字符串,必需)outline_search_documents
query(字符串,必需),limit(数字,可选,默认值:25)outline_list_documents
collectionId(字符串,可选),limit(数字,可选,默认值:25)outline_create_document
title(字符串,必需)text(字符串,必需)- Markdown 内容collectionId(字符串,可选)parentDocumentId(字符串,可选)publish(布尔值,可选,默认值:false)outline_update_document
id(字符串,必需)title(字符串,可选)text(字符串,可选)- Markdown 内容publish(布尔值,可选)outline_delete_document
id(字符串,必需)outline_list_collections
outline_get_collection
id(字符串,必需)这里是一些示例工具调用:
{
"name": "outline_search_documents",
"arguments": {
"query": "项目文档",
"limit": 10
}
}
{
"name": "outline_create_document",
"arguments": {
"title": "新项目计划",
"text": "# 项目概述\n\n本文件概述了...",
"collectionId": "collection-id-here",
"publish": true
}
}
{
"name": "outline_update_document",
"arguments": {
"id": "document-id-here",
"title": "更新项目计划",
"text": "# 更新项目概述\n\n本文件已更新..."
}
}
src/
├── index.ts # 主 MCP 服务器实现
├── outline-client.ts # Outline API 客户端
npm run build - 将 TypeScript 编译为 JavaScriptnpm run dev - 构建并运行服务器npm run watch - 监视更改并重新构建npm start - 运行编译后的服务器npm run build
编译后的 JavaScript 将输出到 dist/ 目录。
要使用此服务器与 MCP 客户端一起使用,你需要配置客户端以运行此服务器。具体配置取决于你的客户端,但通常你需要:
node /path/to/outline-mcp-server/dist/index.js对于像 Claude 这样的使用 JSON 配置文件的客户端,你可以在你的 mcp-servers.json 中添加以下内容:
{
"mcpServers": {
"outline": {
"command": "node",
"args": ["/path/to/your/projects/outline-mcp-server/dist/index.js"],
"env": {
"OUTLINE_API_KEY": "your-secret-api-token",
"OUTLINE_BASE_URL": "https://your-outline-instance.com"
}
}
}
}
确保替换 args 路径为你项目中 index.js 文件的实际绝对路径,并在 env 块中填写你的实际凭证。
对于像 Cursor 这样的客户端,你通常可以直接在客户端的设置中设置环境变量,或者从已经导出这些变量的终端启动客户端。
export OUTLINE_BASE_URL="https://your-outline-instance.com"
export OUTLINE_API_KEY="your-secret-api-token"
# 然后从这个终端启动 Cursor
/path/to/Cursor.app/Contents/MacOS/Cursor
请注意,Outline 可能有 API 请求限制。服务器内部没有实现请求限制,因此如果你发送大量请求,可能需要在客户端级别处理这个问题。
服务器包括全面的错误处理,并会返回描述性错误消息,针对常见的问题如:
MIT 许可证 - 详情见 LICENSE 文件。
欢迎贡献!请随时提交问题和拉取请求。