
Engram Server
io.github.jamjet-labs由 GitHub 账号 jamjet-labs 发布v0.5.0更新于 Oct 24, 2026
Durable memory for AI agents: fact extraction, hybrid retrieval, temporal graph. SQLite/Postgres.
发布方自己的服务:Engram
概览
一个本地持久记忆服务器,从对话中提取事实存入时序知识图谱,并用语义与关键词混合检索进行召回。
- 可以做什么
- Engram 将智能体记忆存储在 SQLite 或 PostgreSQL 中。它从聊天消息中提取结构化事实,保存在带时间戳的知识图谱里,并支持冲突检测与整合,再通过向量加关键词的混合检索取回。它提供七个记忆工具(添加、召回、上下文、搜索、遗忘、统计、整合)和四个消息存储工具(保存、获取、列出、删除),全部按组织、用户和会话划分作用域。
- 适用场景
- 当助手需要跨进程、跨会话保留记忆时适用,也适合希望自托管事实提取与召回、又不想运行 Python、Postgres、Qdrant 或 Neo4j 的场景。它适合单用户或单租户的试用型记忆层;项目自身说明,若需要生产级规模,托管方案更成熟。
- 运行要求
- 以 stdio 在本地运行,通常使用已发布的容器镜像或 cargo 安装的二进制文件。需要 LLM 后端:默认 Ollama(需预先拉取 llama3.2 与 nomic-embed-text),或为 Anthropic、Google、OpenAI 兼容端点提供 API 密钥。存储默认是 SQLite 文件,也可用 PostgreSQL 连接 URL。未声明身份验证。
安装
在 SourceWeft 中
- 打开 控制台中的 Engram Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
⚡ Engram
Durable memory for AI agents — temporal knowledge graph, hybrid retrieval, SQLite or PostgreSQL.
[crates.io (lib)] [crates.io (server)] [Docker] [MCP Registry] [License]
Engram is a durable memory layer for AI agents. It extracts facts from conversations, stores them in a temporal knowledge graph, and retrieves them with hybrid semantic + keyword search — backed by a single SQLite file or a PostgreSQL database.
It ships in two shapes:
jamjet-engram— a Rust library you embed in your own application.jamjet-engram-server(this crate) — a standalone binary that speaks MCP over stdio and REST over HTTP, so Claude Desktop, Cursor, and any HTTP client can use it with no code.
Engram is provider-agnostic. Five LLM backends are wired in out of the box, and a sixth — command — lets you shell out to any external script, so you can plug in a provider Engram does not ship natively without touching Rust code:
Pick one with ENGRAM_LLM_PROVIDER=… — the same binary handles all of them.
State of the project, April 2026. Engram is new — v0.3.2, small community, no public LongMemEval / DMR numbers yet. The architecture below works, the tests pass, the Docker image runs. If you need production-scale memory today, Mem0 Cloud and Zep Cloud are more mature. If you need a tryable, self-hostable, single-binary memory layer that doesn't require Python, Postgres, Qdrant, or Neo4j, Engram is built for you.
Why Engram?
Quickstart — 30 seconds
Engram speaks to four LLM providers out of the box: Ollama (default — free, local), OpenAI, Anthropic Claude, and Google Gemini. Pick one.
Option A — Ollama (free, local, zero API keys)
Requirements: Ollama with llama3.2 and nomic-embed-text pulled:
Docker (easiest):
The container defaults to Ollama at host.docker.internal:11434 — works out of the box on Docker Desktop for Mac and Windows. Linux users need --add-host=host.docker.internal:host-gateway.
Option B — Anthropic Claude (hosted, highest quality)
Defaults to claude-haiku-4-5-20251001. Override with -e ENGRAM_ANTHROPIC_MODEL=claude-sonnet-4-6.
Note: Anthropic has no native JSON mode, so Engram parses JSON from text responses. The
llm_util::extract_json_payloadhelper strips markdown fences that Claude occasionally emits.
Option C — Google Gemini
Defaults to gemini-flash-latest. Override with -e ENGRAM_GOOGLE_MODEL=gemini-2.5-flash.
Option D — Any OpenAI-compatible endpoint
Defaults to OpenAI itself (https://api.openai.com/v1, gpt-4o-mini). Change one env var to point at any of these providers without recompiling:
openai is accepted as a backwards-compatible alias for openai-compatible.
Option E — command (shell out to anything)
For providers Engram does not ship natively — an internal model behind a custom RPC, a raw SOAP endpoint, a local inference binary, a quick wrapper over a Python SDK, or tomorrow's new provider — use the command backend. Engram will spawn your script per extraction call, pipe a JSON request to its stdin, and read a JSON response from its stdout.
The contract. Your script reads one JSON object from stdin:
Then writes one JSON value to stdout. Either a bare value:
Or an envelope (useful for surfacing errors):
Exit 0 on success, non-zero (with stderr) on failure.
Example Python wrapper (~15 lines):
Point Engram at it:
Timeout is 120 seconds by default — override with ENGRAM_LLM_COMMAND_TIMEOUT=30.
Security: the
commandprovider runs arbitrary commands as the Engram process user. Never use it in a multi-tenant deployment where untrusted users can setENGRAM_LLM_COMMAND. It is a local and single-tenant feature.
Option F — cargo install (all providers same binary)
Option G — REST mode for testing
No server. No config. No Python sidecar. One binary.
MCP client configuration
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
Cursor / any MCP-aware IDE
Point it at the same docker run command, or at a locally-installed engram serve binary. After restart, eleven tools are available to the model (seven memory_* + four messages_*).
MCP tools
Memory tools (7)
All scoped by (org_id, user_id, session_id) — org is the coarsest, session the finest.
Message store tools (4)
REST API
Thirteen endpoints, rooted at /v1/memory. Full OpenAPI-style surface:
Configuration
All settings flow through CLI flags or environment variables. Env vars are the recommended way to configure the Docker image.
Core
Ollama
OpenAI-compatible (OpenAI, Groq, Together, Mistral, DeepSeek, Azure, vLLM, …)
Anthropic
Google Gemini
Command (shell-out)
The
mockbackend returns empty facts and deterministic byte-cycled vectors. It exists for tests and CI. The server prints a clear warning on startup if it detects mock mode in use. API keys and command contents are never echoed to stdout or logs — the server only describesprovider model at base_urlorcommand \<first 60 chars>``.
Database Backend
Engram supports SQLite (default) and PostgreSQL backends. The backend is selected by the --db URL:
When using PostgreSQL, tables are created automatically on first startup.
Chat Message Store
Engram can store raw chat messages alongside extracted facts. This enables Spring AI ChatMemoryRepository integration.
REST Endpoints:
MCP Tools: messages_save, messages_get, messages_list, messages_delete
Fact extraction on message save is controlled by --extract-on-save (default: true).
Embedding the library
If you don't want a separate process, depend on jamjet-engram directly:
Other languages
Engram is part of the JamJet ecosystem. These clients speak to engram-server over REST:
See java-ai-memory.dev for how Engram compares to LangChain4j ChatMemory, Spring AI ChatMemory, Koog, Embabel, Google ADK Memory Bank, the Mem0 community wrapper, and Zep — with honest notes on where Engram fits and where the alternatives are more mature.
Architecture
What Engram is not
- Not just a chat-history store. Engram now includes a message store (see Chat Message Store), but its primary value is the fact extraction and knowledge graph layer on top. If all you need is the last N messages of a conversation, a framework's built-in window may be simpler.
- Not a state checkpointer. If you need to snapshot agent execution state for resume and replay, that's what LangGraph, Koog persistence, or JamJet's own durable runtime does. Pair them with Engram — they solve different problems.
- Not a managed service. No hosted plane, no auth layer beyond scopes, no SLA. Bring your own process manager.
- Not benchmarked yet. LongMemEval and DMR numbers are on the roadmap. Until they exist, treat comparative claims with the skepticism they deserve.
Roadmap
License
Apache 2.0 — see LICENSE.
来源:runtime/engram-server/README.md,提交 59a6bcf
工具
0版本历史
1- v0.5.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Engram 集成

Engram
tools.engram官方发布者
Engram 为 AI 助手提供跨工具、会话、代码仓库和团队成员共享的持久记忆层。

Engram
由 GitHub 账号 TushaeBXN 发布
面向AI的本地私密长期记忆:逐字保存、可搜索、可更正。无需LLM或API密钥。AI 翻译

Engram: AI memory you can edit in Obsidian
由 GitHub 账号 engram-app 发布
托管式 MCP 记忆服务器,让 Claude、ChatGPT 等 MCP 客户端共享可读写的笔记,并可在 Obsidian 或网页应用中编辑。

Engram
由 GitHub 账号 devinmlowe 发布
Engram 是面向编码代理的本地优先认知记忆服务器:捕获对话、提取结构化知识,并提供混合检索、知识图谱与记忆管理。

Engram
由 GitHub 账号 tstockham96 发布
Engram 为 AI 助手提供本地 SQLite 记忆库,支持语义检索、知识图谱和由 LLM 驱动的记忆整合。