mcpField
E
engram

engram

本地服务
github.com/NickCirv开发工具1435 周前更新

关于 engram

Engram 是面向 AI 编码 Agent 的本地代码图上下文工具,对源码实体、Git 关系和部分项目记忆建立索引,并通过 CLI、Agent 钩子、MCP 与本地仪表盘提供聚焦的上下文。它适合在读取完整文件之前先定位相关代码。

主要功能

  1. 01本地 SQLite 结构化代码图
  2. 02按预算输出相关实体上下文
  3. 03调用方、被调用方与影响分析
  4. 04Git 共变关系与错误记录
  5. 05带令牌认证的本地仪表盘

适用场景

  1. 01在阅读完整文件前查找相关代码
  2. 02分析函数之间的调用关系与影响范围
  3. 03为 AI 编码 Agent 生成规则文档

MCP 相关

Engram 提供 engram-serve MCP 可执行文件,并通过 HTTP 服务向 Agent 输出图谱上下文;它也可以配置外部 MCP 或插件提供方作为上下文来源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nickcirv-engram": {
"command": "npx",
"args": [
"-y",
"engramx"
],
"env": {
"ENGRAM_API_TOKEN": "<ENGRAM_API_TOKEN>",
"ENGRAM_MISTAKE_GUARD": "<ENGRAM_MISTAKE_GUARD>",
"ENGRAM_ANTHROPIC_MEMORY_PATH": "<ENGRAM_ANTHROPIC_MEMORY_PATH>",
"ENGRAM_MCP_CONFIG_PATH": "<ENGRAM_MCP_CONFIG_PATH>",
"ENGRAM_NO_UPDATE_CHECK": "<ENGRAM_NO_UPDATE_CHECK>"
}
}
}
}
启动命令npx -y engramx
需要配置的环境变量
ENGRAM_API_TOKEN密钥Optional HTTP bearer token. Auto-generated at ~/.engram/http-server.token if unset.
ENGRAM_MISTAKE_GUARDPre-mortem warnings: '1' = warn, '2' = deny. Unset = off, zero overhead.
ENGRAM_ANTHROPIC_MEMORY_PATHOverride path to Claude Code's Auto-Memory MEMORY.md.
ENGRAM_MCP_CONFIG_PATHOverride path to ~/.engram/mcp-providers.json (plugin MCP server declarations).
ENGRAM_NO_UPDATE_CHECKSet to '1' to disable passive update notice. Auto-disabled when $CI is set.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmengramx4.5.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Engram — Nicholas Ashkar 仓库集合

Engram

面向 AI 编码 Agent 的本地结构化代码图谱和上下文工具包。Engram 为源代码实体、Git 关系和选定的项目记忆建立索引,然后通过命令行、Agent 钩子、MCP 和经过身份验证的本地仪表板提供聚焦的上下文。

可用它在阅读完整文件前查找相关代码、检查关系,并将记录下来的错误带入后续会话。做出行为方面的判断前,请先阅读查询返回的源代码:图谱检索只是调查辅助工具。

快速入门

经检查的软件包为 engramx 4.5.0,要求 Node >=20。此源码构建示例仅检查过源代码,未经执行;不假设当前已有已发布的软件包或扩展版本。

git clone https://github.com/NickCirv/engram.git
cd engram
git checkout 9fa2a4b74ca8e66560d74d1255c16c43157d32bd
npm install --ignore-scripts
npm run build
export ENGRAM_NO_UPDATE_CHECK=1
node dist/cli.js init ../your-project --no-hook
node dist/cli.js query "authentication" --project ../your-project --budget 2000
node dist/cli.js stats --project ../your-project

将 ../your-project 替换为你可以检查的代码库。索引会在项目的 .engram/ 中写入图谱。--no-hook 标志很重要:默认的 CLI init 还会安装 Sentinel 钩子。先从图谱开始,检查输出,然后再决定启用哪种集成。此构建包含语法解析器打包;安装前请检查软件包脚本和依赖项。

查询会返回匹配的图谱实体和估算的令牌数;如果没有匹配节点,则会显示相应消息。数量取决于已建立索引的项目;此处不会捏造基准测试输出。

已实现的功能

工作流有源码依据的入口点
探索结构query、path、gods、callers、callees、impact、stats
维护上下文init、watch、reindex、learn、mistakes
生成 Agent 文档gen、gen-mdc、gen-aider、gen-windsurfrules、gen-ccs
检查钩子集成install-hook --dry-run、hook-preview、hook-stats、hook-disable、hook-enable
提供上下文服务server、ui、engram-serve MCP 可执行程序
查看测量结果measure、bench、cost、软件包基准测试脚本
维护安装doctor、setup --dry-run、update --check、数据库/缓存/插件命令

这些入口点声明于固定版本的 CLI中。执行写入操作前,请查看各命令的帮助信息。生成器、钩子安装程序、缓存/数据库命令和插件安装可能会修改本地状态。

架构

源代码挖掘器会提取实体、引用、Git 共变更信息,以及选定的错误和会话信息。图存储使用 sql.js 将数据持久化到项目本地的 SQLite 数据库中。查询会遍历图并生成有范围限制的上下文。提供方解析器会组合内置来源与可选插件/MCP 提供方;集成可以添加外部进程和网络访问。

架构与集成指南梳理了这些路径,记录了 HTTP 身份验证,并提供本地 MCP 配置。现有设计记录、发行说明、集成文档和 ECP 草案仍可通过文档索引访问。这些文档保留了历史背景,但并非全部都已针对本修订版验证。

隐私与运行边界

核心图谱在本地运行,但无法保证整个系统都不访问网络。CLI 会检查 npm 更新,Context7 可以调用外部封装程序,已配置的 MCP/插件提供方也可以执行自己的进程。ENGRAM_NO_UPDATE_CHECK=1 会禁用更新检查路径,但不会禁用所有可选集成。请检查已配置的提供方以及接收图谱输出的 Agent。

HTTP 服务绑定到 127.0.0.1,会验证 Host/Origin,并要求通过 bearer token 或仪表板 Cookie 访问受保护的路由。它会从 ENGRAM_API_TOKEN 或本地 token 文件解析 token。请妥善保管该 token,并遵守现有的安全策略。

局限与测量

结构化上下文大小、预估 token 减少量、会话回放和实际提供方账单回答的是不同问题。数据包变小本身并不能证明答案质量相同或账单更低。请在具有代表性的工作负载上复现所附基准测试,并同时跟踪正确性和成本。本次文档审查未运行构建、测试套件、基准测试或 Agent 会话。

开发

npm run build
npm run lint
npm test -- --run

此代码库包含针对图存储、提供方、钩子、HTTP 安全及其他模块的单元测试和集成测试源文件。这些文件表明项目有测试覆盖意图;但此处尚未验证本修订版的测试结果。更改行为前,请参阅保留的贡献指南。

许可证与作者

Apache-2.0 许可证。ECP 规范在其源文档中注明了自己的署名和许可;本次改写不会更改其中任何内容。

Nicholas Ashkar · 应用 AI、系统与咨询。

用户指南

用户手册涵盖安装、技能、故障排查和卸载。Sentinel介绍当前的钩子行为和防护模式。工具作者可以参阅集成指南。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。