Vantagate Mcp Server について
Vantagate Mcp Server は、AI エージェントのワークフローに人間の承認チェックポイントを設けます。高リスク操作を確認するチーム向けに、Slack またはメールで承認を依頼し、署名付きの決定と監査記録を提供します。
主な機能
- 01人間の承認チェックポイント作成
- 02Slack またはメールで通知
- 03承認状況と決定の確認
- 04署名付き決定と監査記録
- 05OpenAPI 仕様を同梱
活用シーン
- 01データベース削除前の承認依頼
- 02本番デプロイ前のエージェント処理の一時停止
- 03一斉メール送信前の確認
MCP 対応
MCP クライアントに承認チェックポイントの作成と状態確認のツールを提供し、高リスク操作の前にエージェントが人間の判断を待てるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| title | string | はい | 承認者に表示する、短くわかりやすいタイトルです。具体的に記述してください。例:'Delete production users table'。'Database operation' のような一般的な表現は避けてください。 |
| options | array | いいえ | 承認者が選択する決定オプションです。最初のオプションは肯定/操作の承認を示します。例:['Deploy to Production', 'Cancel Deployment']。デフォルトは ['Approve', 'Reject'] です。 |
| payload | object | はい | 関連するすべてのコンテキストを JSON オブジェクトとして指定します。金額、ID、影響を受けるリソース、リスク評価など、人間が十分な情報に基づいて判断するために必要な情報をすべて含めてください。最大 512KB。 |
| timeout | string | いいえ | 判断を待ち、自動的に期限切れになるまでの時間です。形式:30m、4h、2d。デフォルトは 24h です。 |
| description | string | いいえ | 承認者向けの追加コンテキストです。この操作が必要な理由と、その結果を説明してください。 |
| callback_url | string | いいえ | 署名付き決定を受信する HTTPS Webhook エンドポイントです。ポーリングを行う場合は省略できます。 |
| notify_email | string | いいえ | 人間の承認者のメールアドレスです。承認者には、決定 UI にアクセスするための magic-link が送信されます。 |
| slack_webhook_url | string | いいえ | Slack Incoming Webhook URL(Pro/Scale プラン)。リッチなインタラクティブ Slack メッセージを送信します。 |
詳細
VantaGate MCP サーバーと OpenAPI の統合
AI エージェントのための Human-in-the-Loop 認可。 VantaGate はリスクの高いアクションをインターセプトし、Slack またはメールを通じて人間の承認者に回付して、暗号署名された決定を返します。これにより、エージェントは完全な監査証跡とともに処理を再開するか、停止します。
VantaGate とは?
AI エージェントは、何千人ものユーザーへのメール送信、データベースレコードの削除、資金の移動、本番環境へのデプロイなど、現実世界に重大な影響を及ぼすアクションを実行できるようになっています。VantaGate は、人間が確実に制御権を保ち続けられるようにする信頼レイヤーです。
Agent hits risky action
↓
POST /v1/checkpoint ──→ Human receives Slack/Email notification
↓ ↓
id and status Human reviews payload & decides
↓ ↓
Poll GET /v1/checkpoint/{id} ←── Decision recorded + payload purged
↓
APPROVED → Resume workflow
REJECTED → Halt + report reason
主な保証
- API 応答 100 ミリ秒未満 - I/O 待ちによってエージェントがブロックされることはありません
- 保存データの AES-256 ペイロード暗号化 - 決定後、ペイロードは完全に破棄されます
- ゼロ保持ポーリング -
GET /checkpoint/{id}が元のペイロードを返すことはありません - 暗号署名付き監査証跡 - すべての決定に HMAC-SHA256 署名が付与されます
- ステートレスプロトコル - SDK は不要です。どの言語からでもプレーンな HTTP を使用できます
このパッケージについて
このパッケージには、あらゆる AI エージェントを VantaGate に接続するための2 つの統合アーティファクトが含まれています。
| アーティファクト | ファイル | 最適な用途 |
|---|---|---|
| OpenAPI 3.0 仕様 | vanta-gate-openapi.json | ノーコードツール、OpenAI GPTs、Alice、n8n、Zapier |
| MCP サーバー | src/index.ts / dist/index.js | Claude Desktop、Cursor、Cline、あらゆる MCP 対応エージェント |
前提条件
- Node.js >= 20
- VantaGate アカウント:https://vanta-gate.com
- VantaGate API キー(Dashboard → Projects → New Project)
クイックスタート
オプション A:Claude Desktop で MCP サーバーを使用する
最も手軽な方法です。手動でのセットアップは不要です。
ステップ 1: https://vanta-gate.com/dashboard/projects から API キーを取得します
ステップ 2: Claude Desktop の設定に VantaGate を追加します。
claude_desktop_config.json を開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"vantagate": {
"command": "npx",
"args": ["-y", "@vantagate/mcp-server"],
"env": {
"VANTA_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
ステップ 3: Claude Desktop を再起動します。ツール create_vantagate_checkpoint と check_vantagate_status が Claude のツール一覧に表示されます。
ステップ 4: 承認が必要な操作を Claude に依頼します。
「staging データベースから created_at < 2024-01-01 のレコードをすべて削除して」
Claude は自動的に処理を一時停止してチェックポイントを作成し、承認通知を確認するためにメールまたは Slack をチェックするよう伝えます。
オプション B:OpenAPI 仕様を使用する(ノーコード/ローコード)
vanta-gate-openapi.json を選択したツールに直接インポートします。
OpenAI GPTs/カスタムアクション
- https://platform.openai.com/gpts で GPT エディターを開きます
- 「Add actions」 → 「Import from URL」 をクリックするか、JSON を貼り付けます
- Authentication →
API Key→ Header:X-API-KEYを設定します - VantaGate API キーを入力します
これで GPT はリスクの高いツール呼び出しの前に一時停止し、人間の承認を求めるようになります。
Alice(AI エージェントプラットフォーム)
- Integrations → Import OpenAPI に進みます
vanta-gate-openapi.jsonをアップロードするか、貼り付けます- 資格情報ストアで、ヘッダー
X-API-KEYに VantaGate API キーを設定します create_vantagate_checkpointをエージェントの「リスクの高いアクションの前」トリガーに割り当てます
n8n/Zapier
- HTTP Request ノードを追加します
- OpenAPI 仕様をインポートしてエンドポイントを自動入力します
- 資格情報の設定で
X-API-KEYヘッダーを設定します
LangChain/LlamaIndex
from langchain.tools import OpenAPITool
vanta_tool = OpenAPITool.from_openapi_spec(
spec_path="./vanta-gate-openapi.json",
headers={"X-API-KEY": os.environ["VANTA_API_KEY"]}
)
agent = initialize_agent([vanta_tool], llm, agent=AgentType.OPENAI_FUNCTIONS)
利用可能な MCP ツール
create_vantagate_checkpoint
エージェントのワークフローを一時停止し、人間による承認リクエストに振り分けます。
Claude が使用するタイミング: 金融操作、データ削除、本番環境へのデプロイ、一括連絡など、リスクの高い操作を実行する前です。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
title | string | ✅ | 承認者に表示される短いタイトルです。最大 200 文字です。 |
payload | object | ✅ | 判断に必要な JSON コンテキスト全体です。暗号化され、判断後に消去されます。 |
description | string | ❌ | タイトルの下に表示される追加コンテキストです。最大 1000 文字です。 |
options | string[] | ❌ | 判断の選択肢です。最初の選択肢は操作の承認です。デフォルト:["Approve", "Reject"]。最小 2 個、最大 5 個です。 |
timeout | string | ❌ | 自動失効までの時間:30m、4h、2d。デフォルト:24h。 |
notify_email | string | ❌ | マジックリンク通知の送信先メールアドレスです。 |
slack_webhook_url | string | ❌ | Slack の Webhook URL(Pro/Scale プラン)。ダッシュボード → Slack に追加から取得できます。 |
callback_url | string | ❌ | 署名付き判断 Webhook を受信するための HTTPS エンドポイントです。 |
戻り値: checkpoint_id と、エージェント向けの手順をステップごとに返します。
check_vantagate_status
保留中のチェックポイントの判断ステータスをポーリングします。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
checkpoint_id | string | ✅ | create_vantagate_checkpoint が返した ID です。 |
戻り値: status(PENDING/APPROVED/REJECTED/RESOLVED/EXPIRED)、selected_option、reject_reason、および監査証跡全体です。
API リファレンスの概要
ベース URL: https://api.vanta-gate.com/v1
認証: X-API-KEY ヘッダー
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /checkpoint | チェックポイントを作成し、エージェントを一時停止します |
GET | /checkpoint/{id} | 人間による判断をポーリングします |
GET | /checkpoint/secure/{token} | 判断 UI(内部用—マジックリンク) |
POST | /checkpoint/secure/{token}/decide | 判断を送信します(内部用—判断 UI) |
チェックポイントのステータスライフサイクル
PENDING → APPROVED (human chose first/positive option)
→ REJECTED (human rejected with optional reason)
→ RESOLVED (human chose non-primary option)
→ EXPIRED (timeout elapsed, no decision)
エラーコード
| HTTP | コード | 説明 |
|---|---|---|
| 400 | Invalid_Webhook_URL | slack_webhook_url は https://hooks.slack.com/ で始まる必要があります |
| 400 | Invalid_Callback_URL | callback_url の形式が正しくないか、プライベート IP を指しています |
| 400 | Invalid_Decision | 判断値がチェックポイントの options 配列に含まれていません |
| 400 | Validation_Error | リクエストボディのフィールド検証に失敗しました |
| 401 | Unauthorized | API キーがない、無効、またはローテーションされています |
| 402 | Upgrade_Required | この機能には Pro または Scale プランが必要です |
| 403 | Forbidden | API キーがチェックポイントのプロジェクトと一致しません |
| 404 | Not_Found | チェックポイント ID またはトークンが存在しません |
| 409 | Already_Decided | このチェックポイントの判断はすでに記録されています |
| 410 | Checkpoint_Expired | タイムアウト期間を過ぎています |
| 429 | Rate_Limited | リクエストが多すぎます。間隔を空けて再試行してください |
すべてのエラーは次のエンベロープ形式に従います:
{
"statusCode": 400,
"error": "Machine_Readable_Code",
"message": "Human-readable description."
}
サブスクリプションプラン
| 機能 | Free | Pro($49/月) | Scale($199/月) |
|---|---|---|---|
| 月あたりのチェックポイント数 | 50 | 2,500 | 25,000 |
| メール通知 | ✅ | ✅ | ✅ |
| Slack 通知 | ❌ | ✅ | ✅ |
| Webhook コールバック | ✅ | ✅ | ✅ |
| 最大タイムアウト | 24h | 7 日 | 30 日 |
| ログ保持期間 | 7 日 | 90 日 | 365 日 |
タイムアウト値は、プランの上限まで自動的に切り詰められます。Free プランで
timeout: "7d"を指定した場合、24hに制限されます。
Webhook
人間が判断を下すと、VantaGate は署名付き HTTPS POST を callback_url に送信します(指数バックオフで最大 5 回再試行します)。
リクエストヘッダー:
Content-Type: application/json
X-Vanta-Signature: sha256=<HMAC-SHA256 of body>
User-Agent: VantaGate-Webhook/1.0
署名の検証(Node.js):
const crypto = require('crypto')
function verifyVantaSignature(rawBody, signature, projectSecret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', projectSecret)
.update(rawBody)
.digest('hex')
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature)
)
}
app.post('/webhook/vanta', express.raw({ type: 'application/json' }), (req, res) => {
const sig = req.headers['x-vanta-signature']
if (!verifyVantaSignature(req.body, sig, process.env.VANTA_PROJECT_SECRET)) {
return res.status(401).json({ error: 'Invalid signature' })
}
const event = JSON.parse(req.body)
if (event.status === 'APPROVED') {
// ✅ Resume agent workflow
} else if (event.status === 'REJECTED') {
// ❌ Halt - check event.reject_reason
}
res.json({ received: true })
})
Webhook 署名シークレット(VANTA_PROJECT_SECRET)は API キーとは別のものです。ダッシュボード → プロジェクト設定で確認できます。
ソースからビルドする
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run the server directly
VANTA_API_KEY=YOUR_API_KEY_HERE npm start
上級編:その他のクライアント向け MCP 設定
Cursor/Cline/Windsurf
{
"mcpServers": {
"vantagate": {
"command": "npx",
"args": ["-y", "@vantagate/mcp-server"],
"env": {
"VANTA_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
ローカルビルドを使用する場合(開発)
{
"mcpServers": {
"vantagate": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"VANTA_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
セキュリティ
X-API-KEYはサーバー側でハッシュ化されます。VantaGate が平文のキーを保存することはありません。slack_webhook_urlはリクエストごとに送信され、判定後にアトミックに削除されます。保持期間はゼロです。- すべてのペイロードデータはAES-256 で保存時に暗号化され、人間による判定後に破棄されます。復元することはできません。
callback_urlはプライベート IP アドレスの範囲に対して検証されます(SSRF 防止)。- すべての Webhook 配信にはHMAC-SHA256 で署名します。必ず署名を検証してください。
ライセンス
MIT - LICENSE をご覧ください。
リンク
- ダッシュボード: https://vanta-gate.com/dashboard
- API ドキュメント全文: https://vanta-gate.com/dashboard/docs
- プライバシーポリシー: https://vanta-gate.com/legal/privacy-policy
- 利用規約: https://vanta-gate.com/legal/terms-of-service
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。