AI代理权限管理服务

VantaGate是一个AI代理权限管理服务,通过拦截高风险操作并交由人类审批,确保AI代理在关键操作中保持人类控制。

  • by Aderix
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Aderix/vantagate-mcp-server

使用说明

VantaGate MCP服务器和OpenAPI集成

人工智能代理的人机交互授权。 VantaGate拦截高风险操作,通过Slack或电子邮件将其发送给人工审批人,并返回一个加密签名的决定,因此您的代理可以继续或停止进行完整的审计跟踪。


VantaGate是什么?

人工智能代理越来越有能力执行相应的现实世界操作:向数千名用户发送电子邮件、删除数据库记录、转移资金、部署到生产环境。 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:

工件 文件 最适合
OpenAPI 3.0规范 vanta-gate-openapi.json 无代码工具、OpenAI GPT、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钥匙(仪表板→ 项目→ 新项目)

快速开始

选项A:使用带Claude Desktop的MCP服务器

最快的路径。无需手动设置。

第一步: 从获取API密钥 https://vanta-gate.com/dashboard/projects

第二步: 将VantaGate添加到您的Claude桌面配置中。

打开你的 claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "vantagate": {
      "command": "npx",
      "args": ["-y", "@vantagate/mcp-server"],
      "env": {
        "VANTA_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

步骤3: 重新启动克劳德桌面。工具 create_vantagate_checkpoint 和 check_vantagate_status 将出现在克劳德的工具列表中。

步骤4: 让克劳德做一些需要批准的事情:

“从暂存数据库中删除所有记录,其中created_at<2024-01-01”

Claude将自动暂停,创建检查点,并告诉您检查电子邮件或Slack以获取批准通知。


选项B:使用OpenAPI规范(无代码/低代码)

导入 vanta-gate-openapi.json 直接进入您选择的工具。

OpenAI GPT/自定义操作

  1. 打开GPT编辑器 https://platform.openai.com/gpts
  2. 点击 “添加操作” → “从URL导入” 或粘贴JSON
  3. 集 认证 → API Key → 头球 X-API-KEY
  4. 输入您的VantaGate API密钥

GPT现在将在高风险工具调用之前暂停,并请求人工批准。

Alice(人工智能代理平台)

  1. 首选 集成 → 导入OpenAPI
  2. 上传或粘贴 vanta-gate-openapi.json
  3. 设置标题 X-API-KEY 到凭证存储中的VantaGate API密钥
  4. 地图 create_vantagate_checkpoint 你的代理人的“高风险行动前”触发

n8n/Zapier

  1. 添加一个 HTTP请求 节点
  2. 导入OpenAPI规范以自动填充端点
  3. 集 X-API-KEY 凭据配置中的标头

LangChain/LlamaIdex

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

暂停代理工作流并路由人工审批请求。

当克劳德使用它时: 在任何高风险行动之前——财务操作、数据删除、生产部署、批量通信。

参数 类型 必填 说明
title string ✅ 向审批人显示的简短标题。最多200个字符。
payload 对象 ✅ 决策的完整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(专业版/扩展版计划)。来自仪表板→ 添加到Slack。
callback_url string ❌ 已签名决策webhook的HTTPS端点。

退货: checkpoint_id 以及代理的分步说明。

check_vantagate_status

轮询待处理检查点的决策状态。

参数 类型 必填 说明
checkpoint_id string ✅ ID来自 create_vantagate_checkpoint.

退货: 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 检查点的选项数组中没有决策值
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."
}

订阅级别

功能 免费 专业版(每月49美元) 扩展版(每月199美元)
检查点/月 50 2500 25000
电子邮件通知 ✅ ✅ ✅
延迟通知 ❌ ✅ ✅
Webhook回调 ✅ ✅ ✅
最长超时 24小时 7天 30天
日志保留 7天 90天 365天

超时值被默默地限制在计划的最大值。免费计划请求 timeout: "7d" 将被限制在 24h.


网络钩子

当人类做出决定时,VantaGate会向您的 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配置

光标/线/风帆

{
  "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。始终验证签名。

许可证

麻省理工学院-见 许可证


链接