brain
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_vaultA | Lista archivos .md del vault (path + description del frontmatter). prefix opcional, ej. 'projects'. |
| read_fileA | Devuelve el contenido completo de un archivo del vault (path relativo, ej. 'BRAIN.md'). |
| write_fileA | Crea o REEMPLAZA ENTERO un archivo del vault. Queda en el historial (file_history). No puede tocar BRAIN.md, FORMAT.md ni FACT-CHECK.md (los edita el usuario). Antes de crear una nota, leé FORMAT.md. |
| append_fileB | Agrega contenido al final de un archivo del vault (lo crea si no existe). Queda en el historial. |
| str_replace_fileC | Reemplazo puntual: 'old' debe aparecer exactamente una vez en el archivo. Queda en el historial. |
| set_frontmatterA | Cambia campos del frontmatter (description, tags, related, name…) sin tocar el contenido. Ej: set_frontmatter("projects/brain.md", {"description": "App de memoria local"}). null borra el campo. Preferila a reescribir el archivo cuando solo cambia un metadato. |
| delete_fileB | Borra un archivo del vault. Recuperable con file_history + restore_file. |
| move_fileA | Mueve o renombra una nota del vault (ej. move_file("idea.md", "projects/idea.md")). Recuperable con file_history + restore_file. No mueve BRAIN.md, FORMAT.md, FACT-CHECK.md, profile.md, memory/ ni knowledge/sources/ (los maneja brain), ni carpetas. Si otras notas la linkean por path, actualizá esos links. |
| vault_overviewA | Panorama del vault para ordenarlo: carpetas, notas sueltas, sin conexiones o sin descripción, tags repetidos o con variantes y nombres parecidos. No cambia nada. |
| file_historyA | Versiones de un archivo del vault, la más nueva primero (id, fecha, operación). El id sirve para restore_file. |
| restore_fileA | Vuelve un archivo a como quedó en la versión version_id (ver file_history). La restauración también queda en el historial, así que se puede deshacer. |
| add_memoryA | Guarda un hecho duradero sobre el usuario en memory/.md (sin duplicar), con la
fecha en que se guardó. Ej: add_memory("Prefiere respuestas cortas", "Preferencias").
Si este hecho reemplaza a uno anterior (cambió de dirección, de trabajo, etc.), pasá el texto
del hecho viejo en |
| memory_historyC | Hechos superados de una categoría de memoria (los que se reemplazaron con add_memory(..., supersede=...)), con la fecha en que dejaron de valer y qué los reemplazó. |
| list_connectionsA | Conexiones configuradas (otros servers MCP que brain re-expone): nombre, si están activas y sus tools. |
| propose_connectionA | Propone agregar un server MCP a las Conexiones de brain. NO lo agrega: el usuario lo aprueba con un click (en el chat o en Conexiones) viendo el comando o la URL. - Server remoto: url="https://…/mcp" (si pide login, el usuario inicia sesión al aprobar). - Server local: command + args, ej. command="npx", args=["-y", "@modelcontextprotocol/server-github"] o command="uvx", args=["mcp-server-fetch"]. env/headers: claves que pide (ej. {"GITHUB_TOKEN": "…"}). note: una línea que explique qué hace. Si falta un dato (una API key), pediselo al usuario antes. |
| propose_graph_changeA | Propone cambiar conexiones del grafo (el |
| web_searchA | Busca en internet con el buscador incorporado de brain (el de Fact check: DuckDuckGo, tu SearXNG propio, Brave o una tool de tus Conexiones, según Ajustes → Fact check). Devuelve título, url, fragmento, fecha y tipo de fuente de cada resultado, sin leer las páginas ni guardar nada: para leer una, read_url; para guardarla, save_url; para comprobar un dato, fact_check. freshness: any, day, month o year. Respeta el interruptor de internet y los dominios bloqueados de Fact check. |
| lumina_searchA | Busca en la base de Lumina (la app de notas de reuniones y archivos del usuario, en su compu): sus reuniones (transcripciones y resúmenes), archivos y notas. Devuelve fragmentos con título, fecha, tipo y puntaje. scope: all, documents, meetings o notes. Solo lee. Requiere que Lumina esté corriendo (127.0.0.1:47770); si no, devuelve un error claro. Para responder con ellos, citá el título y la fecha. |
| openblocks_searchB | Busca en las páginas de OpenBlocks (la app de notas local del usuario, con su vault de Markdown): devuelve
las páginas que coinciden con su título, ruta y un fragmento. Solo lee (abre |
| fact_checkA | Verifica afirmaciones con un proceso visible: las separa, busca primero en brain y, si lo guardado no alcanza (y el usuario lo permite en Fact check), busca en internet con consultas a favor y en contra, lee cada página, agrupa las fuentes que no son independientes y da un veredicto por reglas (respaldada, probablemente respaldada, mixta, no concluyente, probablemente falsa, falsa, no verificable) con citas, fechas y limitaciones. No guarda nada en el vault. Tarda: usala cuando el usuario pida verificar algo o cuando haga falta comprobar un dato que no está en brain. Usa las preferencias de Fact check del usuario (nivel, actualidad, fuentes, buscador…). search_web=False: solo brain. Las reglas completas (cuándo salir a internet, qué fuentes cuentan, cómo citar y responder) están en FACT-CHECK.md. |
| inspect_graph_regionA | Solo lee: para cada nota pedida (nombre o ruta, hasta 10), sus vecinos en el grafo y por qué están unidos (link en el texto, related, tag, entidad…), además de su related y tags. Sirve para entender una zona del grafo antes de proponer un cambio con propose_graph_change. |
| read_urlA | Lee una página web y devuelve su texto, SIN guardarla en el vault (para guardarla, save_url). Sirve para leer la documentación de un server MCP antes de proponerlo. |
| refresh_connectorsA | Vuelve a descubrir las tools de todas las conexiones activas (después de conectar una app nueva). |
| list_skillsA | Lista los skills disponibles (skills/*.md) con su description, para decidir cuál aplica. |
| get_skillA | Devuelve el contenido de un skill por nombre (ej. 'mi-skill' o 'mi-skill.md'). |
| save_urlA | Scrapea una URL, la chunkea, la indexa en Chroma y crea/actualiza su .md en knowledge/sources/. Si la URL ya estaba guardada, la actualiza (no duplica). Si el fetch normal no saca texto útil (sitio con mucho JS), renderiza solo con Playwright; render_js=True fuerza ese camino directo. |
| search_knowledgeB | Búsqueda híbrida en las fuentes scrapeadas y lo capturado de conexiones: semántica (sentido) + por palabra exacta (nombres propios, IDs, fechas, números). Devuelve chunks con url, source_md_path, score (similitud semántica, None si solo matcheó por palabra) y match. |
| reindex_keyword_searchA | Reconstruye el índice de búsqueda por palabra desde los .md de knowledge/ (sources, connections, composio). Sirve para fuentes guardadas antes de que existiera la búsqueda híbrida; no re-scrapea ni vuelve a calcular embeddings. |
| list_sourcesA | Lista todas las fuentes scrapeadas (url, cuándo se bajó el contenido actual, cuándo se revisó por última vez, el error de la última actualización si falló, path del .md, título y, si es larga, un resumen corto en 'abstract' para decidir si leerla entera con read_file). |
| refresh_sourcesA | Vuelve a bajar una fuente guardada (path de knowledge/sources/…) o todas si no pasás path. Si la página cambió, actualiza el .md y los índices; si falla, conserva la última copia buena y anota el error. Puede tardar si son muchas. |
| distill_skillA | Junta todo lo que brain tiene sobre |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 31 tools
Despite many search-ish tools (web_search, search_knowledge, openblocks_search, lumina_search, fact_check, read_url), each targets a clearly distinct source or action and descriptions explicitly cross-reference when to use which (read_url vs save_url, fact_check vs web_search). A few pairs like read_url/save_url and search_knowledge/openblocks_search could still be misread at a glance, keeping it just below perfect clarity.
Names are uniformly snake_case and mostly verb_noun (save_url, read_file, list_sources, add_memory, refresh_sources). Minor deviations exist in noun-first or ambiguous forms like web_search, fact_check, memory_history, and vault_overview, but the convention remains predictable overall.
31 tools is on the heavy side (25+), with several near-clustered search/URL/file variants. The app genuinely spans vault, knowledge, memory, skills, graph, and connections, so most tools earn their place, but the surface is borderline unwieldy for a single server.
File lifecycle (read/write/append/str_replace/set_frontmatter/move/delete/history/restore) and memory (add_memory/memory_history with supersede) are well covered, plus search, sources, skills, and graph. Minor gaps remain: no explicit remove/disconnect connection tool (only list/refresh/propose) and no memory deletion, but these are workable.