mcpField
V
Vanta

Vanta

ローカル
github.com/mindstoneセキュリティ13今日更新

Vanta について

Vanta は、Vanta API 経由でデータを読み書きするコンプライアンスチーム向けの MCP サーバーです。脆弱性、テスト、コントロール、証拠書類、担当者、ベンダーを扱い、文書のアップロードにも対応します。

主な機能

  1. 01脆弱性、テスト、コントロールの取得
  2. 02フレームワーク、ポリシー、連携の確認
  3. 03担当者、ベンダー、リスクシナリオの検索
  4. 04ベンダーの作成と更新
  5. 05コンプライアンス証拠書類のアップロード

活用シーン

  1. 01脆弱性監視とテスト結果の確認
  2. 02コントロールとコンプライアンス概要の確認
  3. 03ベンダーと関連文書の管理
  4. 04既存の Vanta 文書への証拠添付

MCP 対応

Vanta のコンプライアンスデータと文書を扱う、読み書き対応の 25 種類のツールを MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mindstone-mcp-server-vanta": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-vanta"
],
"env": {
"VANTA_CLIENT_ID": "<VANTA_CLIENT_ID>",
"VANTA_CLIENT_SECRET": "<VANTA_CLIENT_SECRET>",
"VANTA_REGION": "<VANTA_REGION>",
"VANTA_REQUEST_TIMEOUT_MS": "<VANTA_REQUEST_TIMEOUT_MS>"
}
}
}
}
起動コマンドnpx -y @mindstone/mcp-server-vanta
設定が必要な環境変数
VANTA_CLIENT_IDVanta OAuth Client ID
VANTA_CLIENT_SECRETシークレットVanta OAuth Client Secret
VANTA_REGIONAccepted for compatibility; US/EU/AU tenants all use api.vanta.com
VANTA_REQUEST_TIMEOUT_MSPer-request timeout in milliseconds (default 60000)

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

パッケージ
npm@mindstone/mcp-server-vanta0.3.1

ツール

25

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

パラメーター型必須説明
severitystringいいえドキュメントに記載された重大度で絞り込みます:CRITICAL、HIGH、MEDIUM、LOW
page_sizeintegerいいえ返す脆弱性の数。最大 100 件
page_cursorstringいいえ次のページを取得するための、前回のレスポンスに含まれるカーソル
integration_idstringいいえ脆弱性を検出した Vanta インテグレーション ID で絞り込みます
is_deactivatedbooleanいいえ脆弱性に対する Vanta の監視が無効化されているかどうかで絞り込みます

詳細

@mindstone/mcp-server-vanta

Vanta のコンプライアンス MCP サーバーです。Vanta API を介して、脆弱性、テスト、コントロール、ユーザー、ベンダー、ドキュメント、コンプライアンスの概要を読み書きできます。

ワンクリックインストール

Cursor に追加 VS Code に追加 VS Code Insiders に追加

ボタンをクリックすると、ホストから次の値を入力するよう求められます:VANTA_CLIENT_ID、VANTA_CLIENT_SECRET、VANTA_REGION、VANTA_REQUEST_TIMEOUT_MS。

Claude Desktop / Claude Code / Goose / Continue.dev 向けの手動設定(Vanta)
{
  "mcpServers": {
    "Vanta": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-vanta"
      ],
      "env": {
        "VANTA_CLIENT_ID": "",
        "VANTA_CLIENT_SECRET": "",
        "VANTA_REGION": "us",
        "VANTA_REQUEST_TIMEOUT_MS": "60000"
      }
    }
  }
}

ステータス

  • バージョン: 0.3.1 · npm
  • 認証: OAuth クライアントクレデンシャルグラント(VANTA_CLIENT_ID + VANTA_CLIENT_SECRET)
  • ツール: 25 個(脆弱性、テスト、コントロール、フレームワーク、ポリシー、インテグレーション、リスクシナリオ、イベントログ、ユーザー、ベンダー、ドキュメント、コンプライアンス概要にわたる読み取り 19 個 + 書き込み 6 個)
  • サーフェス: cloud-api
  • リージョン: VANTA_REGION は後方互換性のために受け付けます。すべての標準テナント(US、EU、AU)は同じ API ホスト(api.vanta.com)を共有します。このパッケージでは、この設定値によるルーティングは行われません。

インストール

npx -y @mindstone/mcp-server-vanta

設定

サーバーを起動する前に、次の環境変数を設定します。

  • VANTA_CLIENT_ID — Vanta OAuth クライアント ID(必須)
  • VANTA_CLIENT_SECRET — Vanta OAuth クライアントシークレット(必須)
  • VANTA_REGION — 後方互換性のために受け付けます。すべての標準テナント(US、EU、AU)は同じ API ホスト(api.vanta.com)を共有します。このパッケージでは、この設定値によるルーティングは行われません。
  • VANTA_REQUEST_TIMEOUT_MS — リクエストのタイムアウト(ミリ秒、デフォルトは 60000)

認証情報を生成するには、Vanta Developer Console を開き、新しい「Manage Vanta」アプリタイプを作成して、クライアント ID とクライアントシークレットをコピーします。

要求される OAuth スコープ

コネクターは、すべてのトークン交換で次のスコープ文字列を正確に要求します。

vanta-api.all:read vanta-api.all:write vanta-api.documents:upload

vanta-api.documents:upload は vanta-api.all:write とは別のスコープです。Vanta のドキュメントアップロードエンドポイントで必要になります。Vanta はアプリケーションごとに有効なトークンを 1 つ発行し、スコープをアプリケーションに照らして検証するため、ツールごとにより狭いスコープを要求する方法はありません。このトレードオフは意図的に受け入れています。アップロードを行わないインストールも含め、すべてのインストールでアップロードスコープが付与されます。

以前のバージョンからアップグレードする場合: Manage Vanta アプリで vanta-api.documents:upload を要求できないと、トークン交換が invalid_scope で失敗し、すべてのツールが動作しなくなります。Developer Console でアプリを更新(または再作成)し、3 つすべてのスコープを要求できるようにしてください。

ツール

読み取り
  • vanta_list_vulnerabilities / vanta_get_vulnerability
  • vanta_list_tests / vanta_get_test
  • vanta_list_controls / vanta_get_control
  • vanta_list_frameworks / vanta_get_framework
  • vanta_list_policies / vanta_get_policy
  • vanta_list_integrations
  • vanta_list_risk_scenarios / vanta_get_risk_scenario
  • vanta_list_event_logs
  • vanta_list_people
  • vanta_query_test_results
  • vanta_get_compliance_summary
  • vanta_list_vendors / vanta_get_vendor
書き込み
  • vanta_create_vendor
  • vanta_update_vendor
  • vanta_attach_vendor_document
  • vanta_deactivate_vulnerability_monitoring
  • vanta_reactivate_vulnerability_monitoring
  • vanta_upload_document
ファイルのアップロード

Vanta のアップロードエンドポイントはファイルを multipart/form-data として受け取るため、どちらのアップロードツールも公開された https:// URLを受け取り、コネクターがファイルをダウンロードしてから、そのバイトデータを Vanta に転送します。

  • vanta_upload_document は、POST /v1/documents/{documentId}/uploads を介して、既存の Vanta ドキュメント(document_id)に証跡を添付します。
  • vanta_attach_vendor_document は、POST /v1/vendors/{vendorId}/documents を介して、ベンダーにドキュメントを添付します(vendor_id と、SOC2_REPORT などの必須の document_type を指定します)。

Vanta は .pdf、.docx、.jpg、.png、.xlsx ファイルを受け付けます。

既知の制限事項

  • アップロードされたファイルは下書きとして保存されます。 Vanta では、API からドキュメントにアップロードされたファイルは下書きとして登録されます。監査担当者が証跡を確認できるようにするには、Vanta でドキュメントをレビューに提出する必要があります。ツールの結果には submission_required でその旨が示されますが、コネクターには提出を行うツールがありません。
  • ドキュメントは作成できません。 vanta_upload_document は、Vanta にすでに存在するドキュメントにファイルを添付します。ドキュメントの作成はできません。
  • ID のフォールバック検索には上限があります。 ID による直接の GET が 404 を返した場合、コネクターはコレクションをカーソルページネーションで検索し、最大 50 ページ(5,000 件)まで ID を探します。この上限を超えると、最初のページだけで黙って検索を諦めるのではなく、部分検索についての注記を添えて見つからなかったことを報告します。

安全性

このサーバーでは、以下を徹底しています。

  • 文法チェック済みの構造リテラル(識別子、列挙型のステータス、ISO-8601 の日付、http(s) URL、ページネーションカーソル)を除き、Vanta API のレスポンスに含まれるすべての文字列は、モデルに届く前に <untrusted-content> エンベロープで囲まれます。これらの構造リテラルは、後続のツール呼び出しでそのまま引用できるよう、元の形を保つ必要があります。閉じタグを使ったエスケープによるエンベロープの突破も防ぎます。このデフォルト拒否方式の走査により、後から Vanta が追加するフィールドや、コネクターが把握していない攻撃者の影響を受けるフィールド(例:スキャナーが作成したパッケージ識別子)は、生のままモデルに届かず、エンベロープで囲まれます。API と OAuth のエラーボディに含まれる外部メッセージテキストも同様にエンベロープで囲み、認証情報のような値は伏せ字にします。
  • 2 つのアップロードツールの両方で HTTPS のみを許可する URL 検証を実施します(file:、localhost、RFC1918、クラウドのメタデータアドレスを含むリンクローカル、IPv6 ループバック/ULA、および DNS レコードがこれらのいずれかに解決されるホスト名を拒否します)。
  • ドキュメントの取得には上限を設けています。リダイレクトは最大 3 回で、各ホップを同じ URL ガードで再検証します。タイムアウトは 30 秒、サイズ上限は 25 MB で、ストリーミング中に適用されます(Content-Length を偽って上限を回避することはできません)。
  • Content-Type の処理では、バイトレベルの MIME スニッフィングではなく、ヘッダーをサニタイズします。信頼できないソースラベルは application/octet-stream に置き換えます。
  • 拒否理由ごとに、汎用エラーではなく、ブロックされたホスト、HTTPS 以外、サイズ超過、タイムアウト、リダイレクト上限などの明確で構造化されたエラーを返します。
  • 1 分あたり 50 リクエストのレート制限と、トークン交換のシングルフライト制御を実施します。
  • クライアント境界で外部レスポンスを Zod により検証します(ページネーションされたリストのエンベロープと OAuth トークンレスポンス)。不正なペイロードは、未検証のキャストではなく、構造化された RESPONSE_INVALID/AUTH エラーになります。
  • バイナリーサーチによるトリミングでレスポンスを 25 KB に制限します。レスポンスを切り詰めた場合は pageInfo を削除し、より小さい page_size での再試行を案内します。完全なページのカーソルを使うと、削除されたレコードが気付かれないままスキップされるためです。
  • すべてのエラーメッセージで Bearer トークンを伏せ字にします。

ライセンス

FSL-1.1-MIT

コメント

MCP は初めてですか?

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

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