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.
Related MCP server: Graphiti FastMCP Server
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.
This server cannot be deployed
Maintenance
Related MCP Connectors
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenancePortable MCP memory server giving AI agents persistent, verified, cross-session memory. 30 tools, SQLite + cloud sync, Chrome Extension for every AI chat platform. The only JavaScript MCP memory server. Includes behavioral learning engine, semantic search, knowledge scoping, session quality scoring, and web dashboard.-
- AlicenseNot gradedqualityDmaintenanceA temporally-aware knowledge graph MCP server for AI agents, enabling episodic ingestion, entity management, and semantic search with support for multiple LLM and embedding providers.Apache 2.0
- AlicenseNot gradedqualityBmaintenancePersistent memory MCP server for AI agents, featuring a visual interface to browse, search, edit, and delete memory. It provides tools for capturing episodes, recalling, consolidating, crystallizing traits, and forgetting, with local SQLite storage and optional authenticated web UI.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that enables persistent, hybrid, local memory for LLM agents, with vector + BM25 search, knowledge graph, and policy-driven retention, providing token-budgeted context injection for AI assistants.MIT