
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 驅動的記憶整併。