mcpField
S
second-brain-mcp

second-brain-mcp

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

关于 second-brain-mcp

second-brain-mcp 是面向 Obsidian 和本地 Markdown 文件夹的 MCP 服务,用于捕捉阅读与个人想法,并将其组织成相互关联的概念图谱。它还可按主题找回相关笔记并检查图谱健康状况,所有内容都保存在用户自己的文件中。

主要功能

  1. 01记录阅读与摘录
  2. 02将想法整理为永久笔记
  3. 03按文本找回关联笔记
  4. 04检查孤立、断链及重复概念
  5. 05在项目中暂存并晋升笔记
  6. 06通过 MCP 资源读取完整笔记

适用场景

  1. 01阅读时记录书籍或文章摘录
  2. 02围绕主题找回旧想法
  3. 03清理 Obsidian 图谱中的问题
  4. 04将项目笔记整理进个人知识图谱

MCP 相关

该 MCP 服务向客户端提供笔记摄取、搜索、关联、图谱检查等工具,并将每条笔记作为 MCP 资源公开。还提供用于引导摄取流程的提示词。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"portaltocoding-second-brain": {
"command": "npx",
"args": [
"-y",
"@toportal/second-brain-mcp"
],
"env": {
"BRAIN_VAULT": "<BRAIN_VAULT>",
"BRAIN_MODO": "<BRAIN_MODO>"
}
}
}
}
启动命令npx -y @toportal/second-brain-mcp
需要配置的环境变量
BRAIN_VAULTRuta al vault de Obsidian (carpeta de Markdown)
BRAIN_MODOMotor de resurgir: lexico o rag

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

安装包
npm@toportal/second-brain-mcp0.1.1

工具

13

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

参数类型必填说明
autorstring否
temasarray否
titulostring是
formatoenum否libro | articulo | video | curso

详细介绍

second-brain-mcp

西班牙语 · English

npm tests node license

你的第二大脑,就在你的 Obsidian 里,与你的助手对话。

这是一个 MCP 服务,可将 Markdown 文件夹变成一个真正的第二大脑:捕捉你读到的内容,用自己的话把它转化为想法,再让这些想法彼此连接,最终形成一张与你一起思考的图谱:当你着手做某件事时,相关笔记会自动浮现。

一切都是西班牙语。一切都在你自己的文件里。没有数据库,没有云端,也没有你无法用文本编辑器打开的魔法。

用起来是什么感觉?

你对助手说:

“我正在读《原子习惯》,记下这句话:环境比意志力更能左右结果”

它会在阅读记录不存在时创建一条,保存这则摘记;等这个想法成熟后,还会把它转化为一条永久笔记,并关联到 [[Hábitos]] 这个概念上。这个概念会不断积累你对该主题的所有思考,无论它们来自哪本书。

几周后,你在做另一件事时,问起如何设计早晨的日常安排,系统便会把*“环境替你做决定”*连同对应的原文段落一起带回来。这就是第二大脑:不是你来记住,而是让它来记住。

图谱

每个标签都采用 方法 / 是什么 的格式;两个主要入口还附有触发它的短语:

                             tú + tu asistente
                                  │      ▲
                ingerir / ingesta │      │ resurgir / recuerdo
                   «añade esto»   ▼      │   «¿qué sé de esto?»
                           ┌──────────────┐
                           │ second-brain │
                           └───────┬──────┘
                     clasifica lo que entra
       ┌───────────────────────────┼───────────────────────────┐
       │ lectura_crear / ficha     │ nota_permanente / idea    │ mini_nota / apunte
       │ lectura_nota / apuntes    │                           │
       ▼                           ▼                           ▼
┌──────────────┐            ┌─────────────┐           ┌────────────────┐
│ 40-Lecturas/ │            │  50-Notas/  │           │ proyecto/brain/│
│ lo que entra │            │ lo que queda│           │ el taller      │
└──────┬───────┘            └──────┬──────┘           └────────┬───────┘
       │                           │                           │
       │ nota_permanente /         │ temas                     │ mini_promover /
       │ la idea madura            │                           │ madura o resuena
       └──────────────────────────▶│───────────┐               │
                                   │           ▼               │
              nota_enlazar /       │   ┌───────────────┐       │
              relacionar con       │   │ 60-Conceptos/ │◀──────┘
              motivo (2-3 máx)     ▼   │ lo que conecta│
                             otras ideas└───────────────┘

     jardin / poda «¿cómo está el jardín?» · concepto_fusionar / coser nodos
     vault_buscar / grep «busca dónde dije X» · mini_listar / cosecha del taller

安装

最快方式:一行命令,无需任何配置

如果你使用 Claude Code:

claude mcp add --scope user second-brain -- npx -y @toportal/second-brain-mcp

使用其他任何 MCP 客户端:

{
  "mcpServers": {
    "second-brain": {
      "command": "npx",
      "args": ["-y", "@toportal/second-brain-mcp"]
    }
  }
}

无需设置环境变量,也无需做任何选择:你的大脑会创建在 ~/second-brain 中,三个文件夹和首页都已准备就绪。告诉你的助手 “帮我完成第二大脑的入门设置”,你就可以开始了。

更想把它放在你一直使用的 Obsidian 库里?添加 BRAIN_VAULT=/ruta/a/tu/vault 就行——服务只会写入三个 子文件夹,不会碰其他内容。如果你已经在默认库里开始使用了, 把文件夹移到你想放的位置,再将 BRAIN_VAULT 指向那里即可:这些都是 Markdown 文件,无需迁移任何内容。

无需终端:双击即可

如果你使用 Claude Desktop,不想接触任何命令或 JSON, 请下载 second-brain.mcpb 并双击:Claude Desktop 会打开它,让你选择大脑所在的文件夹(如果有 Obsidian 库,就选它;或者选择任意空文件夹),然后就完成了。你无需安装 Node,也无需修改任何配置文件。如果还想以图谱形式查看大脑, 请安装 Obsidian,并将同一个文件夹作为库打开。

使用终端,自行选择文件夹

你需要 Node 18 或更高版本。使用 Claude Code 时,可在用户级别进行配置 (在你的所有项目中都可用):

claude mcp add --scope user second-brain \
  --env BRAIN_VAULT=/ruta/a/tu/vault \
  -- npx -y @toportal/second-brain-mcp

使用其他任何 MCP 客户端:

{
  "mcpServers": {
    "second-brain": {
      "command": "npx",
      "args": ["-y", "@toportal/second-brain-mcp"],
      "env": { "BRAIN_VAULT": "/ruta/a/tu/vault" }
    }
  }
}

就这么简单。创建第一条笔记时,会自动创建所需的文件夹。

有一项保护措施:如果你配置的路径不存在,其父文件夹也不存在,服务会认为你可能输错了路径,并在对话中告诉你,而不是直接在一个不存在的文件夹里创建库。如果父文件夹存在,服务就会直接创建目标文件夹,不会询问:这正是你想要的。

如果你想从一开始就准备好库(文件夹 + 首页),可以使用初始化脚手架:

npx -y @toportal/second-brain-mcp --init /ruta/a/tu/vault

此操作具有幂等性:不会改动已经存在的库。

环境变量
变量作用默认值
BRAIN_VAULT你的库路径(也可作为第一个参数)。如果不设置,则使用默认库~/second-brain
BRAIN_MODOresurgir 的引擎:lexico 或 raglexico
BRAIN_RAG_UMBRAL可建议使用 rag 模式的笔记数量下限50

你的首次会话

不用自己琢磨:告诉助手“带我完成 second brain 的入门引导”(这是提示词 empezar;在 Claude Code 中显示为命令 /mcp__second-brain__empezar),它就会一步步引导你:查看你的 vault 状态,和你一起用自己的话记录第一篇阅读和第一个想法,让你看看 resurgir 会从你的内容中返回什么,并给你一份日常三种操作的速查表。如果 vault 里已经有内容,它不会把你当新手,而是带你浏览现有内容。

30 秒快速体验

仓库在 ejemplo/ 中附带了一个已经搭建好的示例 vault,包含两篇阅读、四个想法和四个相互关联的概念,因此你还没写下自己的任何笔记,就能看到图谱的运行效果:

git clone https://github.com/Portaltocoding/second-brain-mcp
cd second-brain-mcp && npm install
claude mcp add second-brain --env BRAIN_VAULT=$PWD/ejemplo -- node src/server.js

然后问助手一个类似“我对意志力了解多少?”的问题。你也可以在 Obsidian 中打开 ejemplo/ 文件夹作为 vault,查看绘制好的图谱。

一次真实会话

日常使用就是这样,不用记住任何工具:

你: 把这件事加到我的 second brain,记录最重要的部分:“这几周我注意到,如果早上把手机放在另一个房间,我就能连续工作两小时;如果手机在手边,我就会每隔十分钟看一眼,工作断断续续。”

助手: 这是你已经消化过的想法,所以会作为永久笔记,以提炼模式保存。我看到的核心想法是:“手机的物理距离决定了工作的专注深度”,关联到你图谱中已有的概念 Foco 和 Entorno。这样创建可以吗?

你: 好

助手: 已创建。它还与 “专注是设计出来的,不是靠召唤出来的” 高度共鸣(评分 8):两者都在谈准备好环境,而不是依赖意志力。要把它们用这个主题关联起来吗?

你: 好

助手: 已关联,并在两篇笔记中写明了关联原因。我把打开它的链接发给你:obsidian://open?path=...

注意这个顺序:助手提出建议,你来决定,每个关联都会写明原因。这就是整个系统。

三个文件夹

tu-vault/
├── 40-Lecturas/     lo que entra: libros, artículos, vídeos, cursos
├── 50-Notas/        lo que queda: ideas permanentes, tuyas, con tu título
└── 60-Conceptos/    lo que conecta: cada tema es una nota real con backlinks

黄金法则:任何内容都不能孤立存在。每个想法都要关联到其来源、涉及的概念,并适度关联其他想法。适度很重要:最多关联 2-3 篇相关笔记,每条关联都要写明原因。一个塞满 12 条链接的抽屉什么也连接不起来;三条写明缘由的链接才是一张地图。

能做什么

捕捉。 lectura_crear 用于创建书籍或文章的信息卡;lectura_nota 用于在阅读时保存笔记(“第 3 章:……”);当某个想法真正属于你时,nota_permanente 会将它存入 50-Notas/,并把主题转化为可浏览的概念。nota_enlazar 用于关联两个想法,并写明原因。

思考。 resurgir 是核心:给它一段文本(一项任务、一个疑问、一个尚未成熟的想法),它就会返回与之关联最紧密的笔记。只有存在真实关联时才会显示;如果没有相关内容,它不会凭空捏造。vault_buscar 就是传统的 grep,但会限制结果数量,避免信息过载(最多 20 条结果,并在结果更多时提醒你)。

修剪。 图谱会在不知不觉中腐坏。jardin 会展示孤立笔记、失效链接、无人定义的概念、关联过多的笔记,以及重复概念(例如 “Hábito” 和 “Habitos” 把反向链接分散成两组)。concepto_fusionar 用于合并分裂的节点。

项目工作区。 任何仓库都可以在本地拥有一个 brain/ 文件夹,存放原始笔记(mini_nota)。mini_listar 会告诉你哪些笔记值得提升到知识库(与现有内容高度共鸣,或已经沉淀了一周),mini_promover 则会将它们提升上去。工作区在下,知识库在上;是否提升,始终由你决定。

摄取:一个动作

你不必记住这些工具。告诉你的助手:

“把这个直接添加到我的第二大脑” “把这里面最重要的内容添加进来” “记下我正在写的内容”

然后就会按需触发摄取。服务端附带了书面流程 (MCP 提示词 ingerir;在 Claude Code 中显示为命令 /mcp__second-brain__ingerir):对文本进行分类(是带来源的阅读内容、你的想法, 还是研讨会笔记?),应用相应模式(directo 完整保存,destilar 用你自己的话 提炼出 1-3 个核心想法,并在创建任何内容之前展示给你,auto 自动决定并告知你), 识别 2-4 个概念(优先选择图谱中已有的概念,而不是编造同义词),然后编织关联。 决定权在你手中,并且会明确标出:哪些想法被纳入,以及创建了哪些关联。适用于粘贴的 一段文字、一个章节,或你正在写的 Word 文档:直接粘贴,或传入文件。

阅读笔记:资源

图谱中的每条笔记也是一个MCP 资源,因此完整阅读它不会消耗一次工具调用 (在 Claude Code 中,你还可以用 @ 附加它):

vault://lectura/{titulo}
vault://nota/{titulo}
vault://concepto/{nombre}

有效的模式是:先低成本搜索(vault_buscar、resurgir),再完整阅读 真正感兴趣的内容(资源)。

如果我不用 Claude 呢?

效果一样,因为这是标准 MCP,几乎所有人都已经支持这个协议。完整的选择阶梯,从最方便 到最独立:

  1. Claude Desktop:通过 .mcpb 双击使用。唯一无需任何设置的方式。
  2. 任何其他 MCP 客户端(桌面版 ChatGPT、Cursor、VS Code、 Windsurf、Zed、Gemini CLI……):使用上面的 JSON 配置块,所有客户端都通用。
  3. 无需任何账号,也无需互联网:LM Studio 支持使用本地模型的 MCP,因此你的第二大脑可以 与运行在你自己电脑上的模型对话,而你的笔记永远不会离开你的硬盘。
  4. 完全不用 AI:知识库就是普通的 Markdown 文件,带有普通的 wikilink。 只用 Obsidian,你就能拥有一个完全可用的手动第二大脑;服务端是帮助你捕捉、提炼并 找回想法的副驾驶,但你的笔记永远不会受制于任何人。

与 Obsidian 的配合方式

这里就是它的家。一切都是带有原生 wikilink 的纯 Markdown:图谱视图、反向链接 和悬停预览无需插件即可使用。服务端总是重新读取(从不缓存),并以原子方式写入,因此你可以在 服务端运行时用 Obsidian 编辑,不会发生冲突。jardin 对链接的判断方式与 Obsidian 相同: 不区分大小写。

两个实用细节:

  • 每条新建的笔记都会返回其磁盘上的 ruta——始终可用——以及一个 abrir 链接 (obsidian://open?path=...):点击一下,就能在应用中打开笔记(前提是你已安装应用)。 它使用绝对路径,因此无论你的知识库叫什么名字,或目标笔记位于哪个子文件夹,都没有影响。
  • temas 和 relacionadas 位于属性中(frontmatter)。Obsidian 会将它们 视为真正的链接,但若要在图谱视图中查看,请在图谱设置中启用“属性”。

那 Notion 呢? 不支持。此服务端基于本地 Markdown 文件运行。 这正是它的优点:数据属于你,可以用任何编辑器打开,图谱的速度取决于硬盘,而非 API。 Obsidian 也不是必需的(任何 .md 文件夹都可以);它只是最佳的查看器。如果你从 Notion 迁移过来: 将笔记导出为 Markdown,然后放入知识库,这样就能正常使用了。

词法模式与 rag 模式

resurgir 有两种引擎,系统会告诉你何时切换:

  • lexico(默认):按匹配内容的重要程度评分: 标题 ×3、主题 ×2、正文 ×1。直接、透明;对于小型或中型 brain, 这就够用了。
  • rag:基于 片段 的 BM25,支持西班牙语词干提取:「hábito」可以匹配 「hábitos」;它不只告诉你连接的是哪条笔记,还会返回直接回答问题的 确切段落,可直接用作上下文。适合 brain 日益壮大、笔记也变长的情况。

该用哪个?不用多想:从 lexico 开始,让系统引导你。 只有在确实需要时,才会建议切换到 rag,也就是以下两种情况同时出现时:

  1. 你的 brain 已经有一大批笔记(50+,可通过 BRAIN_RAG_UMBRAL 配置),并且
  2. 你刚才的搜索在词法模式下效果不佳(没有结果,或低于强连接的门槛);也就是说, 正是 rag 能派上用场的时候。

而且每个会话只提示一次:系统会告诉你并解释原因,不会再反复提醒。词法模式找到强匹配时,不会有人打断你。试用没有成本:用 modo: "rag" 重复查询并比较;如果觉得合适,就通过 BRAIN_MODO=rag 固定下来。不需要重建索引或下载模型: 两种引擎都会即时重新读取 vault,因此你可以放心继续在 Obsidian 中编辑。

设计原则(如果你好奇为什么这样设计)

  • 稀缺即意义。 只有在连接很强时才会出现连接建议(最多两条)。把所有内容都相互 链接,和什么都不链接没有区别。
  • 是否链接由你决定。 系统只提供建议;由你决定。不会创建任何 附带连接。
  • vault 说了算。 服务端始终重新读取,不做缓存:你可以手动编辑、使用 Obsidian, 或按自己喜欢的方式同步。采用原子写入,并逐行编辑 frontmatter:不会改动你的格式。
  • 上下文需要付出代价。 使用精简 JSON 响应、限制搜索范围、 为诊断设置上限。只读工具会标记为 (readOnlyHint),唯一的破坏性工具 (concepto_fusionar) 也会标记,让你的客户端在适当时请求确认。

开发

npm install
npm test

许可证

MIT。使用它、修改它,让它成为你自己的。

评论

支持 Markdown

第一次接触 MCP?

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

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