Claude Code・Codex・Antigravity など MCP 対応の AI ツールで、API キーやトークンの値そのものを AI に渡さずに使える macOS アプリ。AI のコンテキストにも会話ログにも、生のキーは残りません。
買い切り ¥2,800 — サブスクリプション不要
KeyVaultMCP の仕組みを約45秒で解説
OWASP MCP Top 10 はトークン管理の不備を第1位のリスクに挙げています。AIコーディングツールの普及で、この問題はさらに複雑になっています。
# .env
OPENAI_API_KEY=sk-proj-abc123...
AWS_SECRET_ACCESS_KEY=wJalrXUtn...
.gitignore の設定ミスや git add . で一瞬にしてGitHubに公開されます。さらに、AIコーディングツールとの組み合わせで新たなリスクも生じています。Claude Code が .env を自動的にコンテキストに読み込む動作が報告されており、.claudeignore の設定では防げないケースがあります。AIが生成したコードに .env の値が混入してコミットされるリスクも高まっています。
// claude_desktop_config.json
{
"mcpServers": {
"my-api": {
"command": "node",
"env": {
"API_KEY": "sk-live-abc123..."
}
}
}
}
MCPサーバーの env にAPIキーを直接記述するのは手軽ですが、ファイルは暗号化されません。GitGuardian の調査では MCP設定ファイルから24,008件のシークレットが検出され、うち2,117件が有効なクレデンシャルでした。dotfilesの同期やマシン共有でも露出します。
KeyVaultMCP は、クレデンシャルを暗号化された Vault に保管し、MCP 経由でも平文の値を AI に渡しません。
設定ファイルやソースコードはもちろん、AI のコンテキストや会話ログにも、生のキーは現れません。
Claude Code、Codex、Cursor、Antigravity などに、正式名 keyvaultmcp の MCP サーバーとして登録するだけ。コマンド1つでセットアップでき、AIが必要なときだけクレデンシャルを取得します。
MCP の get_credential はメタデータ (URL / token ラベル) のみを返し、値そのものは決して返しません。実際の API 呼び出しは call_api が {{KV:...}} プレースホルダを**アプリ内で**実値に置換して HTTPS リクエストを発行。AI のコンテキストや会話ログに生のキーは現れません。承認ダイアログ・URL 検証・高リスク再認証の手前関門も合わせて働きます。
月額・年額のサブスクリプションは不要。一度の購入でずっと使えます。
実際の KeyVaultMCP の画面です。
4つの関門をすべて通過しないと、クレデンシャルはAIが使える形になりません。
さらに最後まで通過しても、AIは値そのものを目にしません。
MCP の get_credential はメタデータしか返さず、AI は値を一切目にしません。実 API 呼び出しは call_api がアプリ内で {{KV:...}} を置換して HTTPS 発行し、レスポンスだけを AI に戻します (値が応答に漏れても自動で伏字化)。http:// は拒否、30x リダイレクトも自動追従しません。
AIの送信先URLを、クレデンシャルに登録されたドメインと照合。一致しなければ即座に拒否。ワイルドカード(*.example.com)対応。
macOS ネイティブのダイアログが表示され、ユーザーが「許可」を押さないとアクセスは進みません。デフォルトボタンは「拒否」、30秒タイムアウト、AppleScript injection 対策済み。秘密情報・マスターパスワードはアプリプロセス内のメモリにしか存在せず、外部プロセス (AI クライアント等) に出ることはありません。
本番DB・AWSキーなどの高リスクアカウントは、マスターパスワードの再入力が必要。URL未登録のままではMCP経由アクセスを完全拒否。
フィルタ済みの生ログをそのまま表示し、必要なときだけコピーして外部 AI やレビュー担当へ渡せます。
すべてのMCP経由アクセスは自動的にログに記録されます。ログ画面の「監査テキスト」でフィルタ済みの生ログを表示し、「監査用コピー」でAIに貼り付けやすい形でコピーできます。ログに含まれるのはサービス名、アクション、結果、URLのみで、クレデンシャルの値は含まれません。
AI クライアントと通信するためにローカルサーバーを内蔵していますが、外部やブラウザから到達・悪用されないよう多層で設計しています。
このマシンの内部からのみ接続でき、別マシンやネットワーク越しには到達できません。接続にはアプリが発行する専用トークンが必須です。
Web サイトからの不正リクエスト (CSRF・DNS リバインディング・なりすまし等) は受け付けません。
HTTPS 以外の送信や、リダイレクト・レスポンス経由で secret が外部に漏れる経路を塞いでいます。
Vault がロックされている間は、クレデンシャルに関わる操作を一切受け付けません。
コマンド1つで登録、あとは AI に話しかけるだけ。
# KeyVaultMCP.app を起動 → ツールバーの AI 接続から URL/トークン取得 → 以下を実行
claude mcp add --transport http --scope user keyvaultmcp http://127.0.0.1:<port>/mcp --header "Authorization: Bearer <token>"
# あとは AI に話しかけるだけ
> GitHub のトークンを使ってリポジトリ一覧を取得して。
他にもクレデンシャル管理ツールはありますが、KeyVaultMCP の立ち位置を整理します。
OWASP の推奨事項に基づいて設計しています。