使用说明
Wiki MCP服务器概述
这是一个模型上下文协议(MCP)服务器,提供对 大纲Wiki 例子它允许AI代理列出、搜索、检索和创建/更新文档。
特性
- 标准化: 与官方合作建造
@modelcontextprotocol/sdk. - 多种运输方式: 支持两者
stdio(当地)和SSE(远程/快递)运输。 - 安全: 从日志中删除敏感令牌,并确保凭据永远不会被硬编码。
- 沙盒创建: 强制新文档进入特定的集合和父页面,以防止混乱。
配置
服务器按以下顺序查找环境变量:
- 进程环境 (例如通过shell或CLI标志设置)。
- 本地
.env文件 在当前工作目录中。 - 全局回退文件 在
~/.outline-mcp.env.
环境变量参考
| 变量 | 描述 |
|---|---|
OUTLINE_URL |
Outline实例的基本URL(例如。, https://wiki.example.com) |
OUTLINE_API_TOKEN |
您的大纲API令牌(需要追加销售的写入访问权限) |
OUTLINE_DEFAULT_COLLECTION_ID |
新文档的目标集合的UUID、URL或短ID。如果设置了父ID,则可选。 |
OUTLINE_DEFAULT_PARENT_DOCUMENT_ID |
默认父文档的UUID、URL或短ID。如果没有明确设置,则会从该文档中自动推断出目标集合。 |
LOG_LEVEL |
日志记录级别(info, debug, error).默认为 info. |
URL和短ID支持
所有ID字段(包括环境变量和工具参数)都接受完整的Outline URL(例如。, https://.../doc/title-k2KatQyCbK),短ID(k2KatQyCbK),或标准UUID。服务器会自动提取这些标识符并将其解析为正确的内部标识符。
快速入门(推荐)
为了避免在项目之间重复配置,您可以在主目录中创建一个配置文件:
1.创建全局配置文件
# Create the global config file
cat <<EOF > ~/.outline-mcp.env
OUTLINE_URL=https://your-wiki.getoutline.com
OUTLINE_API_TOKEN=your_api_token
OUTLINE_DEFAULT_COLLECTION_ID=collection_uuid
OUTLINE_DEFAULT_PARENT_DOCUMENT_ID=parent_doc_uuid
EOF
2.添加到您的AI工具
替换 <tool> 使用您首选的CLI(克劳德, 法典,或 双子座):
<tool> mcp add outline npx -y github:dexrobo/outline-mcp-server
克劳德桌面:
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "github:dexrobo/outline-mcp-server"]
}
}
}
替代设置(CLI标志)
如果您不想使用配置文件,请替换 <tool> 随着 克劳德, 法典,或 双子座:
<tool> mcp add outline npx -y github:dexrobo/outline-mcp-server \
--env OUTLINE_URL=... \
--env OUTLINE_API_TOKEN=... \
--env OUTLINE_DEFAULT_COLLECTION_ID=... \
--env OUTLINE_DEFAULT_PARENT_DOCUMENT_ID=...
克劳德桌面:
{
"mcpServers": {
"outline": {
"command": "npx",
"args": ["-y", "github:dexrobo/outline-mcp-server"],
"env": {
"OUTLINE_URL": "...",
"OUTLINE_API_TOKEN": "...",
"OUTLINE_DEFAULT_COLLECTION_ID": "...",
"OUTLINE_DEFAULT_PARENT_DOCUMENT_ID": "..."
}
}
}
}
警告与警示
- API令牌范围: 服务器在以下权限下运行
OUTLINE_API_TOKEN。如果可能的话,强烈建议使用具有受限访问权限的服务帐户或令牌。 - 沙盒:
- 执行: 服务器严格要求所有文档创建和更新都发生在
OUTLINE_DEFAULT_COLLECTION_ID. - 创造: 这
documents-upsert工具 力量 将所有新文档添加到配置的集合中。AI代理可以指定parentDocumentId;如果省略,则默认为OUTLINE_DEFAULT_PARENT_DOCUMENT_ID(如果已设置),或者它们可以在集合的顶层创建。任何指定的父级都必须属于沙盒集合。 - 更新: 如果A
id提供给documents-upsert,服务器在允许更新之前验证文档是否属于沙盒集合。 - 读取权限:
documents-list,documents-get,以及documents-search可以访问API令牌可以看到的任何文档。
- 执行: 服务器严格要求所有文档创建和更新都发生在
- 费率限制: Outline API调用受Outline实例的速率限制。
- 无删除: 为了安全起见,此MCP服务器当前不公开任何删除工具。
用法
本地(通过npx)
您可以直接使用以下命令运行服务器 npx:
OUTLINE_URL=... OUTLINE_API_TOKEN=... npx github:dexrobo/outline-mcp-server
远程(SSE/HTTP)
以SSE模式启动服务器(对远程部署很有用):
OUTLINE_URL=... OUTLINE_API_TOKEN=... npx github:dexrobo/outline-mcp-server --transport sse --port 3000
发现URL将是 http://localhost:3000/mcp.
可用工具
documents-list:列出集合中的文档。documents-get:按ID检索完整文档内容。documents-search:按查询字符串搜索文档。documents-upsert:创建或更新文档(严格沙盒)。- 附件: 支持上传图像、PDF、视频和其他文件。
- 流动: 大文件直接从本地路径流式传输(使用
path现场)。 - Base64: 小文件可以作为base64内容提供。
- Markdown集成: 你可以使用标准的Markdown语法链接到附件,比如
或[Download](filename.pdf)。服务器将自动用正确的附件ID替换这些ID。 - 显式占位符: 或者,使用
{{attachment:filename}}仅获取附件ID。
- 流动: 大文件直接从本地路径流式传输(使用
- 附件: 支持上传图像、PDF、视频和其他文件。
发展
如果您想贡献或修改服务器:
- 克隆仓库:
git clone https://github.com/dexrobo/outline-mcp-server.git - 安装依赖项:
npm install - 运行linting:
npm run lint - 运行格式化:
npm run format - 运行测试:
npm test
本地开发和测试
您可以使用提供的冒烟测试实用程序在本地测试MCP服务器的端到端流(包括标准MCP握手),而无需使用完整的MCP主机:
# Verify the MCP protocol and tool routing locally
npm run test:mcp
# CI-safe wrapper with an outer hard timeout (45s)
npm run test:mcp:ci
此实用程序处理标准JSON-RPC握手,列出可用工具,并对以下对象执行测试调用 documents-list 以确保所有东西都连接正确。
安全通告
此服务器使用 pino 用于自动编辑日志 OUTLINE_API_TOKEN 和 Authorization 标题。切勿共享环境变量或将其提交给源代码管理。