mcpField
E
enigmagent-mcp

enigmagent-mcp

本地服务
github.com/Agnuxo1安全65 周前更新

关于 enigmagent-mcp

enigmagent-mcp 是供 MCP 客户端使用的本地加密保险库服务,可加密保存机密并减少意外泄露。默认仅列出机密元数据,返回明文需要显式启用。

主要功能

  1. 01AES-256-GCM 加密保险库
  2. 02默认仅列出元数据
  3. 03可选的域名绑定机密解析
  4. 04需认证的本地回环 REST 模式
  5. 05支持读取版本 1 保险库

适用场景

  1. 01在本地加密保险库中保存 API 机密
  2. 02让 MCP 客户端查看机密元数据
  3. 03启用后解析与来源域名匹配的机密

MCP 相关

通过 stdio 提供 MCP 服务,默认开放 `enigmagent_list`。只有显式启用原始解析后,才提供 `enigmagent_resolve`。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"agnuxo1-enigmagent": {
"command": "npx",
"args": [
"-y",
"enigmagent-mcp"
],
"env": {
"VAULT_PASSWORD": "<VAULT_PASSWORD>",
"VAULT_PATH": "<VAULT_PATH>"
}
}
}
}
启动命令npx -y enigmagent-mcp
需要配置的环境变量
VAULT_PASSWORD密钥Master password used to decrypt the local EnigmAgent vault (AES-256-GCM + Argon2id).
VAULT_PATHPath to the vault.json file (default: ./vault.json).

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

安装包
npmenigmagent-mcp1.0.2

工具

还没有获取到工具列表

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

详细介绍

enigmagent-mcp 2.0.0

enigmagent-mcp 是一个供支持 MCP 的客户端使用的本地加密保险库服务。它使用 Argon2id 派生的 AES-256-GCM 密钥存储机密值,并确保保险库文件在静态存储时保持加密状态。

2.0.0 版明确了安全边界:

  • MCP 默认以仅元数据模式启动。除非操作者传入 --allow-raw-resolve 或设置 ENIGMAGENT_ALLOW_RAW_RESOLVE=1,否则会禁用原始机密解析。
  • REST 绑定到 127.0.0.1,并要求提供长度为 32–256 个字符的 Bearer 令牌。
  • REST 请求的标头、正文和超时时间均有上限;响应不会包含任意异常消息,也不会启用宽松的浏览器 CORS。
  • 写入保险库时会使用临时文件、刷新、替换,并创建恢复备份。
  • 仍可读取版本 1 的保险库。新保险库使用格式版本 2 和带版本的 KDF 上下文 enigma/v2。

原始解析有意设计为选择启用的逃生通道。调用方声明的来源无法证明网络目标,受信任的 MCP 客户端也仍可能将返回的明文传递给其模型。请勿为不受信任的客户端或共享进程启用原始解析。

安装和运行

npx [email protected] --vault ./my.vault.json

首次运行时,如果连接到终端,会提示输入现有保险库凭据。对于受信任的无头进程,请在其私有环境中设置 ENIGMAGENT_USER 和 ENIGMAGENT_PASS。服务不会打印这两个值。

MCP 模式

stdio 传输实现了有界的 JSON-RPC MCP 初始化、ping、tools/list 和 tools/call。默认工具为:

  • enigmagent_list:仅返回名称、域和创建时间戳。

显式选择启用原始解析后,还会提供:

  • enigmagent_resolve:仅当请求的来源与条目的域绑定匹配时才返回值。

来源会经过规范化,并限制为不含内嵌用户凭据的 HTTP(S) URL。通知、格式错误的 JSON、超大帧、无效的工具参数,以及初始化前的调用都会得到妥善处理,不会导致进程终止。

经过身份验证的 REST

set ENIGMAGENT_API_TOKEN=use-a-random-32-character-token-or-longer
npx [email protected] --mode rest --port 3737 --vault ./my.vault.json

GET /health 是无需身份验证的精简存活检查。GET /status 和 GET /list 需要 Authorization: Bearer <token>。POST /resolve 还需要令牌、JSON 内容类型以及显式启用原始解析。该服务会拒绝浏览器来源的请求,并且仅绑定到回环地址。

客户端配置适配器

integrations.js 提供经过测试的配置构建器,适用于 Claude Desktop、Cursor、Continue、Cline、Open WebUI、AnythingLLM、LM Studio、Zed、Goose 和 Windsurf。这些是使用标准 MCP stdio 命令维护的配置示例;它们不是上游插件或背书,也不代表这些项目已采用该方案。

开发和验证

npm ci
npm test
npm run check
npm run benchmark
npm pack --dry-run

测试涵盖静态存储加密行为、域匹配、错误凭据、版本 1 迁移读取、备份恢复、有界的 MCP 帧处理和会话顺序、经过身份验证的 REST,以及全部十个配置适配器。基准测试使用合成数据,报告创建、添加和解析的延迟,不会打印任何机密。

发布内容

历史版本 1.0.5 的目录及其源代码归档和 SHA-256 清单均保留在 versions/1.0.5/ 中。2.0.0 版在 package.json、server.json 和 manifest.json 中的表示保持一致;发布仍须通过代码仓库的 CI 和发布检查。

范围和威胁模型

本项目可防止保险库内容以普通明文形式静态存储,也可防止元数据列表工具意外返回这些内容。但它无法防护遭入侵的操作系统、可访问已解锁内存的进程、恶意客户端代码、侧信道、交换空间或核心转储,也无法防护明确为不受信任的模型启用原始解析的操作者。有关更广泛的生态系统指导,请查阅 EnigmAgent 主项目中的 SECURITY.md。

采用 MIT 许可证。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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