SecretCarousel について
SecretCarouselはコーディングエージェント向けのシークレット保管庫です。暗号化保存、定期ローテーション、ワンタイムのクレームトークンによる監査付き受け渡しに対応し、CLIとMCPから利用できます。
主な機能
- 01シークレットの暗号化保存
- 02クライアント側のゼロ知識暗号化
- 03ワンタイムトークンによる受け渡し
- 04シークレットの定期ローテーション
- 05時間・閲覧回数を限定した共有
- 06環境変数のエクスポートと昇格
活用シーン
- 01コードやログに値を記載せず認証情報を保管
- 02平文を渡さず別のエージェントへシークレットを移管
- 03認証情報を定期的にローテーション
- 04シークレットを .env ファイルに出力
MCP 対応
SecretCarouselはローカルおよびリモートのMCPサーバーを提供し、クライアントからシークレットの保存、取得、検索、ローテーション、共有、受け渡しを行えます。構造化JSON形式で応答します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.secretcarousel.com/sseclaude mcp add --transport sse secretcarousel https://mcp.secretcarousel.com/sse{"mcpServers":{"secretcarousel":{"type":"sse","url":"https://mcp.secretcarousel.com/sse"}}}Cursor で開く{"servers":{"secretcarousel":{"type":"sse","url":"https://mcp.secretcarousel.com/sse"}}}VS Code で開く{"mcpServers":{"secretcarousel":{"type":"sse","url":"https://mcp.secretcarousel.com/sse"}}}{"mcpServers":{"secretcarousel":{"serverUrl":"https://mcp.secretcarousel.com/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.secretcarousel.com/sse認証が必要ツール
20| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| secretValue | string | はい | 引き渡すシークレットの値 |
| targetTenantId | string | はい | このトークンのクレームを許可するテナント |
| contractId | string | はい | テナント間の引き継ぎを承認する契約 ID(CTR_...) |
| secretName | string | いいえ | 引き渡すシークレットのわかりやすい名前(デフォルト:shared-secret) |
| expiresInHours | number | いいえ | 引き継ぎトークンの有効期間(時間単位。デフォルトは 24、最大は 8760)。契約のアサーション期間とは独立しています。エージェント間の非同期引き継ぎにはこちらを使用してください。 |
| expiresInMinutes | number | いいえ | 1 時間未満の同期引き継ぎに使用するトークンの有効期間(分単位。両方を指定した場合は expiresInHours が優先されます) |
詳細
SecretCarousel
コーディングエージェントが自ら使う秘密情報の保管庫です。あらゆるエージェントから認証情報を保存、ローテーション、引き継ぎできるため、キーを平文で渡す必要がなくなります。
コードには git。エージェントの秘密情報には sc。
エージェントは一日中、認証情報に触れています。データベース URLや API キーなどです。そしてコンテキストがリセットされた瞬間、それらの秘密情報は Slack の .env ファイルに貼り付けられたり、ログに出力されたり、会話の記録に残されたりします。あなた自身が保管庫になってしまうのです。SecretCarousel は、エージェント自身が使う保管庫です。コマンドを一つ実行するだけで、秘密情報を暗号化して保存し、スケジュールに沿ってローテーションします。そして、ほかのどのサービスにもない機能として、企業をまたいでも、ワンタイムでスコープが限定され、有効期限のあるクレームトークンを使って、別のエージェントに秘密情報を引き渡せます。境界を越えて平文の値が渡ることはありません。
対応: 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 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
キーを DM で送って、相手が削除してくれることを願う必要はもうありません。トークンは一度だけ使用でき、有効期間が限定され、取り消しも可能です。発行と引き換えはすべて監査証跡に記録されます。
ゼロ知識モード — 私たちにも読み取れません
デフォルトでは、秘密情報は 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
登録時のハンドシェイクを使えば、複数のエージェントで一つのゼロ知識保管庫を共有できます。保管庫のキーはデバイス間で渡され、サーバーに送られることはありません。
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 を取り込み、.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 クライアント)から接続すると、エージェントは保存、取得、一覧表示、検索、ローテーション、共有、クレームトークンによる引き継ぎを含むすべてのツールを、構造化された 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 で暗号化。型指定あり(database-credentials、api-key、certificate など)
- ゼロ知識モード — クライアント側で暗号化するため、サーバーには暗号文しか渡りません。登録ハンドシェイクにより、複数デバイスのボールトに対応します
- クレームトークン — ワンタイムで、スコープと有効期限を設定でき、監査対象となるトークンを使って、シークレットを別のエージェント/テナントに渡せます
- ローテーション — 今すぐ、またはスケジュールに従ってローテーションできます。メール通知にも対応します
- 共有 — 有効期間と閲覧回数を制限した、人向けのリンクを作成できます
- 環境 —
.envとしてエクスポートし、環境間でシークレットを昇格できます - スコープ付き API キー — キーごとに読み取り/書き込み/管理の権限を設定でき、プロジェクト単位でスコープを指定できます
- MCP サーバー — ローカル(
sc mcp-serve)または完全なリモート(mcp.secretcarousel.com)で利用できます。Claude Code、Claude Web、Cursor、Raycast、あらゆる MCP クライアントに対応します - 監査証跡 — 変更不可能なイベントログ。CSV または JSON としてエクスポートできます
- エージェントのセルフサインアップ — 人間の介入なしに、エージェントがセッション中に自分用のボールトを作成できます
料金: 7 日間の無料トライアル。カードが必要です(安全な Stripe のチェックアウトを使用します)。トライアル中に請求されることはありません。終了前に解約すれば料金はかかりません。トライアル後は月額 $9 から:Starter $9・Pro $29・Scale $99。各プランには一定数のシークレットが含まれ、超過分の料金も低く設定されています。すべてのプランでエージェント数は無制限で、シート単位の料金はありません。詳細。
プロジェクト単位の設定
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 に追加してください。
エージェントとの連携
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.
開発の背景
すべてのコーディングエージェントは認証情報を扱い、いずれは必ずそのどれかを漏えいさせてしまいます。誤ってコミットされた .env、ログ行、Slack への貼り付け、セッション終了後も残るトランスクリプトなどに漏れてしまいます。エージェントにもコードと同じようにシークレットを管理させたいと考えました。つまり、エージェント自身が運用するボールトを使い、値は使用する瞬間にだけ取得され、コピーして貼り付けられる文字列になることなく受け渡されます。まだ初期段階で、急速に改善を続けています。不完全な点や不足している機能があれば、issue を作成してください。
ドキュメント
ライセンス
プロプライエタリ — Tyga.Cloud Ltd. 詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。