MCP 服务器
最后更新于 2026年10月20日
通过 MindLake 内置的 MCP 服务器,让 Claude Code 等其他 AI App 读取你的资料库。
它能做什么
MCP(Model Context Protocol)是 AI App 用来接入工具的开放标准。MindLake 内置了一个 MCP 服务器:把 MCP 客户端指向它,客户端的 AI 就能搜索你的资料库(vault)、读取笔记、列出任务、读取你的列表和画布,以及追踪反向链接。
这个服务器就是 MindLake App 本身,以 --mcp-serve 启动。它在你的 Mac 上运行,直接读取资料库中的文件,因此 MindLake 不需要处于打开状态。它是只读的:以这种方式连接的任何东西都无法创建、更改或删除任何内容。MindLake 中没有它的设置;你需要在客户端中添加它。
开始之前
- 这台 Mac 上有许可证或处于试用期。服务器只在 MindLake 本身能打开的情况下启动:已获得许可,或仍在试用期内(参见 试用与许可证)。它检查 MindLake 最近一次保存的许可证,无需联网。否则它会立即停止,并显示“MindLake is not licensed on this Mac”(退出代码 3);打开一次 MindLake 即可解决。
- 资料库的完整路径。路径必须以
/Users/开头,以~开头的路径无法使用。要拷贝路径,请在访达中按住 Option 键的同时右键点按资料库文件夹,然后选择“拷贝为路径名称”。你的资料库介绍了它的位置。
连接客户端
- 拷贝资料库的完整路径。
- 将服务器添加到你的客户端,并用你自己的资料库路径替换示例中的路径(见下文)。
- 可选:添加
--index以使用排序搜索(参见 添加排序搜索)。 - 重新启动客户端,或开始新的会话,让它载入服务器。
在 Claude Code 中,从终端添加:
claude mcp add --scope user mindlake -- \
/Applications/Mindlake.app/Contents/MacOS/Mindlake --mcp-serve \
--vault "/Users/you/Library/Mobile Documents/com~apple~CloudDocs/Mindlake/My Vault"用 JSON 文件进行设置的 App,则改为添加类似这样的条目:
{
"mcpServers": {
"mindlake": {
"type": "stdio",
"command": "/Applications/Mindlake.app/Contents/MacOS/Mindlake",
"args": [
"--mcp-serve",
"--vault", "/Users/you/Library/Mobile Documents/com~apple~CloudDocs/Mindlake/My Vault"
]
}
}
}如果 MindLake 不在你的应用程序文件夹中,请相应修改命令的开头部分。
| 参数 | 作用 |
|---|---|
--mcp-serve | 让 MindLake 作为 MCP 服务器运行,而不是打开它的窗口。 |
--vault | 必需。要提供的资料库的完整路径。缺少它时,服务器会以退出代码 2 停止。 |
--index | 可选。MindLake 搜索索引的完整路径,用于添加 find_notes。 |
添加排序搜索
添加 --index 并附上 MindLake 搜索索引的完整路径,客户端还会获得 find_notes,也就是 MindLake 自己的助手所用的排序搜索。在 JSON 文件中,把这两项作为另外两个条目加入 args。
--index "/Users/you/Library/Application Support/Mindlake/Search/index.sqlite"索引覆盖的是 MindLake 中打开的资料库,并在 MindLake 运行期间保持更新,因此请传入该资料库的路径。如果 Find notes by meaning 已打开(Settings ▸ AI ▸ Advanced,在 Understanding 下),它还会按含义匹配。如果索引文件不存在,服务器会在没有 find_notes 的情况下启动。
它提供哪些工具
| 工具 | 作用 |
|---|---|
find_notes | 查找关于某个主题的笔记,按相关度从高到低排列,每条附有摘录和匹配原因。可按标签、人员、文件夹和日期筛选。默认返回 10 条,最多 40 条。仅在使用 --index 时提供。 |
search_vault | 在笔记中进行纯文本搜索,返回每个匹配的行及其所在笔记(最多 60 行)。 |
read_note | 按资料库中的路径读取一篇笔记(最多 120,000 个字符)。 |
list_notes | 列出笔记路径,范围为整个资料库或某个文件夹(最多 500 个)。 |
list_tasks | 列出复选框任务及其截止日期、优先级、标签和人员:未完成、已完成或全部(最多 200 个)。它的 owner 筛选可取 me(你的任务和没有负责人的任务)、others 或 all,未指定时为 all;它依据你在 Settings ▸ Brain 中填写的名字,没有名字时会被忽略。 |
list_tables | 列出你的列表(表格)及其列和行数。 |
read_table | 以 CSV 格式读取一个列表的列和行(默认 50 行,最多 500 行)。 |
get_backlinks | 查找用 [[wikilinks]] 链接到某篇笔记的笔记。 |
list_canvases | 列出你的画布,以及每个画布包含多少项目。 |
read_canvas | 以 Mermaid 流程图文本读取一个画布。 |
安全规则
- 只读。服务器不提供任何写入工具,并拒绝任何写入请求。
- 仅限你的资料库。你所指定的资料库文件夹之外的路径都会被拒绝。
- 锁定的笔记保持锁定。它们无法被读取,也永远不会被搜索或编入索引。
- 其他内容都可读取。资料库中的任何文本文件都可以被读取,包括 Chats 文件夹中你保存的对话。
- 结果有上限。每次调用返回的内容有限,如上表所列。
- 遵循客户端的规则。是否在每次调用工具前询问由客户端决定,它读取的内容会按照服务商的条款发送到该客户端的 AI 服务商。MindLake 从不接收这些内容。
客户端连接时,服务器还会告诉它 MindLake 笔记的结构(参见 文件格式),让它的 AI 正确读取笔记。
从其他 App 写入
MindLake 内置的服务器无法创建或更改笔记。另一个独立的服务器 mindlake-mcp 增加了四个写入工具:create_note、edit_note、append_to_note 和 write_canvas。它的编辑会经过与对话相同的内容丢失检查,--read-only 可以关闭它的写入工具。它不包含在 MindLake 的下载中,App 中也没有它的设置:在安装了它的地方,需要按上述同样的方式手动将它添加到客户端。
如果想用随 App 提供的功能让 AI 编辑你的笔记,请使用 MindLake 中的对话,它会检查每次编辑是否丢失内容,并保留笔记的早期版本。