mcpField
A
agentvault

agentvault

ローカル
github.com/bch1212セキュリティ021 週間前に更新

agentvault について

AgentVaultは、自律型エージェント向けの認証情報管理サービスで、保存したシークレットへのアクセスをMCPサーバー経由で提供します。暗号化に加え、エージェントごとの権限、支出上限、アクセスログを扱います。

主な機能

  1. 01Fernetによる認証情報の暗号化
  2. 02エージェントIDごとの専用キー発行
  3. 03権限パターンによるアクセス制限
  4. 04日次・月次予算の適用
  5. 05成功・拒否を含むアクセス記録

活用シーン

  1. 01タスクに必要な認証情報をエージェントに渡す
  2. 02パターンで認証情報へのアクセスを制限
  3. 03エージェントごとの支出上限を設定
  4. 04認証情報へのアクセスや拒否を確認

MCP 対応

認証情報の一覧と取得、期限付きの復号値の返却、保管庫の状態確認、予算設定、監査ログ表示のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"bch1212-agentvault": {
"command": "npx",
"args": [
"-y",
"agentvault-mcp"
],
"env": {
"AGENTVAULT_API_URL": "<AGENTVAULT_API_URL>",
"AGENTVAULT_AGENT_KEY": "<AGENTVAULT_AGENT_KEY>"
}
}
}
}
起動コマンドnpx -y agentvault-mcp
設定が必要な環境変数
AGENTVAULT_API_URLBase URL of your AgentVault deployment
AGENTVAULT_AGENT_KEYシークレットYour avk_ agent API key

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmagentvault-mcp0.1.0

ツール

3

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

AgentVault

自律型エージェント向けのAIネイティブな認証情報管理。 APIキーをカラム単位のFernet暗号化で保存し、登録済みのエージェントIDに一意の avk_ キーを発行し、復号した値をTTL付きでプロキシし、エージェントごとの支出予算を適用し、すべてのアクセスを記録して、すべてをMCP サーバーとして公開します。

理由

自律型エージェントが役立つ処理を行うには、APIキーが必要です。Stripe、OpenAI、SendGrid、自社の内部サービスなどが対象です。現状では、次の3つの選択肢はいずれも問題があります。

  1. エージェントのプロンプトや設定にハードコードする。 ログに漏えいし、ローテーションできず、監査証跡もありません。
  2. 起動時に環境変数で渡す。 エージェントごとの分離がなく、予算管理もできず、再デプロイせずに失効させることもできません。
  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$0310––––
Pro$4925100✓✓––
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。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。