mcpField
T
thebrain

thebrain

本地服务
github.com/yBookoff记忆与知识82 周前更新

关于 thebrain

thebrain 是面向 TheBrain 15 的 MCP 服务,让 Agent 搜索、浏览和更新本地知识图谱。其语义工具包括批量导入,可将新材料关联到已有思维条目,并避免重复写入。

主要功能

  1. 01通过本地向量索引按含义搜索
  2. 02读取思维条目并遍历图谱邻域
  3. 03一次调用导入相连的条目结构
  4. 04创建和更新条目、笔记、标签及链接
  5. 05破坏性操作需要确认

适用场景

  1. 01通过同义词或拼写错误查找相关条目
  2. 02将文章拆分为相连的思维条目
  3. 03沿图谱连接探索相关概念
  4. 04查看知识图谱的近期更改

MCP 相关

它基于 TheBrain 15 的本地 API,向 MCP 客户端提供 19 个语义工具,涵盖搜索、图谱读取、索引和写入,包括批量导入。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ybookoff-thebrain": {
"command": "npx",
"args": [
"-y",
"thebrain-mcp-server"
],
"env": {
"THEBRAIN_API_KEY": "<THEBRAIN_API_KEY>",
"THEBRAIN_BASE_URL": "<THEBRAIN_BASE_URL>",
"THEBRAIN_DATA_DIR": "<THEBRAIN_DATA_DIR>",
"THEBRAIN_ALLOW_DESTRUCTIVE": "<THEBRAIN_ALLOW_DESTRUCTIVE>",
"THEBRAIN_EMBEDDING_MODEL": "<THEBRAIN_EMBEDDING_MODEL>",
"THEBRAIN_EMBEDDING_DTYPE": "<THEBRAIN_EMBEDDING_DTYPE>",
"THEBRAIN_TIMEOUT_MS": "<THEBRAIN_TIMEOUT_MS>"
}
}
}
}
启动命令npx -y thebrain-mcp-server
需要配置的环境变量
THEBRAIN_API_KEY密钥Local API key from TheBrain: Settings > User > Local API Key
THEBRAIN_BASE_URLAddress of the local API. Default http://localhost:11522, then http://localhost:8001 for older TheBrain builds
THEBRAIN_DATA_DIRWhere semantic indexes are stored. Default ~/.thebrain-mcp
THEBRAIN_ALLOW_DESTRUCTIVESet to 1 to allow deleting thoughts. Deletion still requires human confirmation. Default 0
THEBRAIN_EMBEDDING_MODELEmbedding model for semantic search. Default Xenova/multilingual-e5-small
THEBRAIN_EMBEDDING_DTYPEWeight precision: fp32, fp16, q8 or q4. Default q8
THEBRAIN_TIMEOUT_MSAPI request timeout in milliseconds. Default 30000

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmthebrain-mcp-server0.3.0

工具

17

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

thebrain-mcp

基于 TheBrain 15 本地 API 构建的 MCP 服务,适用于 TheBrain 15。

它为 Agent 提供对脑图的语义操作:按含义搜索、读取图谱中的邻域,以及将拆解后的内容写入脑图,形成完整的关联结构。它并非 API 的镜像——只提供 19 个工具,而非 48 个端点。

重点不是“保存这段文本”。而是当你将一篇文章交给 Agent 时,它会阅读文章、拆解其中的含义,弄清楚每个含义在现有图谱中的归属、应该关联到什么,以及每条笔记应该写些什么。

已在 npm 上发布为 thebrain-mcp-server——npm 认为较短的名称与一个无关的现有包过于相似。安装后的命令仍然是 thebrain-mcp。

要求

  • 正在运行且已启用本地 API 的 TheBrain 15
  • Node.js 22 或更高版本
  • API 密钥:设置 → 用户 → 本地 API 密钥

安装

Claude Code
claude mcp add thebrain -e THEBRAIN_API_KEY=your-key -- npx -y thebrain-mcp-server
使用配置文件的客户端
{
  "mcpServers": {
    "thebrain": {
      "command": "npx",
      "args": ["-y", "thebrain-mcp-server"],
      "env": { "THEBRAIN_API_KEY": "your-key" }
    }
  }
}

语义搜索

TheBrain 自带的搜索会匹配前缀:OT 可以找到 OTGP,但同义词或拼写错误则无法匹配。若要按含义搜索,服务会构建本地向量索引。

嵌入包不包含在安装中:它约占 380 MB,首次运行时模型本身还要占 113 MB。请单独安装,且仅在需要时安装:

npm install -g @huggingface/transformers

然后,在客户端中运行 brain_index,并设置 action: "rebuild"。为一个包含 10,000 个想法的脑图建立索引大约需要一分钟;之后只会重新计算发生变化的内容。

不安装该包,服务也能运行。 brain_search 会退而使用 Agent 提供的同义词进行多路前缀查询,并明确提示召回率较低。

所有操作都在本地进行:脑图内容和查询都不会发送到任何地方。

设置

变量默认值用途
THEBRAIN_API_KEY—必填
THEBRAIN_BASE_URLhttp://localhost:11522,然后是 :8001本地 API 地址
THEBRAIN_DATA_DIR~/.thebrain-mcp索引存储位置
THEBRAIN_ALLOW_DESTRUCTIVE0允许删除想法和链接
THEBRAIN_EMBEDDING_MODELXenova/multilingual-e5-small嵌入模型
THEBRAIN_EMBEDDING_DTYPEq8权重精度
THEBRAIN_TIMEOUT_MS30000API 请求超时时间

更改模型或精度会导致现有索引无法使用——服务会提示这一点,并要求重新构建索引。

通常无需设置 THEBRAIN_BASE_URL。TheBrain 更新后,本地 API 的端口从 8001 改为 11522,因此服务会先尝试新端口,失败后再使用旧端口。仅当 TheBrain 监听其他地址时才需要设置该变量;直接使用设置中显示的端点即可(http://localhost:11522/api/)。

工具

读取

工具功能
brain_list查看知识脑、当前打开的是哪一个,以及索引是否就绪
brain_get_thought一次调用获取一个想法、其别名、关系图和备注
brain_search按含义搜索
brain_traverse沿关系图向外遍历数跳
brain_list_types_and_tags查看知识脑的词汇表
brain_recent_changes以通俗语言查看更改内容
brain_index查看索引状态、构建索引和刷新索引

写入

工具功能
brain_create_thought创建一个想法,并附上备注、类型、标签和别名
brain_update_thought更新名称、标签、类型和颜色;添加或移除别名
brain_set_note / brain_append_note替换或补充备注
brain_link用标签连接两个想法;使用 replace 可将连接它们的关系改为另一种
brain_unlink移除关系,需人工确认
brain_tag添加或移除标签
brain_create_type_or_tag创建类型或标签;如果知识脑已有同名标签,则返回该标签,不会重复创建
brain_attach_url添加链接,不会重复添加
brain_activate在用户的屏幕上打开一个想法
brain_delete_thought删除想法,需人工确认
brain_ingest一次调用写入完整结构
brain_ingest

用于填充知识脑的主要工具。Agent 将材料拆分成想法,通过临时标识符将它们连接起来, 然后一次调用即可写入全部内容:

{
  "brainId": "…",
  "thoughts": [
    { "tempId": "art",   "name": "Article on RAG", "parent": "<uuid of an existing thought>" },
    { "tempId": "embed", "name": "Embeddings", "parent": "art", "note": "…" },
    { "tempId": "store", "name": "Vector store", "parent": "art" }
  ],
  "links": [
    { "from": "embed", "to": "store", "name": "is written into" }
  ]
}

输入中想法的顺序无关紧要——依赖关系会自动解析。重复运行同一计划不会产生重复内容;如果某个想法已经存在,则会保留其备注:计划中的备注只会在原本没有备注时写入,结果会指出哪些备注得以保留。无效计划(例如包含循环或引用不存在的内容)会在首次写入之前被拒绝。

技能

服务提供的是机制——确定性的操作。方法论(如何细分含义、何时关联到已有内容、备注中应包含什么)则独立存放在 Claude Code 技能中。这些技能是普通的 Markdown 文件,因此你可以按自己的工作方式进行调整,而无需重新构建服务。

技能触发时机
thebrain-ingest“把这篇文章放进我的知识脑”“拆解并记录这段内容”
thebrain-research“我对 X 了解多少”“我们之前讨论过这个吗?”
thebrain-organize“整理我的知识脑”“查找重复项”
thebrain-digest“我这周添加了什么”“我最近一直在做什么”

将它们安装为符号链接,这样仓库中的编辑会立即生效:

mkdir -p ~/.claude/skills
for d in skills/*/; do
  ln -sfn "$PWD/$d" ~/.claude/skills/"$(basename "$d")"
done

如果不想保留指向仓库的链接,也可以复制它们。对于单个项目,请在项目根目录中使用 .claude/skills,而不是 ~/.claude/skills。

技能会在会话启动时加载——已在运行的会话需要重启(claude --continue 会保留对话)。

删除

删除想法(brain_delete_thought)和关系(brain_unlink)。默认禁用。即使设置了 THEBRAIN_ALLOW_DESTRUCTIVE=1,仍需获得人工同意:如果客户端支持确认表单,则通过表单确认;否则需通过第二次调用并显式指定标记来确认。Agent 不能替你做这个决定。

开发

npm install
npm test                 # unit tests, no live TheBrain needed
npm run build

针对在线 API 的契约测试:

THEBRAIN_API_KEY=… npm test                                  # read-only
THEBRAIN_API_KEY=… THEBRAIN_TEST_BRAIN_ID=<uuid> npm test    # + writes

写入测试需要一个单独的临时知识脑,并且拒绝操作包含超过 500 个想法的知识脑。需要读取知识脑的只读测试也会读取该知识脑;如果没有它,则跳过:没有任何测试会读取其他知识脑。

文档

  • ARCHITECTURE.md — 服务的构建方式及其原因:各层的边界、机制与策略的分离、错误处理理念、语义层,以及每项决策背后的原因。
  • docs/api-map.md — 本地 API 的行为,包括未记录的部分;根据运行中的实例验证,并附有测量数据。
  • docs/stack-evaluation.md — 选择 TypeScript 的原因,并附有数据。
  • CONTRIBUTING.md — 如何参与开发。

支持

thebrain-mcp 是利用业余时间构建和维护的。如果它能成为你工作流的一部分,你可以在 GitHub 上赞助它——一次性赞助或按月赞助均可。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。