关于 secure-vault
secure-vault 是面向 Agent 的 MCP 密钥管理服务,通过加密存储、限时令牌和服务端注入,让 Agent 无需接触明文凭据。它还支持轮换、访问审计和配置泄露扫描。
主要功能
- 01AES-256-GCM 加密存储
- 02签发限时、分范围令牌
- 03服务端注入凭据
- 04轮换密钥并使旧令牌失效
- 05审计访问并扫描配置泄露
适用场景
- 01为 Agent 提供 API 凭据而不暴露明文
- 02按服务签发短期访问令牌
- 03轮换凭据并检查配置文件泄露
MCP 相关
该 MCP 服务向客户端提供密钥存储、令牌签发、凭据注入、轮换、审计和泄露扫描工具,并提供不含明文值的密钥元数据资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
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
存储加密密钥,并可选择轮换策略。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
name | string | 必填 | 密钥名称(例如 "openai_api_key") |
value | string | 必填 | 密钥值 — 立即加密 |
service | string | "default" | 此密钥所属的服务 |
rotation_policy | string | "none" | "none"、"daily"、"weekly"、"monthly" |
get_agent_token
签发短时有效的受限令牌。Agent 会收到不透明的令牌 ID,而不会获得原始密钥。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
agent_id | string | 必填 | 请求令牌的 Agent 标识符 |
service | string | 必填 | 要获取令牌的服务 |
scope | string | "read" | "read"、"write"、"admin" |
ttl_seconds | number | 300 | 令牌有效期(10 秒至 86400 秒) |
rotate_secrets
轮换某项服务的所有密钥。旧令牌将失效。
| 参数 | 类型 | 说明 |
|---|---|---|
service | string | 要轮换密钥的服务 |
new_value | string | 新密钥值 |
audit_secret_access
查看在指定时间范围内谁访问了哪些密钥。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
time_range | string | "24h" | "1h"、"6h"、"24h"、"7d"、"all" |
agent_id | string | 可选 | 按 Agent 筛选 |
secret_name | string | 可选 | 按密钥筛选 |
scan_config_for_leaks
扫描配置文本中暴露的密钥。使用 12 个正则表达式模式检测 AWS 密钥、GitHub 令牌、OpenAI/Anthropic 密钥、Slack 令牌、Stripe 密钥、私钥块、Bearer 令牌和通用凭据。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
config_text | string | 必填 | 要扫描的配置内容 |
source_label | string | "unknown" | 审计记录标签 |
inject_secret_to_request
返回已在服务端注入密钥的请求。Agent 提供包含 {{SECRET}} 占位符的模板和有效的令牌 ID。
| 参数 | 类型 | 说明 |
|---|---|---|
token_id | string | 来自 get_agent_token 的令牌 |
request_template | string | 包含 {{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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。