mcpField
S
secure-vault

secure-vault

本地服务
github.com/mdfifty50-boop安全027 周前更新

关于 secure-vault

secure-vault 是面向 Agent 的 MCP 密钥管理服务,通过加密存储、限时令牌和服务端注入,让 Agent 无需接触明文凭据。它还支持轮换、访问审计和配置泄露扫描。

主要功能

  1. 01AES-256-GCM 加密存储
  2. 02签发限时、分范围令牌
  3. 03服务端注入凭据
  4. 04轮换密钥并使旧令牌失效
  5. 05审计访问并扫描配置泄露

适用场景

  1. 01为 Agent 提供 API 凭据而不暴露明文
  2. 02按服务签发短期访问令牌
  3. 03轮换凭据并检查配置文件泄露

MCP 相关

该 MCP 服务向客户端提供密钥存储、令牌签发、凭据注入、轮换、审计和泄露扫描工具,并提供不含明文值的密钥元数据资源。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"mdfifty50-boop-secure-vault": {
"command": "npx",
"args": [
"-y",
"secure-vault-mcp"
]
}
}
}
启动命令npx -y secure-vault-mcp

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

安装包
npmsecure-vault-mcp0.1.1

工具

7

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

secure-vault-mcp

面向 Agent 原生密钥管理的 MCP 服务。我们在 GitHub 上公开的 MCP 配置文件中发现了 24,008 个密钥。此服务正是为解决这一问题而开发的。

Agent 需要密钥来调用 API,但不应看到原始值。secure-vault-mcp 使用 AES-256-GCM 加密存储密钥,签发短时有效的受限令牌,并在服务端将密钥注入请求,因此 Agent 无需处理明文凭据。

安装

npx secure-vault-mcp
Claude Desktop

将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "secure-vault": {
      "command": "npx",
      "args": ["secure-vault-mcp"]
    }
  }
}
从源代码安装
git clone https://github.com/mdfifty50-boop/secure-vault-mcp.git
cd secure-vault-mcp
npm install
node src/index.js

工具

store_secret

存储加密密钥,并可选择轮换策略。

参数类型默认值说明
namestring必填密钥名称(例如 "openai_api_key")
valuestring必填密钥值 — 立即加密
servicestring"default"此密钥所属的服务
rotation_policystring"none""none"、"daily"、"weekly"、"monthly"
get_agent_token

签发短时有效的受限令牌。Agent 会收到不透明的令牌 ID,而不会获得原始密钥。

参数类型默认值说明
agent_idstring必填请求令牌的 Agent 标识符
servicestring必填要获取令牌的服务
scopestring"read""read"、"write"、"admin"
ttl_secondsnumber300令牌有效期(10 秒至 86400 秒)
rotate_secrets

轮换某项服务的所有密钥。旧令牌将失效。

参数类型说明
servicestring要轮换密钥的服务
new_valuestring新密钥值
audit_secret_access

查看在指定时间范围内谁访问了哪些密钥。

参数类型默认值说明
time_rangestring"24h""1h"、"6h"、"24h"、"7d"、"all"
agent_idstring可选按 Agent 筛选
secret_namestring可选按密钥筛选
scan_config_for_leaks

扫描配置文本中暴露的密钥。使用 12 个正则表达式模式检测 AWS 密钥、GitHub 令牌、OpenAI/Anthropic 密钥、Slack 令牌、Stripe 密钥、私钥块、Bearer 令牌和通用凭据。

参数类型默认值说明
config_textstring必填要扫描的配置内容
source_labelstring"unknown"审计记录标签
inject_secret_to_request

返回已在服务端注入密钥的请求。Agent 提供包含 {{SECRET}} 占位符的模板和有效的令牌 ID。

参数类型说明
token_idstring来自 get_agent_token 的令牌
request_templatestring包含 {{SECRET}} 占位符的模板

资源

URI说明
secure-vault://secrets所有已存储密钥的名称及元数据(不含原始值)

使用模式

1. store_secret — store credentials at setup time
2. get_agent_token — agent requests a scoped, time-limited token
3. inject_secret_to_request — inject secret into API call template
4. rotate_secrets — rotate when needed, old tokens auto-invalidate
5. scan_config_for_leaks — check config files before committing
6. audit_secret_access — review access trail

安全模型

  • 使用服务端生成的密钥,通过 AES-256-GCM 加密静态存储的密钥
  • Agent 获得不透明的令牌 ID,永远不会获得原始密钥值
  • 令牌具有权限范围(read/write/admin)和时限(默认 5 分钟)
  • 轮换令牌会使该密钥的所有未过期令牌失效
  • 对每次存储、令牌签发和注入进行完整审计
  • 内存存储 — 密钥仅在服务会话期间存在

测试

npm test

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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