Token导航 LogoToken导航TokenDH.com
Engram MCP logo
搜索检索HTTP官方级别未说明来源级核验

Engram MCP

MCP Server

Engram是一个为AI代理设计的事件记忆系统,提供可靠的片段存储和语义搜索功能,无需依赖LLM写入路径。

工具数

1

提示词数

0

GitHub Stars

6

资源数

0
搜索AI代理GoClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

OscillateLabsLLC

提供方

OscillateLabsLLC

最后核验

2026/5/17 20:49

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

记忆印迹

![Status: Active](https://github.com/OscillateLabsLLC/.github/blob/main/SUPPORT_STATUS.md) ![Build](https://github.com/OscillateLabsLLC/engram/actions/workflows/build.yml) ![License: MIT](https://opensource.org/licenses/MIT) ![Go](https://go.dev) ![Documentation](https://oscillatelabsllc.github.io/engram/)

用于AI代理的事件源存储系统。写路径中没有LLM——只有具有语义搜索的可靠剧集存储。

📖 查看文档

为什么选择Engram?

大多数AI存储系统通过在写入时执行实体提取来将写入可靠性与LLM可用性结合起来。Engram采用了一种不同的方法:首先可靠地存储事件,在语义上搜索它们,并将任何昂贵的派生结构(知识图、实体提取)推迟到可选的第二层。

结果: 写入永远不会失败,搜索速度很快,并且您可以获得一个没有运行时依赖关系的可移植二进制文件。

特性

  • 三种搜索模式 --按意义(向量)、按精确单词(关键字)或同时按两者(混合)查找记忆
  • 优雅的回退 --即使嵌入服务不可用,关键字搜索也能工作;混合动力车性能良好
  • 快速查询 --DuckDB HNSW索引用于低于100ms的矢量搜索
  • 零外部API --所有嵌入都是通过Ollama本地生成的
  • 单个二进制 --可跨Linux、macOS和Windows移植
  • MCP本地 --直接与Claude Desktop、Claude Code和Cursor集成

快速开始

先决条件

  • 奥拉玛 使用嵌入模型在本地(或远程)运行
  • 1.25+(仅当从源代码构建时)

安装

选项A:下载预构建的二进制文件

从下载 发布页面 对于您的平台:

平台二进制
macOS(苹果硅)engram-darwin-arm64
macOS(英特尔)engram-darwin-amd64
Linux(x86_64)engram-linux-amd64
Linux(ARM64)engram-linux-arm64
窗户engram-windows-amd64.exe
# macOS/Linux: make it executable
chmod +x engram-*
mv engram-* engram

选项B:从源代码构建

git clone https://github.com/OscillateLabsLLC/engram
cd engram

# Using just (recommended — install from https://github.com/casey/just)
just setup    # install deps, pull embedding model, build

# Or manually
go build -o engram ./cmd/engram/main.go

拉动嵌入模型

ollama pull nomic-embed-text

启动服务器:

engram serve

Engram在端口3490上启动并打印SSE端点URL。所有MCP客户端都连接到这个服务器——没有数据库锁定冲突。看 docs/mcp-integration.md 有关在macOS、Linux和Windows上作为后台服务运行的说明。

配置

通过环境变量进行配置:

变量描述默认值
DUCKDB_PATHDuckDB数据库文件的路径./engram.duckdb
OLLAMA_URLAPI终点http://localhost:11434
EMBEDDING_MODEL嵌入模型名称nomic-embed-text
ENGRAM_PORT服务器端口3490
ENGRAM_SERVER_URL服务器URL(由stdio代理使用)http://localhost:3490

.env.example 对于模板。

MCP客户端集成

Engram通过模型上下文协议(MCP)与Claude Desktop、Claude Code和Cursor集成。

快速设置

  1. 启动服务器 (参见 后台服务文档 用于持久设置):
   engram serve
  1. 连接您的客户。 大多数客户直接支持SSE:

光标 (.cursor/mcp.json):

   {
     "mcpServers": {
       "engram-memory": {
         "url": "http://localhost:3490/mcp/sse"
       }
     }
   }

克劳德桌面版 (stdio代理,适用于需要stdio的客户端):

   {
     "mcpServers": {
       "engram-memory": {
         "command": "/absolute/path/to/engram",
         "args": ["stdio"],
         "env": {
           "ENGRAM_SERVER_URL": "http://localhost:3490"
         }
       }
     }
   }

有关详细的集成说明、可用的MCP工具和故障排除,请参阅 docs/mcp-integration.md.

Docker和部署

快速启动(开发)

# macOS/Windows
just docker-up

# Linux
just docker-up-linux

有关包括Docker Compose、Kubernetes和生产配置在内的详细部署说明,请参阅 docs/deployment.md.

清理模式

特工们通过以下方式清理陈旧的记忆 update_episode --印痕故意不暴露 delete_episode MCP工具,因为永久删除是一种故意的人类行为,而不是代理应该自主完成的事情。

软删除(可逆)

expired_at 到过去的时间戳。该事件在默认搜索中隐藏,但仍保留在存储中——稍后通过清除将其恢复 expired_at.

{"tool": "update_episode", "id": "...", "expired_at": "2020-01-01T00:00:00Z"}

降级(可见但已过滤)

替换剧集的标签,以包含类似的标记 deprecatedlow-confidence。该事件会保留在搜索结果中,因此不会丢失任何内容,但调用者可以在查询时进行筛选。

{"tool": "update_episode", "id": "...", "tags": ["deprecated", "original-topic"]}

计划到期

expired_at 转换为未来的时间戳——在此时间之后,该事件将从默认搜索中消失,无需进一步操作。

建筑

engram/
├── cmd/engram/          # Entry point (serve / stdio subcommands)
├── internal/
│   ├── api/             # HTTP + MCP SSE server
│   ├── db/              # DuckDB operations + VSS
│   ├── embedding/       # Ollama client
│   ├── mcp/             # MCP tool definitions
│   ├── models/          # Data models
│   └── proxy/           # stdio-to-SSE proxy
├── scripts/             # Build and test scripts
├── .github/workflows/   # CI/CD (build + release)
└── Dockerfile           # Container image
  • 服务器优先: engram serve 独家拥有DuckDB,通过SSE+REST API公开MCP
  • 精简stdio代理: engram stdio 为需要stdio的客户端(例如Claude Desktop)将stdin/stdout连接到服务器
  • DuckDB VSS扩展用于向量相似性搜索(HNSW索引)
  • 奥拉玛 用于本地嵌入生成(768维, nomic-embed-text)

如需更深入地了解架构,请参阅 docs/architecture.md.

设计原则

  1. 写作永不失败 (如果数据库已启动)
  2. 写入路径中没有LLM --仅嵌入,这些是可重试的
  3. 事件日志是真相的来源 --其他一切都是派生的
  4. 简单多于聪明 --矢量搜索覆盖了80%的用例
  5. 便携的 --单个二进制、单个数据库文件

文档

测试

该项目包括单元和集成测试:

# Run all tests
just test

# Run with coverage
just test-coverage

贡献

贡献.md 关于开发设置、代码风格以及如何提交pull请求。

许可证

麻省理工学院

目录标签

目录标签

搜索AI代理GoClaude事件记忆本地部署语义搜索本地嵌入DuckDB

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPnone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP