PTENES
Servidor MCP · segundo cerebro

Un cerebro. Varios clientes de IA.

Expone la carpeta Markdown del kit astra-2cerebro como herramientas MCP para Claude Code, Codex, Claude Desktop, n8n y bots. Lectura por defecto, escritura solo si la activas.

Ilustración de un cerebro conectado a varios asistentes de IA
Qué es

Tu segundo cerebro, en cualquier cliente MCP

El kit astra-2cerebro guarda quién eres, tus prioridades, decisiones, proyectos y una wiki interconectada en archivos Markdown. cerebro-mcp inicia un servidor MCP apuntado a esa carpeta y cada cliente obtiene las herramientas cerebro_*. El cerebro sigue siendo solo archivos; lo que cambia es quién puede leerlos.

🧠 Trece herramientas, una carpeta

Contexto, prioridades, mapa de rutas, búsqueda, lectura, wiki, proyectos, conexiones y rutinas. Más tres herramientas de escritura (decisión, fuente, ejecución) que solo aparecen si activas --escrita.

🔒 Solo dentro del cerebro

Todas las rutas pasan por una verificación que bloquea ../, rutas absolutas externas, symlinks hacia afuera, .git, node_modules e .env. Nada sale de la máquina.

🔌 stdio o HTTP

Por stdio para Claude Code, Codex y Claude Desktop. Con --http, un endpoint en 127.0.0.1 para n8n, bots y scripts. Sin índice, sin base de datos: lee el disco en el momento.

Cómo funciona

Del cliente al archivo Markdown

El cliente inicia el servidor como proceso hijo, pregunta qué herramientas existen y las llama cuando las necesita. El servidor lee la carpeta en el momento y devuelve texto Markdown con la ruta del archivo para que el modelo cite la fuente.

Cliente MCP→ bin/cerebro-mcp.mjs→ resolverDir (--dir / CEREBRO_DIR / carpeta actual)→ herramientas cerebro_*→ caminhoSeguro→ .md del cerebro→ texto con ruta
1

Buscar

--dir, después CEREBRO_DIR, después la carpeta actual si existe AGENTS.md o CLAUDE.md. Sin cerebro, error claro y salida 1.

2

Registrar

Diez herramientas de lectura y los recursos cerebro:// siempre; las tres de escritura solo con --escrita o CEREBRO_ESCRITA=1.

3

Responder

Cada llamada lee el disco, arma Markdown y lo devuelve. Un error previsible se convierte en isError; el proceso nunca se cae por una llamada incorrecta.

HerramientaQué haceEscritura
cerebro_contexto()sobre-mí + sobre-el-trabajo + prioridades, con las rutasno
cerebro_prioridades()solo contexto/prioridades.mdno
cerebro_rotas()la sección «Mapa de rutas» del AGENTS.md / CLAUDE.mdno
cerebro_buscar(consulta, limite?)búsqueda por términos en todos los .md, con fragmento y relevanciano
cerebro_ler(caminho)contenido de un archivo o listado de una carpeta, solo dentro del cerebrono
cerebro_wiki_indice() · cerebro_wiki_pagina(slug)índice de la wiki y página por slugno
cerebro_projetos() · cerebro_conexoes() · cerebro_rotinas()proyectos con estado, tabla de conexiones, rutinas y ejecucionesno
cerebro_registrar_decisao(...)entrada fechada en decisoes/registro.mdsí
cerebro_adicionar_fonte(nome, conteudo)fontes/AAAA-MM-DD-slug.md, sin sobrescribirsí
cerebro_registrar_execucao(id, resultado, ...)nueva línea en el registro de ejecuciones de rutinassí
Requisitos previos

Tres cosas antes de empezar

Nada de base de datos ni servicios externos. Solo Node, una carpeta de cerebro y un cliente MCP.

Node.js 20+

El servidor es ESM puro. Si usas Claude Code o Codex, ya lo tienes.

# comprueba la versión
node --version

Un cerebro del kit astra-2cerebro

Una carpeta con AGENTS.md/CLAUDE.md, contexto/, wiki/, decisoes/. Si aún no tienes una, instala el kit.

# el kit crea la estructura
git clone https://github.com/inematds/astra-2cerebro

Un cliente MCP

Claude Code, Codex, Claude Desktop — o n8n/bot en el modo HTTP.

# ejemplo: Claude Code instalado
claude mcp list
Guía de uso · paso a paso

Del clon a la primera pregunta: "¿cuáles son mis prioridades?"

Todos los comandos son reales y están en el repositorio. Cambia /home/voce/meu-cerebro por la carpeta de tu cerebro.

1

Clona e instala

Descarga el servidor, instala el SDK oficial y ejecuta las 42 pruebas contra el fixture incluido.

git clone https://github.com/inematds/cerebro-mcp.git
cd cerebro-mcp
npm install
npm test   # ℹ tests 42 · pass 42 · fail 0
2

Prueba con tu cerebro (sin ningún cliente)

El script inicia el binario real y se comunica en JSON-RPC por stdio: initialize, tools/list, tools/call.

node scripts/teste-stdio.mjs /home/voce/meu-cerebro
# OK  initialize → servidor cerebro-mcp 1.0.0 (protocolo 2025-06-18)
# OK  tools/list → 10 herramientas: cerebro_contexto, cerebro_prioridades, ...
# OK  tools/call cerebro_ler ../../etc/passwd → isError (Acceso denegado)
3

Regístralo en Claude Code

Una línea. Para permitir que el agente registre decisiones y fuentes, agrega --escrita al final.

claude mcp add cerebro -e CEREBRO_DIR=/home/voce/meu-cerebro -- node /home/voce/cerebro-mcp/bin/cerebro-mcp.mjs
# o, versionable en el proyecto: .mcp.json con {"mcpServers":{"cerebro":{"command":"node","args":[...],"env":{"CEREBRO_DIR":"..."}}}}
4

O en Codex / Claude Desktop

Codex lee ~/.codex/config.toml; Claude Desktop lee claude_desktop_config.json. El INSTALAR.md tiene los dos completos.

# ~/.codex/config.toml
[mcp_servers.cerebro]
command = "node"
args = ["/home/voce/cerebro-mcp/bin/cerebro-mcp.mjs"]
[mcp_servers.cerebro.env]
CEREBRO_DIR = "/home/voce/meu-cerebro"
5

Conversa

El agente decide por su cuenta cuándo llamar a cada herramienta. Empieza por lo que requiere contexto.

# tú: Quais são as minhas prioridades deste trimestre?
# agente → cerebro_prioridades() → responde citando contexto/prioridades.md
# tú: Por que decidimos fazer o site em gerador estático?
# agente → cerebro_buscar("sitio estático") → cerebro_ler("decisoes/registro.md")
6

Modo HTTP para n8n, bots y scripts

Se inicia en 127.0.0.1, sin sesión. Requiere el encabezado Accept: application/json, text/event-stream; tools/call funciona sin initialize antes.

CEREBRO_DIR=/home/voce/meu-cerebro node bin/cerebro-mcp.mjs --http 3333
curl -s http://127.0.0.1:3333/mcp -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"cerebro_prioridades","arguments":{}}}'
Ejemplos

Dos conversaciones que el servidor hace posibles

La misma carpeta, dos clientes diferentes. El agente llama a las herramientas; tú solo preguntas.

Tú (en Codex): ¿Qué pidió la Empresa X en la última reunión?

→ cerebro_wiki_pagina("empresa-x") → cerebro_ler("wiki/fontes/2026-09-01-reuniao-empresa-x.md")

Agente: Aprobó el alcance de la fase 2 con plazo para fines de octubre y quedó en definir quién valida los informes semanales (fuente: wiki/fontes/2026-09-01-reuniao-empresa-x.md).

Lectura: la wiki responde con la fuente citada.

Tú (en Claude Code, servidor con --escrita): Registra que aceptaremos la fase 2, con plazo en octubre, porque se aprobó la fase 1.

→ cerebro_registrar_decisao(titulo, decisao, porque)

Agente: Registrado en decisoes/registro.md con la fecha de hoy: "## 2026-09-07: Aceptar la fase 2 del Proyecto Alfa". ¿Quieres que anote las alternativas consideradas?

Escritura: entrada en el formato del kit, solo agrega.
Hoja de ruta

Qué está listo y qué sigue

La 1.0.0 cubre todo el ciclo del kit. Las próximas fases son de conveniencia, no de fundamentos.

v1.0 ✓
Servidor completo13 herramientas, recursos cerebro://, stdio y HTTP, bloqueo de rutas, 42 pruebas, pruebas rápidas por stdio y HTTP, documentación en PT-BR (README, INSTALAR, docs/).
siguiente
Prompts MCP listosExponer prompts como "resumen del día" y "revisar las decisiones del mes" que ya encadenan las herramientas adecuadas.
después
Índice opcional para cerebros grandesCaché de búsqueda reconstruida cuando cambia un archivo, manteniendo como predeterminado el comportamiento sin índice.
idea
Autenticación simple en el modo HTTPUn token mediante una variable de entorno para exponer el servidor en una red de confianza sin proxy.