Vanta MCP Server
Vanta MCPサーバー
Vantaコンプライアンスプラットフォーム用のMCPサーバーです。コントロール、脆弱性、ベンダー、テスト、リスクシナリオ、ポリシー、監視対象コンピュータ、ドキュメント、および検出結果を管理するための16個のツールを提供します。
トランスポート
トランスポート | エンドポイント | ユースケース |
Streamable HTTP |
| Claude Desktop、ほとんどのMCPクライアント |
SSE |
| レガシークライアント (n8nなど) |
Health |
| コンテナのヘルスチェック |
クイックスタート — Docker
1. 認証情報の取得
Vanta Developer Consoleにログインします。
Settings → API Accessに移動します。
OAuthアプリケーションを作成し、Client IDとClient Secretをコピーします。
ツールが必要とするスコープ(通常は
vanta.readおよびvanta.write)を付与します。
2. 設定
cp .env.example .env
# Edit .env — set OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET at minimum.envの例:
OAUTH_CLIENT_ID=your_client_id
OAUTH_CLIENT_SECRET=your_client_secret
AUTH_TOKEN= # optional — requires Bearer auth on /mcp and /sse
PORT=80103. 実行
docker compose up -d
# Server: http://localhost:8010
# Health: http://localhost:8010/health4. Claude Desktopへの接続
claude_desktop_config.jsonに追加します:
{
"mcpServers": {
"vanta": {
"type": "http",
"url": "http://localhost:8010/mcp"
}
}
}AUTH_TOKENが設定されている場合:
{
"mcpServers": {
"vanta": {
"type": "http",
"url": "http://localhost:8010/mcp",
"headers": {
"Authorization": "Bearer YOUR_AUTH_TOKEN"
}
}
}
}クイックスタート — ローカル (Dockerなし)
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
export OAUTH_CLIENT_ID=your_client_id
export OAUTH_CLIENT_SECRET=your_client_secret
python -m src.server環境変数
変数 | デフォルト | 説明 |
|
| 情報用 — |
|
| バインドアドレス |
|
| HTTPポート (レガシーな |
| (無効) | 設定されている場合、クライアントは |
|
|
|
|
| HTTPリクエストのタイムアウト(秒) |
|
| Vanta APIのベースURL |
| — | デフォルトテナント: Vanta OAuth2クライアントID ( |
| — | デフォルトテナント: Vanta OAuth2クライアントシークレット ( |
OAUTH_CLIENT_ID / OAUTH_CLIENT_SECRETは、"default"テナントエントリを自動作成するためにのみ使用されます。マルチテナントデプロイメントの場合は、代わりにconfig/tenants.jsonを使用してください。
マルチテナント
複数のVanta組織に対応するには、config/tenants.jsonに値を入力します(config/tenants.json.exampleからコピーしてください):
{
"tenants": [
{
"id": "acme-corp",
"vanta_base_url": "https://api.vanta.com",
"vanta_client_id": "vci_CLIENT_ID_A",
"vanta_client_secret": "vcs_CLIENT_SECRET_A"
},
{
"id": "contoso",
"vanta_base_url": "https://api.vanta.com",
"vanta_api_token": "vat_PERSONAL_ACCESS_TOKEN_B"
}
]
}id値は、エージェント/クライアントがX-Tenant-IDリクエストヘッダーで送信する値です:
X-Tenant-ID: acme-corp
Authorization: Bearer <AUTH_TOKEN> ← only if AUTH_TOKEN is set in .env認証情報フィールド:
フィールド | 必須 | 説明 |
| ✅ |
|
| オプション | デフォルトは |
| ✅* | OAuthクライアントID (プレフィックス: |
| ✅* | OAuthクライアントシークレット (プレフィックス: |
| ✅* | 個人用アクセストークン — OAuthの代替 (プレフィックス: |
*テナントごとに1つの認証方法が必要です。本番環境ではOAuthが推奨されます。
tenants.jsonに"default"が存在する場合、X-Tenant-IDヘッダーのないリクエストは自動的にその認証情報を使用します。完全なアーキテクチャとクライアントの使用例については、../MCP-Multi-Tenant-Guide.mdを参照してください。
config/tenants.jsonはgitignoredであり、Dockerイメージには含まれません。実行時に./config:/app/config:roボリュームを介してマウントされます。
ツール
コントロール
ツール | 説明 |
| オプションのページネーションを使用してすべてのコントロールを一覧表示 |
| IDを指定して特定のコントロールの詳細を取得 |
| 特定のコントロールにリンクされているすべてのテストを一覧表示 |
脆弱性
ツール | 説明 |
| オプションのページネーションを使用して脆弱性を一覧表示 |
| 脆弱性の修正ステータスとメモを更新 |
| オプションのページネーションを使用して脆弱性の検出結果を一覧表示 |
| IDを指定して脆弱性を無効化 |
ベンダー
ツール | 説明 |
| オプションのページネーションを使用して承認済みベンダーを一覧表示 |
| IDを指定して特定のベンダーの詳細を取得 |
| 自動検出されたベンダー(統合機能によるもの)を一覧表示 |
テスト
ツール | 説明 |
| オプションのページネーションを使用してすべてのコンプライアンステストを一覧表示 |
| 特定のテストに関連付けられたエンティティを一覧表示 |
リスクとポリシー
ツール | 説明 |
| オプションのページネーションを使用してリスクシナリオを一覧表示 |
| オプションのページネーションを使用してセキュリティポリシーを一覧表示 |
アセットとドキュメント
ツール | 説明 |
| Vantaエージェントによって監視されているコンピュータを一覧表示 |
| ドキュメント(ポリシー、手順、証拠)を一覧表示 |
認証フロー
Claude Desktop → POST /mcp
→ TenantAuthMiddleware (validates AUTH_TOKEN if set, reads X-Tenant-ID)
→ _require_client() → tenants.json lookup or env vars
→ OAuth2 token exchange (POST https://api.vanta.com/oauth/token)
→ Vanta API call with Bearer token
→ Responseトークンはテナントインスタンスごとにキャッシュされ、401エラー時に自動的に更新されます。
プロジェクトレイアウト
Vanta-MCP/
├── src/
│ ├── server.py # Starlette app; /mcp, /sse, /health endpoints
│ ├── middleware.py # TenantAuthMiddleware (AUTH_TOKEN + X-Tenant-ID)
│ ├── context.py # Request-scoped tenant ID storage
│ ├── tools.py # All 16 MCP tool functions
│ └── vanta_client.py # Vanta API client (OAuth2, all endpoints)
├── config/
│ ├── tenants.json # Gitignored — your multi-tenant config
│ └── tenants.json.example # Template — safe to commit
├── Dockerfile
├── docker-compose.yml
├── docker-compose.override.yml.example
├── requirements.txt
├── .env.example
└── README.mdトラブルシューティング
401 Unauthorized
OAUTH_CLIENT_IDとOAUTH_CLIENT_SECRETが正しいことを確認してください。OAuthアプリがVanta Developer Consoleで必要なスコープを持っていることを確認してください。
AUTH_TOKENを使用している場合は、クライアントがAuthorization: Bearer <token>を送信していることを確認してください。
403 Forbidden
OAuthアプリのスコープが不足しています。Vanta Developer Consoleで更新してください。
404 Not Found
リソースIDがVanta組織内に存在しません。
Claude Desktopにツールが表示されない
claude_desktop_config.jsonを変更した後、Claude Desktopを再起動してください。サーバーが実行中であることを確認してください:
curl http://localhost:8010/health
No Vanta credentials found
.env(または環境変数)でOAUTH_CLIENT_IDとOAUTH_CLIENT_SECRETが設定されていることを確認してください。または、
config/tenants.jsonがマウントされており、要求されたテナントの有効なエントリが含まれていることを確認してください。
Dockerのコード変更が反映されない
docker compose restartではイメージは再ビルドされません。以下を実行してください:docker compose build --no-cache && docker compose up -d
ライセンス
MIT
Related MCP Connectors
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
CTEM for your Trusteed tenant: security summary, findings, compliance gaps, and scans via OAuth.
EU compliance corpus across 8 frameworks (NIS2, DORA, AI Act, ISO 27001 + more) via MCP.