agentvault について
AgentVaultは、自律型エージェント向けの認証情報管理サービスで、保存したシークレットへのアクセスをMCPサーバー経由で提供します。暗号化に加え、エージェントごとの権限、支出上限、アクセスログを扱います。
主な機能
- 01Fernetによる認証情報の暗号化
- 02エージェントIDごとの専用キー発行
- 03権限パターンによるアクセス制限
- 04日次・月次予算の適用
- 05成功・拒否を含むアクセス記録
活用シーン
- 01タスクに必要な認証情報をエージェントに渡す
- 02パターンで認証情報へのアクセスを制限
- 03エージェントごとの支出上限を設定
- 04認証情報へのアクセスや拒否を確認
MCP 対応
認証情報の一覧と取得、期限付きの復号値の返却、保管庫の状態確認、予算設定、監査ログ表示のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
AgentVault
自律型エージェント向けのAIネイティブな認証情報管理。 APIキーをカラム単位のFernet暗号化で保存し、登録済みのエージェントIDに一意の avk_ キーを発行し、復号した値をTTL付きでプロキシし、エージェントごとの支出予算を適用し、すべてのアクセスを記録して、すべてをMCP サーバーとして公開します。
- ライブAPI: https://agentvault-api-production.up.railway.app
- ドキュメント: https://agentvault-api-production.up.railway.app/docs
- ステータス: 本番稼働中(Railway + Postgres + Stripe 本番環境)
理由
自律型エージェントが役立つ処理を行うには、APIキーが必要です。Stripe、OpenAI、SendGrid、自社の内部サービスなどが対象です。現状では、次の3つの選択肢はいずれも問題があります。
- エージェントのプロンプトや設定にハードコードする。 ログに漏えいし、ローテーションできず、監査証跡もありません。
- 起動時に環境変数で渡す。 エージェントごとの分離がなく、予算管理もできず、再デプロイせずに失効させることもできません。
- 独自のボルトを構築する。 実際の作業が必要です。保存時と転送時の暗号化、監査ログ、キーのローテーション、予算管理が必要になります。
AgentVaultは、サービスとして提供する3つ目の選択肢です。エージェントごとに1つの avk_ キーを使用します。アクセス許可パターン(["stripe_*", "openai_*"])、日次/月次の支出上限、すべてのアクセスログに対応します。MCPネイティブなので、エージェントは vault.get_credential("stripe_key") を呼び出し、TTL付きの復号済みの値を取得できます。
クイックスタート
直接HTTP
import httpx
resp = httpx.post(
"https://agentvault-api-production.up.railway.app/api/v1/vault/get/stripe_key",
headers={"X-Agent-Key": "avk_..."},
params={"cost": 0.05},
)
stripe_key = resp.json()["value"]
MCP(Claude Desktop / Cursor / Cline)
{
"mcpServers": {
"agentvault": {
"command": "python",
"args": ["-m", "mcp_server"],
"env": {
"AGENTVAULT_API_URL": "https://agentvault-api-production.up.railway.app",
"AGENTVAULT_AGENT_KEY": "avk_..."
}
}
}
}
その後、Claudeで vault.get_credential("stripe_key") を呼び出すと、復号済みの値が返されます。
仕組み
- カラム単位のFernet暗号化 — 認証情報はデータベースに書き込まれる前に
VAULT_ENCRYPTION_KEYで暗号化されます。保存時のディスク暗号化だけの場合よりも強力です。 avk_エージェントキー — 保存時にSHA-256でハッシュ化され、平文では保存されません。sk_live_/whsec_のように、プレフィックスで判別できます。- アクセス許可パターン —
["stripe_*", "openai_*"]を使って、完全なポリシーエンジンなしでエージェントのアクセス範囲を設定できます。fnmatchベースです。 - 予算の適用 — エージェントごとに日次および月次の上限を設定できます。
/vault/get?cost=0.05で支出が記録され、上限に達すると429が返されます。 - 監査ログ — 成功・拒否を問わず、すべてのアクセスがIP、ユーザーエージェント、エラー理由とともに
credential_access_logsに記録されます。 - MCP サーバー —
mcp_server/は、list_credentials、get_credential、vault_status、set_budget、view_audit_logをstdio MCPツールとして公開します。
料金
| プラン | $/月 | エージェント | 認証情報 | 監査 | ローテーション | 予算 | チーム |
|---|---|---|---|---|---|---|---|
| Free | $0 | 3 | 10 | – | – | – | – |
| Pro | $49 | 25 | 100 | ✓ | ✓ | – | – |
| Business | $149 | ∞ | ∞ | ✓ | ✓ | ✓ | ✓ |
| Enterprise | $499 | ∞ | ∞ | ✓ | ✓ | ✓ | ✓ + SSO + コンプライアンス |
セルフホスト
git clone https://github.com/bch1212/agentvault
cd agentvault
pip install -r requirements.txt
cp .env.example .env # then fill in VAULT_ENCRYPTION_KEY and DATABASE_URL
python -m api.main
テストを実行します:
python -m pytest -v # 34 tests
Railwayにデプロイします:
bash deploy.sh
アーキテクチャ
api/
├── main.py # FastAPI + lifespan
├── database.py # Async SQLAlchemy (auto-rewrites postgresql:// → postgresql+asyncpg://)
├── services/
│ ├── encryption.py # Fernet encrypt/decrypt
│ ├── auth.py # avk_ key gen + SHA-256 hashing
│ ├── budget.py # Per-agent spend tracking
│ ├── audit.py # Access log
│ └── alerts.py # SendGrid alerts
├── middleware/ # X-Agent-Key + Bearer auth
└── routers/ # users, agents, credentials, vault, audit, budgets, billing
mcp_server/ # FastMCP stdio server
tests/ # 34 tests, SQLite in-memory
ライセンス
MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。