jamjet-labs/engram-mcp-server
Memoria duradera para agentes de IA: grafo de conocimiento temporal, recuperación híbrida, SQLite o PostgreSQL.
java-ai-memory.dev · Código fuente · Documentación de JamJet · Discord
Engram es una capa de memoria duradera para agentes de IA. Extrae hechos de las conversaciones, los almacena en un grafo de conocimiento temporal y los recupera mediante una búsqueda híbrida semántica y por palabras clave, respaldada por un único archivo SQLite o una base de datos PostgreSQL.
Este repositorio aloja el registro de Glama. El código fuente reside en el repositorio principal de JamJet.
Inicio rápido: 30 segundos
# Docker — uses local Ollama by default
docker run --rm -i \
-v engram-data:/data \
ghcr.io/jamjet-labs/engram-server:0.5.0O instálelo desde crates.io:
cargo install jamjet-engram-server
engram serveConfiguración de Claude Desktop
Añada esto a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"engram": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "engram-data:/data",
"ghcr.io/jamjet-labs/engram-server:0.5.0"
]
}
}
}Tras reiniciar, el modelo tendrá disponibles 11 herramientas MCP.
Herramientas MCP (11)
Herramientas de memoria (7)
Herramienta | Descripción |
| Extrae y almacena hechos de los mensajes de conversación utilizando la extracción de hechos basada en LLM. Efectos secundarios: llama al LLM configurado para analizar los hechos y luego los escribe en el grafo de conocimiento. Devuelve los IDs de los hechos extraídos. Requiere el array |
| Búsqueda semántica sobre hechos almacenados utilizando similitud vectorial. Solo lectura, sin efectos secundarios. Devuelve hechos clasificados que coinciden con la consulta, limitados por |
| Ensambla un bloque de contexto con presupuesto de tokens para prompts de LLM con selección de hechos basada en niveles. Solo lectura. Devuelve una cadena formateada con los hechos más relevantes, limitada al presupuesto de tokens especificado. Úselo en lugar de memory_recall cuando necesite un fragmento de prompt listo para usar. |
| Búsqueda por palabras clave sobre hechos utilizando búsqueda de texto completo (SQLite FTS5 / Postgres). Solo lectura, sin efectos secundarios. Devuelve hechos que coinciden con palabras clave exactas. Úselo cuando necesite una coincidencia de términos precisa en lugar de la similitud semántica de memory_recall. |
| Eliminación lógica de un hecho por ID con un motivo opcional. Efecto secundario: marca el hecho como eliminado en el grafo de conocimiento (no lo elimina físicamente). Irreversible mediante esta herramienta. Úselo cuando un usuario solicite eliminar información específica. |
| Obtiene estadísticas agregadas: total de hechos, hechos válidos (no eliminados), recuento de entidades y recuento de relaciones. Solo lectura, sin efectos secundarios. Úselo para comprender el tamaño y el estado del almacén de memoria. |
| Ejecuta un ciclo de mantenimiento sobre el grafo de conocimiento: degrada hechos obsoletos, promueve los de alta confianza, elimina duplicados cercanos y resume clústeres. Efectos secundarios: modifica las puntuaciones de los hechos y puede fusionar o archivar hechos. Ejecútelo periódicamente para mantener la memoria precisa. |
Herramientas de almacenamiento de mensajes (4)
Herramienta | Descripción |
| Guarda mensajes de chat para una conversación por ID. Efectos secundarios: escribe mensajes en el almacén y, opcionalmente, activa la extracción de hechos (controlada por |
| Recupera todos los mensajes de una conversación por ID. Solo lectura, sin efectos secundarios. Devuelve el array de mensajes ordenado. Úselo para reproducir o inspeccionar una conversación pasada. |
| Lista todos los IDs de conversación en el almacén de mensajes. Solo lectura, sin efectos secundarios. Devuelve un array de cadenas de ID de conversación. Úselo para descubrir qué conversaciones están almacenadas antes de recuperarlas con messages_get. |
| Elimina todos los mensajes de una conversación por ID. Efecto secundario: elimina permanentemente los mensajes de la conversación del almacén. Irreversible. No afecta a los hechos extraídos; use memory_forget para eso. |
Todas las herramientas de memoria están limitadas por (org_id, user_id, session_id): org es el nivel más general, session el más específico.
Proveedores de LLM
Agnóstico al proveedor. Un binario, configure ENGRAM_LLM_PROVIDER=... y listo:
Proveedor | Valor de entorno | Notas |
Ollama |
| Local, gratuito, sin claves API |
Compatible con OpenAI |
| OpenAI, Azure, Groq, Together, Mistral, DeepSeek, vLLM, LM Studio, ... |
Anthropic |
| Claude mediante Messages API |
| Gemini mediante generateContent | |
Comando de shell |
| Redirigir a cualquier script externo |
Mock |
| Determinista, solo para pruebas |
# Example: use Groq instead of Ollama
docker run --rm -i \
-e ENGRAM_LLM_PROVIDER=openai-compatible \
-e ENGRAM_OPENAI_BASE_URL=https://api.groq.com/openai/v1 \
-e OPENAI_API_KEY=gsk_... \
-v engram-data:/data \
ghcr.io/jamjet-labs/engram-server:0.5.0¿Por qué Engram?
Problema | Respuesta de Engram |
Cada biblioteca de memoria de agentes es primero para Python | Núcleo en Rust con clientes nativos para Python, Java y MCP |
Necesita Postgres + Qdrant + Neo4j solo para probar | Un solo archivo SQLite (cero infraestructura) o Postgres cuando lo necesite |
El historial de conversación no es memoria de conocimiento | Pipeline de extracción de hechos: hechos estructurados a partir de mensajes |
Los hechos antiguos se desvían y contradicen | Detección de conflictos + consolidación: degradar, promover, eliminar duplicados, resumir |
La recuperación de memoria es semántica O por palabras clave | Recuperación híbrida: búsqueda vectorial + FTS5 en una sola consulta |
El soporte MCP es una ocurrencia tardía | Nativo de MCP: 11 herramientas expuestas por un solo binario |
No se puede aislar la memoria por usuario o inquilino | Ámbitos de primera clase: org / usuario / sesión integrados en cada consulta |
SDKs de cliente
Lenguaje | Paquete | Instalación |
Python |
|
|
Java |
| Maven Central |
Spring Boot |
| Maven Central |
Rust |
|
|
Relacionado
JamJet: el runtime nativo para agentes completo (proyecto principal)
java-ai-memory.dev: comparación con Mem0, Zep, LangChain4j, Spring AI y otros
Licencia
Apache 2.0: consulte LICENSE.
Latest Blog Posts
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/jamjet-labs/engram-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server