MCP Knowledge Graph
Proporciona memoria persistente para modelos de IA mediante un grafo de conocimiento local.
Documentación
MCP Knowledge Graph
Memoria persistente para modelos de IA a través de un grafo de conocimiento local.
Almacena y recupera información entre conversaciones usando entidades, relaciones y observaciones. Funciona con Claude Code/Desktop y cualquier plataforma de IA compatible con MCP.
¿Por qué ".aim" y los prefijos "aim_"?
AIM significa AI Memory (Memoria de IA) - el concepto central de este sistema. Los tres elementos AIM proporcionan organización clara y seguridad:
.aimdirectorios: Mantienen los archivos de memoria de IA organizados y fácilmente identificablesaim_prefijos de herramientas: Agrupan funciones de memoria relacionadas en configuraciones con múltiples herramientas_aimmarcadores de seguridad: Cada archivo de memoria comienza con{"type":"_aim","source":"mcp-knowledge-graph"}para prevenir sobrescrituras accidentales de archivos JSONL no relacionados
Este nombre consistente AIM hace obvio qué directorios, herramientas y archivos pertenecen al sistema de memoria de IA.
CRÍTICO: Entender el directorio .aim vs el marcador de archivo _aim
Dos cosas diferentes con nombres similares:
.aim= Nombre de directorio local al proyecto (DEBE llamarse exactamente.aimpara que la detección de proyecto funcione)_aim= Marcador de seguridad de archivo (aparece dentro de archivos JSONL:{"type":"_aim","source":"mcp-knowledge-graph"})
Para almacenamiento local al proyecto:
- El directorio DEBE llamarse
.aimen la raíz de tu proyecto - Ejemplo:
my-project/.aim/memory.jsonl - El sistema busca específicamente este nombre exacto
Para almacenamiento global (--memory-path):
- Puede ser CUALQUIER directorio que desees
- Ejemplos:
~/yourusername/.aim/,~/memories/,~/Dropbox/ai-memory/,~/Documents/ai-data/ - Flexibilidad completa - elige la ubicación que funcione para ti
Lógica de Almacenamiento
Prioridad de Ubicación de Archivos:
- Proyecto con
.aim- Usa.aim/memory.jsonl(local al proyecto) - Sin proyecto/sin .aim - Usa el directorio global configurado
- Contextos - Añade sufijo:
memory-work.jsonl,memory-personal.jsonl
Sistema de Seguridad:
- Cada archivo de memoria comienza con
{"type":"_aim","source":"mcp-knowledge-graph"} - El sistema se niega a escribir en archivos sin este marcador
- Previene la sobrescritura accidental de archivos JSONL no relacionados
Concepto de Base de Datos Maestra
La base de datos maestra es tu almacén de memoria principal - se usa por defecto cuando no se solicita una base de datos específica. Siempre se llama default en los listados y se almacena como memory.jsonl.
- Comportamiento Predeterminado: Todas las operaciones de memoria usan la base de datos maestra a menos que especifiques una diferente
- Siempre Disponible: Existe tanto en ubicaciones locales al proyecto como globales
- Almacenamiento Primario: Tu grafo de conocimiento principal que persiste en todas las conversaciones
- Bases de Datos Nombradas: Bases de datos adicionales opcionales (
work,personal,health) para organizar temas específicos
Características Clave
- Base de Datos Maestra: Almacén de memoria principal usado por defecto para todas las operaciones
- Múltiples Bases de Datos: Bases de datos nombradas opcionales para organizar memorias por tema
- Detección de Proyecto: Memoria automática local al proyecto usando directorios
.aim - Anulación de Ubicación: Fuerza operaciones para usar almacenamiento de proyecto o global
- Operaciones Seguras: Protección integrada contra sobrescritura de archivos no relacionados
- Descubrimiento de Bases de Datos: Lista todas las bases de datos disponibles en ambas ubicaciones
Inicio Rápido
Memoria Global (Recomendado)
Añade a tu claude_desktop_config.json o .claude.json. Dos enfoques comunes:
Opción 1: Directorio .aim predeterminado (simple)
{
"mcpServers": {
"Aim-Memory-Bank": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/yourusername/.aim"
]
}
}
}
Opción 2: Sincronización Dropbox/nube (portátil)
Para acceder a memorias desde múltiples máquinas, usa una carpeta sincronizada. Así es como el autor de este servidor MCP mantiene sus propias memorias:
{
"mcpServers": {
"Aim-Memory-Bank": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/yourusername/Dropbox/ai-memory"
]
}
}
}
Esto crea archivos de memoria en tu directorio especificado:
memory.jsonl- Base de Datos Maestra (predeterminada para todas las operaciones)memory-work.jsonl- Base de datos de trabajomemory-personal.jsonl- Base de datos personal- etc.
Memoria Local al Proyecto
En cualquier proyecto, crea un directorio .aim:
mkdir .aim
Ahora las herramientas de memoria usan automáticamente .aim/memory.jsonl (base de datos maestra local al proyecto) en lugar del almacenamiento global cuando se ejecutan desde este proyecto.
Cómo Usan las IA las Bases de Datos
Una vez configurado, los modelos de IA usan la base de datos maestra por defecto o pueden especificar bases de datos nombradas con un parámetro context. Las nuevas bases de datos se crean automáticamente - sin configuración necesaria:
// Master Database (default - no context needed)
aim_memory_store({
entities: [{
name: "John_Doe",
entityType: "person",
observations: ["Met at conference"]
}]
})
// Work database
aim_memory_store({
context: "work",
entities: [{
name: "Q4_Project",
entityType: "project",
observations: ["Due December 2024"]
}]
})
// Personal database
aim_memory_store({
context: "personal",
entities: [{
name: "Mom",
entityType: "person",
observations: ["Birthday March 15th"]
}]
})
// Master database in specific location
aim_memory_store({
location: "global",
entities: [{
name: "Important_Info",
entityType: "reference",
observations: ["Stored in global master database"]
}]
})
Organización de Archivos
Configuración Global:
/Users/yourusername/.aim/
├── memory.jsonl # Master Database (default)
├── memory-work.jsonl # Work database
├── memory-personal.jsonl # Personal database
└── memory-health.jsonl # Health database
Configuración de Proyecto:
my-project/
├── .aim/
│ ├── memory.jsonl # Project Master Database (default)
│ └── memory-work.jsonl # Project Work database
└── src/
Herramientas Disponibles
aim_memory_store- Almacena nuevas memorias (personas, proyectos, conceptos)aim_memory_add_facts- Añade hechos a memorias existentesaim_memory_link- Enlaza dos memorias entre síaim_memory_search- Busca memorias por palabra claveaim_memory_get- Recupera memorias específicas por nombre exactoaim_memory_read_all- Lee todas las memorias en una base de datosaim_memory_list_stores- Lista las bases de datos disponiblesaim_memory_forget- Olvida memoriasaim_memory_remove_facts- Elimina hechos específicos de una memoriaaim_memory_unlink- Elimina enlaces entre memorias
Parámetros
context(opcional) - Especifica base de datos nombrada (work,personal, etc.). Por defecto usa la base de datos maestralocation(opcional) - Fuerza la ubicación de almacenamientoprojectoglobal. Por defecto usa auto-detección
Descubrimiento de Bases de Datos
Usa aim_memory_list_stores para ver todas las bases de datos disponibles:
{
"project_databases": [
"default", // Master Database (project-local)
"project-work" // Named database
],
"global_databases": [
"default", // Master Database (global)
"work",
"personal",
"health"
],
"current_location": "project (.aim directory detected)"
}
Puntos Clave:
- "default" = Base de Datos Maestra en ambas ubicaciones
- Ubicación actual muestra si estás usando almacenamiento de proyecto o global
- La base de datos maestra existe en todas partes - es tu almacén de memoria principal
- Bases de datos nombradas son adiciones opcionales para temas específicos
Ejemplos de Configuración
Importante: Siempre especifica --memory-path para controlar dónde se almacenan tus archivos de memoria.
Auto-aprobar operaciones de lectura (recomendado):
{
"mcpServers": {
"Aim-Memory-Bank": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/yourusername/.aim"
],
"autoapprove": [
"aim_memory_search",
"aim_memory_get",
"aim_memory_read_all",
"aim_memory_list_stores"
]
}
}
}
Solución de Problemas
Error "El archivo no contiene el marcador de seguridad _aim requerido":
- El archivo puede no pertenecer a este sistema
- Los archivos JSONL manuales necesitan
{"type":"_aim","source":"mcp-knowledge-graph"}como primera línea - Si creaste el archivo manualmente, añade el marcador
_aimo elimínalo y deja que el sistema lo recree
Memorias que van a ubicaciones inesperadas:
- Verifica si estás en un directorio de proyecto con carpeta
.aim(usa almacenamiento local al proyecto) - De lo contrario, usa el directorio global
--memory-pathconfigurado - Usa
aim_memory_list_storespara ver todas las bases de datos disponibles y la ubicación actual - Usa
ls .aim/ols /Users/yourusername/.aim/para ver tus archivos de memoria
Demasiadas bases de datos similares:
- Los modelos de IA intentan usar nombres consistentes, pero pueden crear variaciones
- Elimina manualmente los archivos de base de datos no deseados si es necesario
- Anima a la IA a usar nombres de base de datos simples y consistentes
- Recuerda: La base de datos maestra está siempre disponible como predeterminada - las bases de datos nombradas son opcionales
Requisitos
- Node.js 22+
- Plataforma de IA compatible con MCP
Licencia
MIT