second-brain-mcp

second-brain-mcp

MCP server that turns a Markdown folder (e.g. Obsidian vault) into a second brain, capturing readings and ideas, connecting them as concepts, and resurfacing related notes on demand.

Category
访问服务器

README

second-brain-mcp

Español · English

npm tests node license

Tu segundo cerebro, en tu Obsidian, hablando con tu asistente.

Esto es un servidor MCP que convierte una carpeta de Markdown en un second brain de verdad: capturas lo que lees, lo conviertes en ideas con tus palabras, y esas ideas se conectan entre sí hasta formar un grafo que piensa contigo: cuando trabajas en algo, las notas relacionadas aparecen solas.

Todo en castellano. Todo en ficheros tuyos. Sin bases de datos, sin nube, sin magia que no puedas abrir con un editor de texto.

¿Cómo se siente?

Le dices a tu asistente:

«Estoy leyendo Hábitos Atómicos, apunta esto: el entorno decide más que la fuerza de voluntad»

y él crea la lectura si no existía, guarda el apunte, y cuando esa idea madure la convierte en una nota permanente conectada al concepto [[Hábitos]], que a su vez acumula todo lo que has pensado sobre el tema, venga del libro que venga.

Semanas después, trabajando en otra cosa, preguntas por diseñar tu rutina de mañanas y el sistema te trae de vuelta «El entorno decide por ti» con el párrafo exacto. Eso es el segundo cerebro: no recordar tú, que recuerde él.

El mapa

Cada etiqueta es método / qué es; en las dos puertas principales va también la frase que lo dispara:

                             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

Instalación

Sin terminal: doble clic y listo

Si usas Claude Desktop y no quieres saber nada de comandos ni de JSON, descarga second-brain.mcpb y haz doble clic: Claude Desktop lo abre, te pide elegir la carpeta donde vivirá tu cerebro (tu vault de Obsidian si tienes, o una carpeta vacía cualquiera) y ya está. No necesitas instalar Node ni tocar ningún fichero de configuración. Y si además quieres ver tu cerebro dibujado como un grafo, instala Obsidian y abre esa misma carpeta como vault.

Con terminal

Necesitas Node 18 o más nuevo y una carpeta para el vault (puede ser tu vault de Obsidian de siempre: el servidor solo escribe en tres subcarpetas y no toca nada más).

Con Claude Code, a nivel de usuario (disponible en todos tus proyectos):

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

Con cualquier otro cliente MCP:

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

Y listo. La primera nota crea las carpetas que hagan falta. Si prefieres dejar el vault montado desde el principio (carpetas + portada), hay andamiaje:

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

Es idempotente: sobre un vault que ya existe no toca nada.

Variables de entorno

Variable Qué hace Por defecto
BRAIN_VAULT La ruta de tu vault (obligatoria; también vale como primer argumento) nada
BRAIN_MODO Motor de resurgir: lexico o rag lexico
BRAIN_RAG_UMBRAL A partir de cuántas notas puede sugerirse el modo rag 50

Tu primera sesión

No te la tienes que inventar: dile a tu asistente «hazme el onboarding de mi second brain» (es el prompt empezar; en Claude Code aparece como el comando /mcp__second-brain__empezar) y él te guía paso a paso: mira cómo está tu vault, planta contigo la primera lectura y la primera idea con tus propias palabras, te enseña qué devuelve resurgir con tu material, y te deja la chuleta de los tres gestos del día a día. Si el vault ya tiene contenido no te trata de nuevo: te hace un tour de lo que hay.

Pruébalo en 30 segundos

El repo trae un vault de ejemplo ya tejido en ejemplo/, con dos lecturas, cuatro ideas y cuatro conceptos conectados entre sí, así que puedes ver el grafo funcionando antes de haber escrito una sola nota tuya:

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

Y le preguntas a tu asistente algo como «¿qué sé yo sobre la fuerza de voluntad?». También puedes abrir la carpeta ejemplo/ como vault en Obsidian y ver el grafo dibujado.

Una sesión de verdad

Así se ve el día a día, sin aprenderse ninguna tool:

Tú: añade esto a mi second brain, lo más importante: "llevo semanas notando que si dejo el móvil en otra habitación por la mañana me salen dos horas de trabajo del tirón, y si lo tengo al lado voy a rachas de diez minutos entre miradas"

Asistente: esto es un pensamiento tuyo ya digerido, así que va como nota permanente en modo destilar. La idea fuerte que veo: «La distancia física al móvil marca la profundidad del trabajo», con los conceptos Foco y Entorno, que ya existen en tu grafo. ¿La creo así?

Tú: dale

Asistente: creada. Y resuena fuerte con «El foco se diseña, no se invoca» (score 8): las dos hablan de preparar el entorno en vez de confiar en la voluntad. ¿Las enlazo con ese motivo?

Tú: sí

Asistente: enlazadas, motivo escrito en las dos. Te dejo el enlace para abrirla en Obsidian: obsidian://open?vault=...

Fíjate en el orden: el asistente propone, tú decides, y cada conexión queda con su porqué escrito. Eso es todo el sistema.

Las tres carpetas

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

La regla de oro: nada entra suelto. Cada idea se enlaza a su origen, a los conceptos que toca y, con moderación, a otras ideas. Y la moderación importa: máximo 2-3 notas relacionadas, cada enlace con su porqué escrito. Un cajón con doce enlaces no conecta nada; tres enlaces con motivo son un mapa.

Qué sabe hacer

Capturar. lectura_crear abre la ficha de un libro o artículo; lectura_nota guarda apuntes mientras lees («cap 3: ...»); cuando una idea es tuya de verdad, nota_permanente la sube a 50-Notas/ con sus temas convertidos en conceptos navegables. nota_enlazar une dos ideas y deja escrito por qué.

Pensar. resurgir es el corazón: le das un texto (una tarea, una duda, una idea a medias) y te devuelve las notas más conectadas con él. Solo aparece cuando hay solape real; si no hay nada, no inventa. vault_buscar es el grep de toda la vida, acotado para no inundar (20 resultados y te avisa si hubo más).

Podar. Los grafos se pudren en silencio. jardin te enseña las notas huérfanas, los enlaces rotos, los conceptos que nadie definió, las notas sobreconectadas y los conceptos duplicados («Hábito» y «Habitos» partiendo los backlinks en dos). concepto_fusionar cose los nodos partidos.

Taller por proyecto. Cualquier repo puede tener su brain/ local con apuntes crudos (mini_nota). mini_listar te dice cuáles se han ganado subir a la biblioteca (resuenan fuerte con lo que ya tienes, o llevan una semana madurando) y mini_promover los sube. Taller abajo, biblioteca arriba: y promover siempre es decisión tuya.

La ingesta: un solo gesto

No hace falta que te aprendas las tools. Dile a tu asistente:

«añade esto directo a mi second brain» «añade lo más importante de esto» «apunta esto que estoy escribiendo»

y la ingesta se dispara según toque. El servidor trae el procedimiento escrito (prompt MCP ingerir; en Claude Code aparece como comando /mcp__second-brain__ingerir): clasifica el texto (¿lectura con fuente, idea tuya, apunte de taller?), aplica el modo (directo guarda íntegro, destilar extrae las 1-3 ideas fuertes en tus palabras y te las enseña antes de crear nada, auto decide y te lo dice), identifica 2-4 conceptos (prefiriendo los que ya existen en tu grafo antes que inventar sinónimos), y teje. Las decisiones son tuyas y están marcadas como tales: qué ideas entran y qué conexiones se crean. Vale para un párrafo pegado, un capítulo, o ese documento de Word que estás escribiendo: pégalo o pásale el fichero.

Leer notas: resources

Cada nota del grafo es también un resource MCP, así que leerla entera no gasta una tool call (y en Claude Code puedes adjuntarla con @):

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

El patrón que funciona: buscar barato (vault_buscar, resurgir), leer entero solo lo que interesa (el resource).

¿Y si no uso Claude?

Funciona igual, porque esto es MCP estándar y el protocolo ya lo habla casi todo el mundo. La escalera completa, de más cómodo a más independiente:

  1. Claude Desktop: la vía del doble clic con el .mcpb. La única sin tocar nada.
  2. Cualquier otro cliente MCP (ChatGPT de escritorio, Cursor, VS Code, Windsurf, Zed, Gemini CLI...): usa el bloque de configuración JSON de arriba, que es el mismo para todos.
  3. Sin cuenta de nada y sin internet: LM Studio soporta MCP con modelos locales, así que tu second brain puede hablar con un modelo que corre en tu propio ordenador y tus notas no salen de tu disco jamás.
  4. Sin ninguna IA: el vault son ficheros Markdown normales con wikilinks normales. Con Obsidian a secas ya tienes un second brain manual perfectamente usable; el servidor es el copiloto que captura, destila y te trae las ideas de vuelta, pero tus notas nunca son rehenes de nadie.

Cómo se lleva con Obsidian

Es su casa. Todo es Markdown plano con wikilinks nativos: graph view, backlinks y hover preview funcionan sin plugins. El servidor relee siempre (nunca cachea) y escribe de forma atómica, así que puedes editar en Obsidian con el servidor corriendo sin que se pisen. El jardin juzga los enlaces como Obsidian: sin distinguir mayúsculas.

Dos detalles útiles:

  • Cada nota creada devuelve un enlace abrir (obsidian://open?...): un clic y estás en la nota dentro de la app.
  • temas y relacionadas viven en las propiedades (frontmatter). Obsidian los trata como enlaces reales, pero para verlos en el graph view activa «Propiedades» en los ajustes del grafo.

¿Y Notion? No. Este servidor trabaja sobre ficheros Markdown locales. Esa es la gracia: tus datos son tuyos, se abren con cualquier editor y el grafo va a la velocidad del disco, no de una API. Obsidian tampoco es obligatorio (vale cualquier carpeta .md); es solo el mejor visor. Si vienes de Notion: exporta tus notas como Markdown y suéltalas en el vault, y eso sí funciona.

Modo lexico y modo rag

resurgir tiene dos motores, y el sistema te dice cuándo cambiar:

  • lexico (por defecto): puntúa coincidencias donde más significan: título ×3, temas ×2, cuerpo ×1. Directo y transparente; con un brain pequeño o mediano es todo lo que necesitas.
  • rag: BM25 por fragmentos con stemming castellano: «hábito» encuentra «hábitos», y en vez de decirte solo qué nota conecta, te devuelve el párrafo exacto que responde, listo para usar como contexto. Pensado para cuando el brain crece y las notas son largas.

¿Cuál usar? No lo pienses: empieza en lexico y deja que el sistema te guíe. La sugerencia de pasar a rag aparece solo cuando toca, cuando se dan las dos cosas a la vez:

  1. tu brain ya es un puñado grande de notas (50+, configurable con BRAIN_RAG_UMBRAL), y
  2. la búsqueda que acabas de hacer volvió floja en léxico (sin resultados o por debajo del listón de conexión fuerte); es decir, justo el momento en que el rag habría ayudado.

Y una sola vez por sesión: te lo dice, te explica el porqué, y no vuelve a insistir. Si el léxico encuentra fuerte, no te interrumpe nadie. Probar es gratis: repite la consulta con modo: "rag" y compara; si convence, se fija con BRAIN_MODO=rag. Sin índices que reconstruir ni modelos que descargar: los dos motores releen el vault al vuelo, así que puedes seguir editando en Obsidian sin miedo.

Los principios (por si te preguntas por qué es así)

  • La escasez es el significado. Las sugerencias de conexión solo aparecen cuando son fuertes (y como mucho dos). Enlazarlo todo con todo es lo mismo que no enlazar nada.
  • Enlazar es decisión tuya. El sistema sugiere; tú decides. Ninguna conexión se crea como efecto secundario.
  • El vault manda. El servidor relee siempre y no cachea: edita a mano, usa Obsidian, sincroniza con lo que quieras. Escritura atómica y frontmatter editado línea a línea: tu formato no se toca.
  • El contexto se paga. Respuestas en JSON compacto, búsquedas acotadas, diagnósticos con techo. Las tools de solo lectura van marcadas (readOnlyHint) y la única destructiva (concepto_fusionar) también, para que tu cliente pida confirmación donde toca.

Desarrollo

npm install
npm test

Licencia

MIT. Úsalo, cámbialo, hazlo tuyo.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选