关于 Hive Secrets
Hive Secrets 是供 A2A 网络中的 Agent 存储凭据的加密密钥库,使用 AES-256-GCM 加密,并按 Agent DID 隔离命名空间。它记录操作审计日志,并通过 Base 上的 USDC 交易验证付费操作。
主要功能
- 01AES-256-GCM 加密存储
- 02按 Agent DID 隔离数据
- 03读取、写入和删除密钥
- 04查看命名空间审计日志
- 05验证 Base USDC 付款
适用场景
- 01为 Agent 保存凭据
- 02按 DID 管理独立密钥空间
- 03审查密钥操作记录
MCP 相关
该 MCP 服务提供读取、写入、列出和审计密钥的工具。客户端通过 Streamable-HTTP 发送 JSON-RPC 请求;部分操作需提交 Base USDC 付款证明。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://hive-mcp-secrets.onrender.com/mcpclaude mcp add --transport http srotzin-hive-mcp-secrets https://hive-mcp-secrets.onrender.com/mcp{"mcpServers":{"srotzin-hive-mcp-secrets":{"type":"http","url":"https://hive-mcp-secrets.onrender.com/mcp"}}}在 Cursor 中打开{"servers":{"srotzin-hive-mcp-secrets":{"type":"http","url":"https://hive-mcp-secrets.onrender.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"srotzin-hive-mcp-secrets":{"type":"http","url":"https://hive-mcp-secrets.onrender.com/mcp"}}}{"mcpServers":{"srotzin-hive-mcp-secrets":{"serverUrl":"https://hive-mcp-secrets.onrender.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
hive-mcp-secrets
A2A 网络的加密密钥库 —— Hive Civilization。 静态数据采用 AES-256-GCM 加密,命名空间按 Agent DID 隔离,提供审计日志,并通过 Base L2 上的 x402 USDC 结算。MCP 2024-11-05。仅处理入站请求。
Agent 可将加密密钥存储在由 (namespace, key) 标识的位置,之后再取回。命名空间就是 Agent DID——调用方只能查看和写入自己的命名空间。主密钥保存在运营方的环境中,绝不会提交到代码库、写入日志或通过网络返回。
brand : Hive Civilization gold #C08D23 (Pantone 1245 C)
spec : MCP 2024-11-05 / Streamable-HTTP / JSON-RPC 2.0
wallet: W1 MONROE 0x15184bf50b3d3f52b60434f8942b7d52f2eb436e (Base)
crypto: AES-256-GCM, 12-byte IV per record, 16-byte auth tag, node:crypto
快速开始
git clone https://github.com/srotzin/hive-mcp-secrets
cd hive-mcp-secrets
npm install
# 32 random bytes as hex — never commit this value
export SECRETS_MASTER_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")
npm start
# hive-mcp-secrets on :3000
托管端点:https://hive-mcp-secrets.onrender.com/mcp
工具和定价
| 工具 | 美元 / 次调用 | 说明 |
|---|---|---|
secrets_get | $0.002 | 读取并解密密钥。调用方必须拥有该命名空间。 |
secrets_put | $0.005 | 加密并存储密钥。未配置主密钥时返回 503。 |
secrets_list | 免费 | 列出命名空间中的密钥。Tier 0。 |
secrets_audit | $0.002 | 读取命名空间的审计日志。 |
所有付款均为入站付款。在请求正文或 x402-tx-hash 标头中提交 Base USDC tx_hash(调用方 → W1)。shim 会从 Base RPC 读取回执,解码 USDC Transfer 日志,并在处理调用前验证收款方和金额。
运营方须知 — 写入需要主密钥
hive-mcp-secrets 在启动时从进程环境中读取 SECRETS_MASTER_KEY。
- 如果已设置,则会将其解析为 64 个字符的十六进制字符串 → 32 个原始字节;或解析为 base64 → 32 个原始字节;否则会使用 SHA-256 将其哈希为 32 个字节。
- 如果未设置,写入操作将返回
503 service_unavailable,并附带reason: "SECRETS_MASTER_KEY not set"。读取不存在的记录时仍会照常返回404;读取已存储的记录则需要使用写入时的同一密钥,因为 AES-256-GCM 会拒绝使用其他密钥解密。
该密钥绝不会提交到代码库、写入日志或通过网络返回。运营方应在启用生产流量前,在部署环境中设置此密钥(如 Render 环境变量、Kubernetes secret 等)。轮换密钥会使所有先前存储的密文失效。
命名空间模型
每个端点上的 namespace 参数都是拥有该数据的 Agent DID。每个端点都会强制检查 caller_did === namespace,否则返回 forbidden_namespace_mismatch。v1 中没有超级用户、跨命名空间读取或多 DID 共享功能。
审计日志按命名空间划分,并记录每项操作——get、put、delete、list、audit,以及负向路径,如 payment_required、error:not_found、error:integrity_check_failed 等。条目会存储 caller_did、action、ts_ms,以及(对于付费操作)tx_hash、payer 和 amount_usd。
REST 端点
| 方法 | 路径 | 用途 |
|---|---|---|
GET | /v1/secrets/{namespace}/{key} | 读取并解密一个密钥。付费。 |
PUT | /v1/secrets/{namespace}/{key} | 加密并存储一个密钥。付费。未提供主密钥时返回 503。 |
DELETE | /v1/secrets/{namespace}/{key} | 删除一个密钥。免费,仅限调用方自己的密钥。 |
GET | /v1/secrets/{namespace} | 列出命名空间中的密钥。免费,Tier 0。 |
GET | /v1/secrets/audit | 读取审计日志。付费。查询参数:namespace、caller_did、since_ms?、until_ms?、limit?。 |
GET | /v1/secrets/today | 今日收入快照。免费。 |
GET | /health | 服务健康状态,包括 master_key_loaded。 |
GET | /.well-known/mcp.json | MCP 发现。 |
POST | /mcp | MCP JSON-RPC。 |
PUT /v1/secrets/{namespace}/{key} 请求正文
{
"value": "the-secret-string",
"caller_did": "did:hive:0xabc...",
"tx_hash": "0x...64-char-tx-on-base..."
}
未提供 tx_hash 时,响应为 402 信封:
{
"error": "payment_required",
"x402": {
"type": "x402", "version": "1", "kind": "secrets_put",
"asking_usd": 0.005, "accept_min_usd": 0.005,
"asset": "USDC", "asset_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"network": "base", "pay_to": "0x15184bf50b3d3f52b60434f8942b7d52f2eb436e",
"nonce": "...", "issued_ms": 1714200000000
}
}
加密详情
- 算法:
aes-256-gcm(FIPS 认可的 AEAD) - 密钥长度:32 字节
- IV 长度:12 字节,每条记录使用全新的
crypto.randomBytes(12) - 身份验证标签长度:16 字节
- 存储:SQLite
secrets表 —(namespace, key, ciphertext, iv, auth_tag, created_ms, updated_ms, version),主键为(namespace, key) - 写入路径:
node:crypto.createCipheriv → update → final,然后调用getAuthTag()。这三个值均以 base64 TEXT 格式存储。 - 读取路径:
createDecipheriv → setAuthTag → update → final。ciphertext、iv或auth_tag中任意一位被篡改,都会导致final()抛出异常,并显示为integrity_check_failed。
下面的冒烟测试会验证被篡改的密文无法解密 — 这是真正的 AES-GCM,而不是事后附加的完整性检查。
MCP 用法
curl -X POST https://hive-mcp-secrets.onrender.com/mcp \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://hive-mcp-secrets.onrender.com/mcp \
-H "content-type: application/json" \
-d '{
"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{
"name":"secrets_put",
"arguments":{
"namespace":"did:hive:0xabc",
"key":"openai_api_key",
"value":"sk-...",
"caller_did":"did:hive:0xabc",
"tx_hash":"0x..."
}
}
}'
本地冒烟测试
export SECRETS_MASTER_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")
npm start &
sleep 1
# Tier 0 list (empty)
curl -s "http://localhost:3000/v1/secrets/did:hive:0xa/" | jq .
# PUT without tx_hash → 402 envelope
curl -s -X PUT "http://localhost:3000/v1/secrets/did:hive:0xa/k1" \
-H "content-type: application/json" \
-d '{"value":"hello","caller_did":"did:hive:0xa"}' | jq .
# PUT with stub tx (set VERIFY_ONCHAIN=false locally)
VERIFY_ONCHAIN=false curl -s -X PUT "http://localhost:3000/v1/secrets/did:hive:0xa/k1" \
-H "content-type: application/json" \
-d '{"value":"hello","caller_did":"did:hive:0xa","tx_hash":"0xtest"}' | jq .
# GET round-trip
VERIFY_ONCHAIN=false curl -s "http://localhost:3000/v1/secrets/did:hive:0xa/k1?caller_did=did:hive:0xa&tx_hash=0xtest" | jq .
托管
部署到 Render:srv hive-mcp-secrets、oregon、starter、autoDeploy=true。Render 环境变量 SECRETS_MASTER_KEY 必须由运营者负责设置。若未设置,已部署的服务仍会运行,/health 会报告 master_key_loaded: false,写入操作则会返回 503。
许可证
MIT — 参见 LICENSE。
Hive Civilization Directory
Hive Civilization 的一部分 — 面向 Agent 的金融基础设施。
- 端点目录:https://thehiveryiq.com
- 实时排行榜:https://hive-a2amev.onrender.com/leaderboard
- 收入仪表板:https://hivemine-dashboard.onrender.com
- 其他 MCP 服务:https://github.com/srotzin?tab=repositories&q=hive-mcp
品牌色:#C08D23
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。