mcpField
V
Vantagate Mcp Server

Vantagate Mcp Server

本地服务
github.com/Aderix通信协作125 周前更新

关于 Vantagate Mcp Server

Vantagate Mcp Server 为 AI Agent 工作流提供人工审批关卡,适用于需要审核高风险操作的团队。它通过 Slack 或电子邮件通知审批者,并提供签名决策和审计记录。

主要功能

  1. 01创建人工审批检查点
  2. 02通过 Slack 或电子邮件通知
  3. 03查询审批状态与决定
  4. 04签名决策并保留审计记录
  5. 05提供 OpenAPI 规范

适用场景

  1. 01执行数据库删除前请求审批
  2. 02生产部署前暂停 Agent 工作流
  3. 03发送批量邮件前由人员审核

MCP 相关

该 MCP 服务向 MCP 客户端提供创建审批检查点和查询状态的工具,使 Agent 可在高风险操作前等待人工决定。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vantagate": {
"command": "npx",
"args": [
"-y",
"@vantagate/mcp-server"
],
"env": {
"VANTA_API_KEY": "<VANTA_API_KEY>"
}
}
}
}
启动命令npx -y @vantagate/mcp-server
需要配置的环境变量
VANTA_API_KEY密钥Your VantaGate API Key (Format: vg_123...)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@vantagate/mcp-server1.0.2

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
titlestring是向审批者显示的简短易懂标题。请具体说明。例如:'Delete production users table',而不是笼统的 'Database operation'。
optionsarray否供审批者选择的决策选项。第一个选项表示肯定/批准操作。例如:['Deploy to Production', 'Cancel Deployment']。默认为 ['Approve', 'Reject']。
payloadobject是所有相关上下文,使用 JSON 对象表示。包括金额、ID、受影响的资源、风险评估等,涵盖人工做出知情决策所需的一切信息。最大 512KB。
timeoutstring否等待决策后自动过期的时长。格式:30m、4h、2d。默认为 24h。
descriptionstring否提供给审批者的补充上下文。说明为何需要此操作及其后果。
callback_urlstring否用于接收已签名决策的 HTTPS Webhook 端点。轮询时可选。
notify_emailstring否人工审批者的电子邮件地址。对方将收到用于访问决策界面的 magic-link。
slack_webhook_urlstring否Slack Incoming Webhook URL(Pro/Scale 计划)。发送包含丰富交互内容的 Slack 消息。

详细介绍

VantaGate MCP 服务与 OpenAPI 集成

npm version License: MIT Node.js >= 20

为 AI Agent 提供人在环路中的授权。 VantaGate 会拦截高风险操作,通过 Slack 或 Email 将其转交给人工审批者,并返回经过加密签名的决策——让你的 Agent 在具备完整审计记录的情况下继续运行或停止。


什么是 VantaGate?

AI Agent 越来越有能力执行会对现实世界产生重大影响的操作:向数千名用户发送电子邮件、删除数据库记录、转移资金、部署到生产环境。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 响应时间 < 100ms——你的 Agent 无需等待 I/O,不会被阻塞
  • 静态数据采用 AES-256 载荷加密——决策作出后,载荷将被永久销毁
  • 零保留轮询——GET /checkpoint/{id} 永远不会返回原始载荷
  • 加密审计记录——每项决策都经过 HMAC-SHA256 签名
  • 无状态协议——无需 SDK;任何语言都可以使用纯 HTTP

此软件包

此软件包提供了两种集成方式,可将任意 AI Agent 连接到 VantaGate:

方式文件适用场景
OpenAPI 3.0 规范vanta-gate-openapi.json无代码工具、OpenAI GPTs、Alice、n8n、Zapier
MCP 服务src/index.ts / dist/index.jsClaude Desktop、Cursor、Cline,以及任何兼容 MCP 的 Agent

前置条件

  • 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 步: 将 VantaGate 添加到 Claude Desktop 配置中。

打开你的 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 执行需要审批的操作:

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

Claude 会自动暂停、创建检查点,并提示你查看电子邮件或 Slack 中的审批通知。


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

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

OpenAI GPTs / 自定义操作
  1. 在 https://platform.openai.com/gpts 打开 GPT 编辑器
  2. 点击 “Add actions” → “Import from URL”,或粘贴 JSON
  3. 设置 Authentication → API Key → Header:X-API-KEY
  4. 输入你的 VantaGate API 密钥

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

Alice(AI Agent 平台)
  1. 前往 Integrations → Import OpenAPI
  2. 上传或粘贴 vanta-gate-openapi.json
  3. 在凭据存储中将标头 X-API-KEY 设置为你的 VantaGate API 密钥
  4. 将 create_vantagate_checkpoint 映射到 Agent 的“高风险操作前”触发器
n8n / Zapier
  1. 添加 HTTP Request 节点
  2. 导入 OpenAPI 规范以自动填充端点
  3. 在凭据配置中设置 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

暂停 Agent 工作流,并提交人工审批请求。

Claude 使用时机: 执行任何高风险操作之前,例如财务操作、删除数据、生产环境部署和批量通信。

参数类型必填描述
titlestring✅显示给审批人的简短标题。最多 200 个字符。
payloadobject✅用于决策的完整 JSON 上下文。决策后加密并清除。
descriptionstring❌标题下方的补充上下文。最多 1000 个字符。
optionsstring[]❌决策选项。第一个选项表示批准操作。默认值:["Approve", "Reject"]。最少 2 个,最多 5 个。
timeoutstring❌自动过期时长:30m、4h、2d。默认值:24h。
notify_emailstring❌用于接收魔法链接通知的电子邮件地址。
slack_webhook_urlstring❌Slack webhook URL(Pro/Scale 方案)。前往 Dashboard → Add to Slack 获取。
callback_urlstring❌用于接收签名决策 webhook 的 HTTPS 端点。

返回: checkpoint_id 和提供给 Agent 的分步说明。

check_vantagate_status

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

参数类型必填描述
checkpoint_idstring✅来自 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创建检查点并暂停 Agent
GET/checkpoint/{id}轮询人工决策
GET/checkpoint/secure/{token}决策界面(内部使用 — 魔法链接)
POST/checkpoint/secure/{token}/decide提交决策(内部使用 — 决策界面)
检查点状态生命周期
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代码描述
400Invalid_Webhook_URLslack_webhook_url 必须以 https://hooks.slack.com/ 开头
400Invalid_Callback_URLcallback_url 格式不正确或指向私有 IP
400Invalid_Decision决策值不在检查点的选项数组中
400Validation_Error请求正文中的字段验证失败
401UnauthorizedAPI 密钥缺失、无效或已轮换
402Upgrade_Required此功能需要 Pro 或 Scale 方案
403ForbiddenAPI 密钥与检查点所属项目不匹配
404Not_Found检查点 ID 或令牌不存在
409Already_Decided此检查点的决策已记录
410Checkpoint_Expired已超过超时时间
429Rate_Limited请求过多 — 请稍后重试

所有错误都采用以下封装格式:

{
  "statusCode": 400,
  "error": "Machine_Readable_Code",
  "message": "Human-readable description."
}

订阅级别

功能FreePro($49/月)Scale($199/月)
每月检查点数502,50025,000
电子邮件通知✅✅✅
Slack 通知❌✅✅
Webhook 回调✅✅✅
最长超时时间24h7 天30 天
日志保留时间7 天90 天365 天

超时值会自动限制为你所用方案允许的最大值。Free 方案的 timeout: "7d" 请求会被限制为 24h。


Webhook

人工做出决策后,VantaGate 会向你的 callback_url 发送经过签名的 HTTPS POST 请求(最多重试 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 密钥不同。可在 Dashboard → Project Settings 中找到。


从源代码构建

# 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


链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。