把 Outline 知识库接进 MCP:让 AI 直接读你的文档

0. 写在前面

自建 Outline 之后,很多人停在"能用"这一步:文档进了库,查找靠关键词,归档靠手,问答靠人。这篇文章讲怎么再走一步,通过 MCP 把知识库接进 AI 助手,让 AI 直接读你的文档、按你的资料回答、替你归档对话。

前提是你已经有一套能访问的 Outline,自建或托管都行。本文以自建为例,从零部署的过程见《Outline + Pocket ID 自部署:国内自建知识库完整踩坑记》。文中域名统一用 wiki.example.com 占位,照抄时换自己的。

1. MCP 是什么

MCP(Model Context Protocol)是给 AI 应用开的统一接口协议,Anthropic 提出并开源。可以把它理解成 AI 应用的"USB 接口":工具和数据源按协议实现一个服务,AI 客户端插上就能用,不用为每个工具写专属对接。

两种形态:

本文用 stdio 模式,最省事。

MCP 接入架构(客户端-服务端-Outline)

数据流向:AI 客户端经 stdio 拉起本地 MCP 进程,进程用 HTTPS + API Key 调 Outline,Outline 读写 PostgreSQL 与 Redis。

2. 前置:拿到 Outline 的 API Token

Outline 提供完整的 REST API,MCP 服务就是它的客户端。接之前先拿凭证:

  1. 登录 Outline,进个人设置 → API 令牌(右上角头像 → Settings)
  2. 新建 token,注意 scope 权限:只做查询就勾只读;要让 AI 建文档、归档对话,再给写权限
  3. 生成后只显示一次,立刻复制保存

典型 token 长这样:ol_api_xxxxx。它相当于你账号的 API 钥匙,别截图、别提交进 git。

Outline 个人设置中的 API 令牌页(已脱敏)

Outline 个人设置 → API 令牌:新建 token 时可勾选读写 scope。

3. 选型:现成服务还是自己写

社区已有现成实现,主流是 outline-wiki-mcp(npm 包,stdio 服务)。开箱即用,覆盖集合、文档、搜索、建文档这些常用操作。除非要深度定制权限模型或私有协议,否则直接用现成的,不值得重复造轮子。

4. 接入配置

以支持 MCP 的 AI 客户端为例(WorkBuddy、Cursor、Claude Desktop 大同小异),在客户端的 MCP 配置文件里注册一段:

{
  "mcpServers": {
    "outline": {
      "command": "npx",
      "args": ["outline-wiki-mcp"],
      "env": {
        "OUTLINE_BASE_URL": "https://wiki.example.com",
        "OUTLINE_API_KEY": "ol_api_你的token"
      }
    }
  }
}

三个要点:

装好后能调什么(outline-wiki-mcp 工具清单)

outline-wiki-mcp 把 Outline API 包成一组 MCP 工具,客户端按需调用:

分组工具作用
搜索outline_search全库全文搜索
文档outline_get_document按 ID 取文档内容
文档outline_list_documents列某集合下的文档
文档outline_create_document新建文档
文档outline_update_document更新文档标题/正文
文档outline_move_document移动文档到其他集合
文档outline_archive_document / outline_unarchive_document归档 / 恢复
文档outline_export_document导出为 Markdown
集合outline_list_collections列出所有集合
集合outline_create_collection / outline_get_collection新建 / 查看集合

资源侧还暴露 outline://collections/{id}outline://documents/{id},客户端可以直接按 URI 浏览结构。前面说的问答、归档、补文档三个场景,用的就是搜索 + 读写 + 集合这几组。

(工具清单以 outline-wiki-mcp npm 0.1.0 README 为准)

5. 验证与实战

5.1 先确认通没通

配置好后,在 AI 客户端里触发一个 outline 工具,比如"列出所有集合"。能返回你的集合列表就是通了;不通按第 7 节排查。

OpenClaw 客户端通过 MCP 调用 outline_list_collections 的真实对话(已脱敏)

OpenClaw 客户端调起 outline_list_collections 工具,返回 4 个集合列表。集合名/描述/用户名/模型名已脱敏。

5.2 场景一:基于知识库问答

直接问 AI:"根据知识库总结 X 方案的要点"。它会调 outline 的搜索、读文档工具,基于你的文档作答,而不是凭训练数据瞎编。这是自建知识库最直接的好处。

5.3 场景二:对话自动归档

把一次讨论的结论归档进指定集合,只需一句:"把刚才聊的要点整理成文档,存进『对话归档』集合"。AI 负责起标题、写正文、存到目标集合。长期下来知识库越来越完整,不用手动搬运。

5.4 场景三:协作补文档

文档缺章节,AI 先读上下文补一版初稿,人再改。比从空白页开始快得多,也保留了人对内容的最终把关。

6. 权限与安全

7. 常见坑

8. 进阶方向


这篇是自建完 Outline 之后的进阶玩法。还没有部署本体的,先看《Outline + Pocket ID 自部署:国内自建知识库完整踩坑记》。

← 返回文章列表