bovedia
BovedIA is a persistent, Markdown-based memory server for Claude and other MCP clients, storing and managing notes as plain Markdown files on your local disk.
Read & Write Notes
Read, create, overwrite, or delete notes; delete warns if other notes link to it
Search full-text across titles, content, and tags (AND logic); list notes by category or tag
Get a full vault index (
get_index) to orient at session start
Targeted / Partial Editing
Find-and-replace a snippet, append, prepend, update a section by heading, or insert after a section
Lightweight Reads
Peek (frontmatter + first paragraph), read a single section, or read frontmatter only
Category / Folder Management
Create, delete, move, or rename categories; move a single note or bulk-move multiple notes at once (wikilinks auto-updated)
Wikilink & Tag Maintenance
List broken wikilinks, find backlinks, find orphans, globally rename wikilinks
List all hashtags with counts, audit/prune tags, migrate YAML tags to body, update frontmatter fields without touching the body
Vault Health & Maintenance
Validate individual notes, run a full vault health report, list recently updated notes, surface due/scheduled notes
Create, list, and restore snapshots (dry-run by default)
Authorship Tracking (optional, requires KB_ENABLE_ANNOTATIONS=1)
Track which author wrote which ranges of a note (
read_authorship); migrate existing notes to include authorship annotations
BovedIA
Memoria personal para Claude Code: tus notas en Markdown, tuyas y para siempre.
Qué es BovedIA
BovedIA (bóveda + IA) es un servidor MCP que le da a Claude Code —y a cualquier cliente MCP— memoria persistente. Tus notas viven en archivos Markdown planos, en tu disco, sincronizados en la nube si quieres. La IA puede leerlas, crearlas, buscarlas y organizarlas durante cualquier sesión de trabajo.
Pero BovedIA no es solo el motor. Es también una forma de organizar la memoria para que la IA llegue a cada conversación ligera y enfocada, en vez de arrastrar todo el contexto de golpe. Esa forma va incluida en el vault-example/ de este repositorio, lista para adaptar.
Related MCP server: stickyrice-mcp
La idea de fondo: no cargar todo de golpe
Casi todos los sistemas de memoria vuelcan todo el contexto en cada sesión. BovedIA parte de lo contrario: traer solo lo que el caso pide, en el momento en que lo pide. Cargar de más no es solo trabajo desperdiciado — condiciona y ensucia la respuesta.
Para lograrlo, la bóveda se recorre por niveles (la pirámide):
El router (
Inicio). La única nota que se lee siempre, al empezar cada conversación. No contiene el trabajo: contiene el criterio para decidir qué cargar y cuándo. Si la señal es clara, la IA actúa; si no, pregunta.Las portadas de rama. Cada gran área (proyectos, clientes, infraestructura…) tiene una portada que el router carga solo cuando el tema entra por ahí.
Las notas. El contenido real, al que se llega desde su portada o por búsqueda.
Y una capa aparte, el alma: la carpeta donde se vuelca lo que uno piensa y siente — el porqué de fondo, la mentalidad, la manera de mirar el trabajo. No es documentación: es lo que hace que la memoria deje de ser un archivador y empiece a ser continuidad.
Por qué así
Simple: un solo archivo de servidor (
index.js), una sola dependencia.Tuyo: las notas son archivos
.mden tu disco — sin bases de datos, sin APIs externas.Portátil: funciona con iCloud, OneDrive, Google Drive, Dropbox o cualquier carpeta local.
Transparente: abres y editas tus notas en cualquier editor de texto.
La estructura de la bóveda: para qué sirve cada carpeta
El vault-example/ trae una estructura de referencia lista para usar. No es una jaula: crea las categorías que tu trabajo pida. Pero enseña el método completo.
Carpeta / archivo | Para qué sirve |
| El router. Primera nota que se lee en cada sesión: decide qué cargar y cuándo. No carga a ciegas. |
| El mapa. Qué carpeta es qué y dónde va cada cosa. |
| Ejemplo de pendiente sin fecha, en la raíz, marcado con |
| Notas con fecha de activación ( |
| Cómo funciona todo: la pirámide (regla madre), las portadas de rama y los protocolos de sesión. |
| Filosofía y mentalidad; dónde se vuelca lo que uno piensa y siente. Fondo, no operativa. |
| Tus proyectos propios. |
| Una subcarpeta por cliente, con su perfil y contexto. |
| Saber de oficio reutilizable, incluidos los |
| Guías, técnicas y recursos que se consultan pero no cambian a menudo. |
Instalación
Opción rápida: npx
No necesitas clonar nada. Añade esto a la configuración MCP de tu cliente (Claude Code, Claude Desktop…) y copia el vault-example/ a tu carpeta como punto de partida:
{
"mcpServers": {
"bovedia": {
"command": "npx",
"args": ["-y", "bovedia"],
"env": { "KB_MEMORY_ROOT": "/ruta/absoluta/a/tu/boveda" }
}
}
}El resto de esta sección es la instalación manual (clonando el repo), útil si quieres modificar el código.
Requisitos
Node.js 18 o superior
Claude Code (
npm install -g @anthropic-ai/claude-code)Una carpeta sincronizada en la nube (iCloud, OneDrive, Google Drive, Dropbox) — o cualquier carpeta local
1. Clonar el repositorio
git clone https://github.com/jmpdsevilla/BovedIA.git
cd BovedIA/server
npm install2. Crear tu bóveda
Copia la bóveda de ejemplo a tu carpeta sincronizada y personaliza HOME.md e Inicio.md:
# Mac + iCloud
cp -r vault-example ~/Library/Mobile\ Documents/com~apple~CloudDocs/mi-boveda
# Windows + OneDrive (PowerShell)
xcopy /E /I vault-example "%USERPROFILE%\OneDrive\mi-boveda"
# Linux + Dropbox
cp -r vault-example ~/Dropbox/mi-boveda3. Configurar Claude Code
Apunta el servidor a tu bóveda con la variable KB_MEMORY_ROOT (acepta rutas con ~):
{
"mcpServers": {
"bovedia": {
"command": "node",
"args": ["/ruta/absoluta/a/BovedIA/server/index.js"],
"env": {
"KB_MEMORY_ROOT": "/ruta/absoluta/a/tu/mi-boveda"
}
}
}
}Si no defines KB_MEMORY_ROOT (ni su alias MEMORY_PATH), BovedIA usa ~/Documents/bovedia por defecto.
4. Verificar
Reinicia Claude Code y pide leer Inicio, o ejecutar get_index. Deberías ver tu bóveda.
Anotaciones de autoría (opcional)
BovedIA soporta opcionalmente Markdown Annotations, una spec abierta originalmente de iA Writer que registra qué autor escribió qué parte de cada nota. Cuando se activa, las notas escritas por la IA llevan al final un bloque que atribuye el cuerpo a &Claude; cuando un humano edita la nota en un editor compatible, sus rangos quedan marcados como @nombre, y la siguiente vez que BovedIA toque la nota preserva esa autoría en vez de sobrescribirla.
Está desactivado por defecto. Para activarlo, añade KB_ENABLE_ANNOTATIONS=1 al entorno del servidor:
{
"mcpServers": {
"bovedia": {
"command": "node",
"args": ["/ruta/absoluta/a/BovedIA/server/index.js"],
"env": {
"KB_MEMORY_ROOT": "/ruta/absoluta/a/tu/mi-boveda",
"KB_ENABLE_ANNOTATIONS": "1"
}
}
}
}Con la opción activa se desbloquean dos herramientas: read_authorship (resumen de quién escribió qué) y migrate_annotations (añade el bloque a todas las notas existentes; ejecútala con dry_run: true primero). La firma se puede personalizar con KB_AUTHOR_NAME y KB_AUTHOR_EMAIL.
Solo actívalo si usas un editor compatible con la spec: los que no la soportan mostrarán el bloque como texto plano al final del archivo.
Las herramientas
38 en total. Las 36 primeras funcionan siempre. Las 2 de autoría (read_authorship, migrate_annotations) solo se exponen si arrancas el servidor con KB_ENABLE_ANNOTATIONS=1.
El listado de herramientas viaja en cada sesión y ocupa contexto. Si tu cliente tiene poca ventana, arranca con KB_TOOLS=core y se expondrán solo las 15 de uso diario (la mitad de tokens). Por defecto se exponen todas.
Lectura y escritura base
Herramienta | Qué hace |
| Crear o actualizar una nota (upsert completo) |
| Leer una nota (busca en todas las categorías) |
| Buscar por texto libre (lógica AND, sin distinguir acentos) |
| Listar notas, filtradas por categoría o etiqueta |
| Mapa de categorías ( |
| Eliminar una nota (avisa de backlinks) |
| Crear una carpeta |
| Mover/renombrar una nota (actualiza wikilinks) |
| Eliminar una carpeta vacía |
Edición dirigida
Herramienta | Qué hace |
| Buscar/reemplazar dentro de una nota |
| Añadir contenido al final |
| Insertar contenido al principio |
| Reemplazar una sección por su encabezado |
| Insertar una sección nueva tras otra |
Mantenimiento de wikilinks y tags
Herramienta | Qué hace |
| Todos los wikilinks rotos de la bóveda |
| Backlinks de una nota (sin cargar su contenido) |
| Notas sin backlinks ni enlaces salientes |
| Sustituir |
| Todos los hashtags |
| Actualizar campos YAML sin tocar el cuerpo |
Lecturas baratas
Herramienta | Qué hace |
| Frontmatter + primer párrafo |
| Solo una sección |
| Índice de encabezados de una nota, sin su contenido |
| Solo el YAML |
Mantenimiento de la bóveda
Herramienta | Qué hace |
| Notas modificadas en los últimos N días |
| Renombrar una carpeta (actualiza el frontmatter de cada nota) |
| Revisar frontmatter, hashtags, "Ver también" y enlaces rotos |
| Mover varias notas a la misma categoría |
| Notas programadas que ya toca sacar hoy |
| Salud de las etiquetas (y corrección de las mal formadas) |
| Fusionar variantes y recortar las notas con etiquetas de más |
| Parte de salud de la bóveda en una sola llamada |
| Copia de seguridad completa, a demanda |
| Ver las copias disponibles |
| Volver a una copia anterior (simula por defecto) |
| Bajar al cuerpo las etiquetas que quedan en el frontmatter YAML |
Autoría (con KB_ENABLE_ANNOTATIONS=1)
Herramienta | Qué hace |
| Resumen de qué autor escribió qué rangos |
| Añadir el bloque de autoría a las notas existentes |
Referencia completa en docs/tools-reference.md.
Protocolo de uso
Añade esta instrucción a tu CLAUDE.md o a la configuración del asistente para sacarle todo el partido:
Al empezar cada sesión: leer Inicio (el router). Revisar la carpeta programado/
y avisar de lo que ya toca. No cargar nada más "por si acaso".
Guardar lo que merezca recordarse: credenciales, soluciones, decisiones, comandos.
Enlazar las notas con wikilinks [[slug]]. Cada nota termina con una sección
"Ver también" con 2-5 wikilinks.Wikilinks
Las notas se enlazan entre sí con el formato [[slug]]:
## Ver también
- [[proyecto-ejemplo]] — proyecto donde se usa esto
- [[cliente-ejemplo]] — cliente al que perteneceReglas:
Usa el slug del nombre de archivo (kebab-case, sin
.md).Sin rutas:
→[[referencias/x]][[x]].Sin alias:
→[[x|otro texto]][[x]].
Cuando una nota se renombra, sus wikilinks se actualizan automáticamente.
Guías de instalación detalladas
Autor
Creado por José Manuel Pérez, fundador de santa marta crea — agencia digital. Santa Marta, Colombia.
Web: santamartacrea.com
GitHub: @jmpdsevilla
Licencia
MIT — libre para usar, modificar y distribuir.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server that provides Claude and other MCP clients with persistent memory through a Zettelkasten knowledge base of interconnected markdown notes. It enables LLMs to create, search, link, and reference atomic notes across sessions without requiring manual copy-pasting.MIT
- Alicense-qualityDmaintenanceMCP server for Sticky Rice - interact with your notes from Claude.16MIT
- AlicenseAqualityBmaintenanceAn MCP server that stores notes as Markdown files on your machine, enabling you to save, search, and manage notes through natural language with Claude Code or Claude Desktop.5MIT
- Alicense-qualityAmaintenanceProvides a local-first, file-based memory layer for Claude Code that syncs across machines via git over private networks, with MCP tools for search, write, and sync of human-readable markdown notes.Apache 2.0
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmpdsevilla/BovedIA'
If you have feedback or need assistance with the MCP directory API, please join our Discord server