secure-vault について
secure-vaultは、エージェント向けのMCPシークレット管理サーバーです。認証情報を暗号化し、短期間・スコープ付きのトークンを発行して、平文をエージェントに渡さずサーバー側でリクエストへ注入します。ローテーション、アクセス監査、設定ファイルの漏えいスキャンにも対応します。
主な機能
- 01AES-256-GCMによる暗号化保存
- 02スコープ付き短期トークンの発行
- 03サーバー側での認証情報注入
- 04旧トークンを無効化するローテーション
- 05アクセス監査と設定ファイルの漏えいスキャン
活用シーン
- 01エージェントに平文を見せずAPI認証情報を提供
- 02サービスごとに短期アクセストークンを発行
- 03認証情報をローテーションし設定ファイルを検査
MCP 対応
MCPサーバーとして、シークレットの保存、トークン発行、注入、ローテーション、監査、漏えいスキャンのツールをクライアントに提供します。平文を含まないシークレットのメタデータもリソースとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
secure-vault-mcp
エージェント向けのシークレット管理 MCP サーバーです。公開 GitHub 上の MCP 設定ファイルで、24,008 件のシークレットが見つかっています。このサーバーはその問題を解決します。
エージェントが API を呼び出すにはシークレットが必要ですが、生の値を見せるべきではありません。secure-vault-mcp はシークレットを AES-256-GCM で暗号化して保存し、有効期間の短いスコープ付きトークンを発行します。また、サーバー側でリクエストにシークレットを注入するため、エージェントが平文の認証情報を扱うことはありません。
インストール
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
有効期間の短いスコープ付きトークンを発行します。エージェントには不透明なトークン ID が渡され、生のシークレットは渡されません。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
agent_id | string | 必須 | リクエスト元のエージェント識別子 |
service | string | 必須 | トークンを取得するサービス |
scope | string | "read" | "read"、"write"、"admin" |
ttl_seconds | number | 300 | トークンの TTL(10 秒~86400 秒) |
rotate_secrets
サービスのすべてのシークレットをローテーションします。古いトークンは無効化されます。
| パラメーター | 型 | 説明 |
|---|---|---|
service | string | シークレットをローテーションするサービス |
new_value | string | 新しいシークレットの値 |
audit_secret_access
一定期間に誰がどのシークレットにアクセスしたかを確認します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
time_range | string | "24h" | "1h"、"6h"、"24h"、"7d"、"all" |
agent_id | string | 任意 | エージェントで絞り込みます |
secret_name | string | 任意 | シークレットで絞り込みます |
scan_config_for_leaks
設定テキストをスキャンして、露出したシークレットを検出します。AWS キー、GitHub トークン、OpenAI/Anthropic キー、Slack トークン、Stripe キー、秘密鍵ブロック、ベアラートークン、および汎用認証情報を、12 個の正規表現パターンで検出します。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
config_text | string | 必須 | スキャンする設定内容 |
source_label | string | "unknown" | 監査記録用のラベル |
inject_secret_to_request
サーバー側でシークレットを注入したリクエストを返します。エージェントは {{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 で暗号化します
- エージェントには不透明なトークン ID が渡され、生のシークレット値は渡されません
- トークンにはスコープ(read/write/admin)が設定され、有効期間が制限されています(デフォルトは 5 分)
- トークンをローテーションすると、ローテーション対象のシークレットに関する有効なトークンがすべて無効になります
- 保存、トークン発行、注入のすべてを完全に監査記録します
- メモリ内ストレージ — シークレットはサーバーセッションの存続期間中のみ保持されます
テスト
npm test
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。