mcpField
S
SecretCarousel

SecretCarousel

远程服务
secretcarousel.com开发工具014 周前更新

关于 SecretCarousel

SecretCarousel 是面向编码 Agent 的密钥库,支持加密存储、定时轮换,并通过一次性认领令牌审计密钥交接。它提供命令行和 MCP 接入。

主要功能

  1. 01加密存储密钥
  2. 02客户端零知识加密
  3. 03一次性认领令牌交接
  4. 04定时轮换密钥
  5. 05限时限次分享
  6. 06导出及提升环境变量

适用场景

  1. 01避免在代码或日志中放置密钥值
  2. 02无需传递明文即可向其他 Agent 交接密钥
  3. 03按计划轮换凭据
  4. 04将密钥导出为 .env 文件

MCP 相关

SecretCarousel 提供本地和远程 MCP 服务,供客户端存储、检索、搜索、轮换、分享和交接密钥。服务以结构化 JSON 返回结果。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.secretcarousel.com/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
SSEhttps://mcp.secretcarousel.com/sse需要授权
安装包
npmsecretcarousel2.20.0

工具

20
参数类型必填说明
secretValuestring是要交接的机密值
targetTenantIdstring是允许认领此令牌的租户
contractIdstring是授权跨租户交接的合约 ID(CTR_...)
secretNamestring否交接的机密信息的易读名称(默认值:shared-secret)
expiresInHoursnumber否交接令牌的有效期(小时,默认值为 24,最大值为 8760)。此期限独立于合约声明窗口;异步 Agent 间交接时请使用此参数。
expiresInMinutesnumber否令牌有效期(分钟),用于不到一小时的同步交接(如果同时提供 expiresInHours,则以 expiresInHours 为准)

详细介绍

SecretCarousel

npm version MCP Zero-Knowledge smithery badge

供编码 Agent 自行运行的密钥库——从任意 Agent 存储、轮换并交接凭证,让它们不再以明文传递密钥。

代码用 git 管理,Agent 的密钥用 sc 管理。

你的 Agent 一整天都在接触凭证——这里一个数据库 URL,那里一个 API 密钥——而一旦上下文重置,这些机密就会被粘贴到 Slack 的 .env 文件中、回显到日志里,或留在对话记录中。你成了密钥库。SecretCarousel 是 Agent 自行运行的密钥库:只需一条命令,就能加密存储密钥、按计划轮换,并且——这是其他工具都做不到的——通过一次性、限定范围且会过期的认领令牌将密钥交给另一个 Agent,即使双方属于不同公司也可以。明文值绝不会跨越边界。

兼容: Claude Code · Cursor · Cline · Windsurf · Aider · Codex · 任意 MCP 客户端

安装

npm install -g secretcarousel

npm 包名为 secretcarousel;命令为 sc。

或者只需一条命令即可自行配置密钥库——无需电子邮箱或银行卡:

npx secretcarousel signup my-project --local

快速开始

# Self-provision a tenant (API key saved to .sc/config.json)
sc signup my-project --local

# Store a secret — AES-256-GCM encrypted at rest; returns an id, never echoes the value
sc secret "DATABASE_URL" "postgres://user:pass@host/db" -t database-credentials

# Retrieve by id — decrypted on demand, access-logged
sc secret show sec-abc123

# List / search — ids + names, never values
sc secrets
sc search stripe

# Rotate now
sc rotate sec-abc123

# Full reference
sc --help

认领令牌——Agent 如何交接密钥

这是其他工具都做不到的功能。一个 Agent 创建一个一次性、限定范围且会过期的令牌;另一个 Agent——可以来自不同项目,甚至不同公司——兑换该令牌,且只能兑换一次;令牌随即失效;整个交接过程都会记录在审计日志中。明文值绝不会以可复制粘贴的字符串形式跨越边界。

# Agent A: hand a secret to another tenant/agent
sc claim "<the-secret-value>" --to partner-tenant --contract CTR-ID

# Agent B: redeem the token you were handed (once, audited)
sc claim redeem CLM-TOKEN

# List the tokens you've minted + their status
sc claims

不必再通过私信发送密钥,并祈祷对方会删除它。令牌只能使用一次,有时间限制且可撤销,每次创建和兑换都会记录在审计日志中。

零知识模式——连我们也无法读取

默认情况下,密钥在静态存储时使用 AES-256-GCM 加密。启用零知识模式后,加密会在你的设备上、值到达服务器之前完成——SecretCarousel 只存储密文,从不持有解密密钥。即使数据库遭到泄露,泄露的也只是一堆乱码。

# Store a zero-knowledge secret (encrypted client-side)
sc secret "SIGNING_KEY" "$(cat key.pem)" --e2e

# Retrieve — auto-decrypts locally with your device key
sc secret show sec-def456

多个 Agent 可以通过注册握手共享一个零知识密钥库——密钥库密钥会在设备之间传递,绝不会传给服务器:

sc enroll init                 # first device bootstraps the vault
sc enroll create --minutes 15  # mint an enrollment token for another agent
sc enroll redeem <token>       # joining agent unlocks the same vault
sc enroll status               # vault + local device state

轮换——设置后即可省心使用

# Rotate immediately
sc rotate sec-abc123

# Schedule rotation with alerts
sc rotate set sec-abc123 --schedule "30d" --email [email protected]

共享——设置时间和查看次数限制的链接,供人类使用

# One-hour, single-view link a teammate can open in a browser
sc share sec-abc123 --hours 1

# List active shares
sc shares

环境——导入和导出 .env 文件

# Export a project's secrets as a .env file
sc env pull --env production > .env

# Promote secrets from one environment to another
sc env promote --from staging --to production

MCP 服务

更喜欢使用工具而不是 CLI?sc 内置了 MCP 服务。让 Claude Code(或任意 MCP 客户端)连接到它,你的 Agent 就能使用完整工具集——存储、检索、列出、搜索、轮换、共享以及认领令牌交接,并获得结构化 JSON 响应。

claude mcp add secretcarousel -- sc mcp-serve

对于使用 JSON 配置的客户端(Cline、Cursor、Windsurf),请通过 SC_API_KEY 环境变量传递 API 密钥。MCP 服务在项目目录之外运行,因此不会读取 .sc/config.json:

{
  "mcpServers": {
    "secretcarousel": {
      "command": "sc",
      "args": ["mcp-serve"],
      "env": { "SC_API_KEY": "sc_your_key_here" }
    }
  }
}

还没有密钥?可以不带密钥启动——服务会以引导模式启动,并提供 sc_signup 工具,可立即配置密钥库(48 小时激活期限;通过邮件发送的 $0 银行卡验证会开始 7 天免费试用),随后完整工具集便会解锁。

远程 MCP——无需安装

完全不想使用 CLI?Claude Web、Claude Desktop、Raycast 或任何托管 MCP 客户端都能直接连接到我们的远程服务。工具集相同、API 密钥相同,无需安装任何内容:

URL:  https://mcp.secretcarousel.com/sse
Auth: Authorization: Bearer sc_YOUR_API_KEY

不带请求头连接时,服务会以引导模式启动——调用 sc_signup 即可在会话中自行配置密钥库(48 小时激活期限,通过邮件发送的 $0 银行卡验证可开始 7 天免费试用)。设置指南:远程 MCP 快速入门。

审计轨迹——可验证、可导出

每次存储、检索、轮换、共享、签发和兑换都会写入不可变事件日志。可在终端中读取,也可导出以满足合规要求。

sc audit --limit 50
sc audit export --format csv > audit.csv

功能

  • 机密 — 存储、检索、更新、删除;静态数据采用 AES-256-GCM 加密;支持类型分类(数据库凭据、API 密钥、证书等)
  • 零知识模式 — 客户端加密;服务端始终只能看到密文,通过注册握手支持多设备保险库
  • 认领令牌 — 通过一次性、有范围限制、会过期且经过审计的令牌,将机密交给其他 Agent/租户
  • 轮换 — 立即轮换或按计划轮换,并发送电子邮件提醒
  • 共享 — 提供有时限和查看次数限制的链接,供人类使用
  • 环境 — 导出为 .env,在不同环境之间提升机密
  • 范围限定的 API 密钥 — 按密钥设置读取/写入/管理权限,并限定项目范围
  • MCP 服务 — 本地运行(sc mcp-serve)或完全远程运行(mcp.secretcarousel.com):支持 Claude Code、Claude Web、Cursor、Raycast 和任何 MCP 客户端
  • 审计轨迹 — 不可变事件日志,可导出为 CSV 或 JSON
  • Agent 自助注册 — Agent 可在会话期间自行配置保险库,无需人工介入

**定价:**7 天免费试用。需要提供银行卡(通过安全的 Stripe 结账),试用期间不会扣费——在试用结束前取消即可,无需支付任何费用。试用结束后,价格从每月 $9 起:Starter $9 · Pro $29 · Scale $99,每个套餐均包含一定数量的机密,超额费用低。所有套餐均支持无限数量的 Agent,不按席位收费。查看详情。

项目专属配置

sc login --local --key YOUR_KEY    # saves to .sc/config.json (project-local)
sc me                              # show tenant info + plan + usage

配置按项目设置,并会从 .sc/config.json 自动加载。请将 .sc/ 添加到 .gitignore。

Agent 集成

将以下内容添加到你的 CLAUDE.md、.cursorrules、.clinerules、.windsurfrules 或 AGENTS.md 中:

## SecretCarousel
This project uses SecretCarousel as its secret vault.
Use the `sc` CLI. Config is in .sc/config.json (auto-loaded).
If not configured: sc login --local --key YOUR_KEY

Never paste a secret value into code, logs, or chat — store it with
`sc secret "NAME" "VALUE"` and retrieve by id at the moment of use.
To hand a secret to another agent, mint a claim token — never send the raw value.

为什么要做这个项目

每个编码 Agent 都会处理凭据,而它们最终都会泄露凭据——可能是误提交的 .env 文件、日志行、粘贴到 Slack 中的内容,或是会话结束后仍然留存的对话记录。我希望 Agent 能像管理自己的代码一样管理机密:由它自行运行一个保险库,只在需要使用时获取机密值,并在交接时避免将其变成可复制粘贴的字符串。项目仍处于早期阶段,正在快速迭代——如果有任何不完善或缺失之处,请提交问题。

文档

许可证

专有软件 — Tyga.Cloud Ltd. 请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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