jamjet-labs/engram-mcp-server
面向 AI 智能体的持久化内存 —— 时序知识图谱、混合检索、支持 SQLite 或 PostgreSQL。
java-ai-memory.dev · 源代码 · JamJet 文档 · Discord
Engram 是一个面向 AI 智能体的持久化内存层。它从对话中提取事实,将其存储在时序知识图谱中,并通过混合语义+关键词搜索进行检索 —— 支持单个 SQLite 文件或 PostgreSQL 数据库。
此仓库托管 Glama 注册表列表。源代码位于 JamJet 主仓库。
快速入门 —— 30 秒
# Docker — uses local Ollama by default
docker run --rm -i \
-v engram-data:/data \
ghcr.io/jamjet-labs/engram-server:0.5.0或者从 crates.io 安装:
cargo install jamjet-engram-server
engram serveClaude Desktop 配置
添加到 ~/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"
]
}
}
}重启后,模型即可使用 11 个 MCP 工具。
Related MCP server: mnemo
MCP 工具 (11)
内存工具 (7)
工具 | 描述 |
| 使用 LLM 驱动的事实提取功能从对话消息中提取并存储事实。副作用:调用配置的 LLM 来解析事实,然后将其写入知识图谱。返回提取的事实 ID。需要 |
| 使用向量相似度对存储的事实进行语义搜索。只读,无副作用。返回匹配查询的排名事实,作用域限定为 |
| 为 LLM 提示词组装一个带有 Token 预算的上下文块,并进行分层事实选择。只读。返回格式化的最相关事实字符串,并限制在指定的 Token 预算内。当你需要现成的提示词片段时,请使用此工具代替 memory_recall。 |
| 使用全文搜索(SQLite FTS5 / Postgres)对事实进行关键词搜索。只读,无副作用。返回匹配精确关键词的事实。当你需要精确术语匹配而非 memory_recall 提供的语义相似度时,请使用此工具。 |
| 通过 ID 软删除事实,并可选择提供原因。副作用:在知识图谱中将事实标记为已删除(不会物理移除)。此工具的操作不可逆。当用户要求删除特定信息时使用。 |
| 获取聚合统计信息:总事实数、有效(未删除)事实数、实体数量和关系数量。只读,无副作用。使用此工具了解内存存储的大小和健康状况。 |
| 对知识图谱运行维护周期 —— 衰减陈旧事实、提升高置信度事实、去重近乎重复的内容并汇总集群。副作用:修改事实评分,并可能合并或归档事实。定期运行以保持内存准确性。 |
消息存储工具 (4)
工具 | 描述 |
| 按 ID 保存对话的聊天消息。副作用:将消息写入存储,并可选择触发事实提取(由 |
| 按 ID 检索对话的所有消息。只读,无副作用。返回有序的消息数组。使用此工具重放或检查过去的对话。 |
| 列出消息存储中的所有对话 ID。只读,无副作用。返回对话 ID 字符串数组。在通过 messages_get 检索之前,使用此工具发现已存储的对话。 |
| 按 ID 删除对话的所有消息。副作用:从存储中永久移除对话消息。不可逆。不会影响已提取的事实 —— 请使用 memory_forget 来处理事实。 |
所有内存工具的作用域均为 (org_id, user_id, session_id) —— org 为最粗粒度,session 为最细粒度。
LLM 提供商
与提供商无关。 单个二进制文件,设置 ENGRAM_LLM_PROVIDER=... 即可使用:
提供商 | 环境变量值 | 备注 |
Ollama |
| 本地、免费、无需 API 密钥 |
OpenAI 兼容 |
| OpenAI, Azure, Groq, Together, Mistral, DeepSeek, vLLM, LM Studio 等 |
Anthropic |
| 通过 Messages API 使用 Claude |
| 通过 generateContent 使用 Gemini | |
Shell 命令 |
| 管道传输至任何外部脚本 |
模拟 |
| 确定性,仅用于测试 |
# 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为什么选择 Engram?
问题 | Engram 的解决方案 |
每个智能体内存库都是 Python 优先 | Rust 核心,提供原生 Python、Java 和 MCP 客户端 |
尝试时需要 Postgres + Qdrant + Neo4j | 单个 SQLite 文件(零基础设施)或按需使用 Postgres |
对话历史不是知识内存 | 事实提取流水线 —— 从消息中提取结构化事实 |
旧事实会漂移并产生冲突 | 冲突检测 + 整合 —— 衰减、提升、去重、汇总 |
内存检索要么是语义的,要么是关键词的 | 混合检索 —— 单次查询中结合向量搜索 + FTS5 |
MCP 支持是事后添加的 | MCP 原生 —— 单个二进制文件暴露 11 个工具 |
无法按用户或租户隔离内存 | 一流的作用域 —— 每个查询内置 org / user / session |
客户端 SDK
语言 | 包 | 安装 |
Python |
|
|
Java |
| Maven Central |
Spring Boot |
| Maven Central |
Rust |
|
|
相关项目
JamJet —— 完整的智能体原生运行时(父项目)
java-ai-memory.dev —— 与 Mem0、Zep、LangChain4j、Spring AI 等的对比
许可证
Apache 2.0 —— 参见 LICENSE。
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Hosted memory for AI agents over MCP. One memory shared by all your agents.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Related MCP Servers
- 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 gradedqualityDmaintenancePersistent 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 gradedqualityAmaintenanceSelf-hosted, local-first knowledge graph and memory server for AI agents. Enables agents to persist, recall, and organize knowledge through MCP with automatic distillation, deduplication, and cross-linking.MIT
- AlicenseBqualityBmaintenanceLocal long-term memory service for AI agents via MCP, using SQLite with tools for memory CRUD, semantic search, time-based facts, and graph capabilities.2711 npm1MIT