Skip to main content
Glama
jamjet-labs

jamjet-labs/engram-mcp-server

by jamjet-labs

面向 AI 智能体的持久化内存 —— 时序知识图谱、混合检索、支持 SQLite 或 PostgreSQL。

crates.io Docker MCP Registry License

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 serve

Claude 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: Graphiti FastMCP Server

MCP 工具 (11)

内存工具 (7)

工具

描述

memory_add

使用 LLM 驱动的事实提取功能从对话消息中提取并存储事实。副作用:调用配置的 LLM 来解析事实,然后将其写入知识图谱。返回提取的事实 ID。需要 messages 数组和 user_id

memory_recall

使用向量相似度对存储的事实进行语义搜索。只读,无副作用。返回匹配查询的排名事实,作用域限定为 user_id 和可选的 org_id。在生成响应前使用此工具检索相关上下文。

memory_context

为 LLM 提示词组装一个带有 Token 预算的上下文块,并进行分层事实选择。只读。返回格式化的最相关事实字符串,并限制在指定的 Token 预算内。当你需要现成的提示词片段时,请使用此工具代替 memory_recall。

memory_search

使用全文搜索(SQLite FTS5 / Postgres)对事实进行关键词搜索。只读,无副作用。返回匹配精确关键词的事实。当你需要精确术语匹配而非 memory_recall 提供的语义相似度时,请使用此工具。

memory_forget

通过 ID 软删除事实,并可选择提供原因。副作用:在知识图谱中将事实标记为已删除(不会物理移除)。此工具的操作不可逆。当用户要求删除特定信息时使用。

memory_stats

获取聚合统计信息:总事实数、有效(未删除)事实数、实体数量和关系数量。只读,无副作用。使用此工具了解内存存储的大小和健康状况。

memory_consolidate

对知识图谱运行维护周期 —— 衰减陈旧事实、提升高置信度事实、去重近乎重复的内容并汇总集群。副作用:修改事实评分,并可能合并或归档事实。定期运行以保持内存准确性。

消息存储工具 (4)

工具

描述

messages_save

按 ID 保存对话的聊天消息。副作用:将消息写入存储,并可选择触发事实提取(由 --extract-on-save 控制)。使用此工具在提取的事实之外持久化完整的对话历史。

messages_get

按 ID 检索对话的所有消息。只读,无副作用。返回有序的消息数组。使用此工具重放或检查过去的对话。

messages_list

列出消息存储中的所有对话 ID。只读,无副作用。返回对话 ID 字符串数组。在通过 messages_get 检索之前,使用此工具发现已存储的对话。

messages_delete

按 ID 删除对话的所有消息。副作用:从存储中永久移除对话消息。不可逆。不会影响已提取的事实 —— 请使用 memory_forget 来处理事实。

所有内存工具的作用域均为 (org_id, user_id, session_id) —— org 为最粗粒度,session 为最细粒度。

LLM 提供商

与提供商无关。 单个二进制文件,设置 ENGRAM_LLM_PROVIDER=... 即可使用:

提供商

环境变量值

备注

Ollama

ollama (默认)

本地、免费、无需 API 密钥

OpenAI 兼容

openai-compatible

OpenAI, Azure, Groq, Together, Mistral, DeepSeek, vLLM, LM Studio 等

Anthropic

anthropic

通过 Messages API 使用 Claude

Google

google

通过 generateContent 使用 Gemini

Shell 命令

command

管道传输至任何外部脚本

模拟

mock

确定性,仅用于测试

# 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

jamjet (包含 EngramClient)

pip install jamjet

Java

dev.jamjet:jamjet-sdk (包含 EngramClient)

Maven Central

Spring Boot

dev.jamjet:engram-spring-boot-starter

Maven Central

Rust

jamjet-engram (直接嵌入)

cargo add jamjet-engram

相关项目

许可证

Apache 2.0 —— 参见 LICENSE


Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Portable 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.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Persistent 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP 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