Token导航 LogoToken导航TokenDH.com
X402 MCP Validator logo
AI代理未说明官方级别未说明来源级核验

X402 MCP Validator

MCP Server

一个用于验证MCP服务器的工具,支持连接、发现能力、探测支付需求、验证支付选项、测量延迟并返回结构化快照。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

AgentProbe

提供方

AgentProbe

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

x402 mcp验证器

端到端验证MCP服务器:通过StreamableHTTP或SSE连接,发现功能,探测每个工具的x402支付要求,根据x402规范验证支付选项,测量延迟,并返回一个包含12个布尔类别和13个输入字段的结构化快照。

快速启动

git clone https://github.com/agentprobe/x402-mcp-validator.git
cd x402-mcp-validator
npm i
import { McpServerValidator } from 'x402-mcp-validator'

const { status, messages, categories, entries } = await McpServerValidator.start( {
    endpoint: 'https://your-mcp-server.example.com/mcp',
    timeout: 15000
} )

特性

  • 使用SSE回退通过StreamableHTTP连接到MCP服务器
  • 发现工具、资源、提示和功能
  • 探测每个工具的x402支付要求(HTTP 402/JSON-RPC-32402)
  • 验证付款选项:方案、网络、金额、资产、付款对象、支票金额
  • 对12个布尔类别进行分类(可达、MCP、x402、EVM、Solana、任务、mcpApps)
  • 测量ping和listTools延迟
  • 比较两个快照并生成结构化差异
  • 连接失败时返回包含所有错误类别的空快照

建筑

验证管道按六个顺序步骤处理MCP服务器:

flowchart LR
    A[endpoint] --> B[McpConnector.connect]
    B --> C[McpConnector.discover]
    C --> D[CapabilityClassifier.classify]
    D --> E[X402Prober.probe]
    E --> F[PaymentValidator.validate]
    F --> G[SnapshotBuilder.build]

目录

- .start() - .compare()

方法

所有方法都是静态的。参数作为对象传递,返回值是对象。

.start()

连接到MCP服务器,发现功能,探测x402支付支持,验证支付要求,测量延迟,并返回结构化快照。

方法

.start( { endpoint, timeout } )
密钥类型描述必填
endpointstringMCP服务器的URL。示例 'https://server.example.com/mcp'是的
timeoutnumber连接超时(毫秒)。默认 10000没有

示例

import { McpServerValidator } from 'x402-mcp-validator'

const { status, messages, categories, entries } = await McpServerValidator.start( {
    endpoint: 'https://your-mcp-server.example.com/mcp',
    timeout: 15000
} )

console.log( `Status: ${status ? 'PASS' : 'FAIL'}` )
console.log( `Tools: ${entries['tools'].length}` )
console.log( `x402: ${categories['supportsX402']}` )
console.log( `Networks: ${JSON.stringify( entries['x402']['networks'] )}` )

退货

{ status, messages, categories, entries }
密钥类型描述
状态布尔值true 未生成消息时
messages字符串数组带有错误代码的警告和错误消息
类别对象12个布尔标志(请参见 分类)
条目对象13个数据字段(请参见 条目)

______________________________________________________________________

.compare()

比较由生成的两个快照 .start() 并返回一个结构化的diff,每个部分包含添加、删除和修改的项目。

方法

.compare( { before, after } )
密钥类型描述必填
beforeobject以前的快照 .start() 电话。必须包含 categoriesentries是的
after对象以后的快照 .start() 电话。必须包含 categoriesentries是的

示例

import { McpServerValidator } from 'x402-mcp-validator'

const before = await McpServerValidator.start( { endpoint: 'https://server.example.com/mcp' } )
const after = await McpServerValidator.start( { endpoint: 'https://server.example.com/mcp' } )

const { status, messages, hasChanges, diff } = McpServerValidator.compare( { before, after } )

console.log( `Changes detected: ${hasChanges}` )
console.log( `Tools added: ${diff['tools']['added'].length}` )
console.log( `Tools removed: ${diff['tools']['removed'].length}` )

退货

{ status, messages, hasChanges, diff }
密钥类型描述
状态布尔值true 比较完成时
messages字符串数组完整性警告(URL不匹配、时间戳问题)
hasChanges布尔值true 当任何差异部分发生变化时
diffobject带节的结构化diff: server, capabilities, tools, x402, latency, categories

分类

返回了12个布尔标志 categories:

密钥描述
isReachable服务器已响应HEAD请求
supportsMcpMCP握手已完成
hasTools服务器至少公开一个工具
hasResources服务器至少公开一个资源
hasPrompts服务器至少公开一个提示
supportsX402至少有一个工具返回了402支付错误
hasValidPayment要求至少有一个付款选项通过了验证
supportsExactScheme具有付款选项 scheme: 'exact'
supportsEvm具有付款选项 network: 'eip155:*'
supportsSolana有付款选项 network: 'solana:*'
supportsTasks服务器通告任务功能
支持mcpApps服务器通告mcpApps功能

条目

中返回了13个数据字段 entries:

密钥类型描述
endpointstring已验证的MCP服务器端点URL
serverNamestring来自MCP握手的服务器名称
服务器版本字符串服务器版本
服务器描述字符串服务器描述
protocolVersionstringMCP协议版本
功能对象原始服务器功能
指令字符串服务器指令
toolsarray发现的具有名称、描述、inputSchema的工具
资源数组已发现的资源
提示数组发现的提示
x402对象付款数据: version, restrictedCalls, paymentOptions, networks, schemes, perTool
延迟对象pinglistTools 以毫秒为单位
timestampstringISO 8601验证时间戳

验证码

VAL——输入验证

代码严重性描述
VAL-001错误端点:缺少值
VAL-002错误端点:必须是字符串
VAL-003错误端点:不能为空
VAL-004错误端点:必须是有效的URL
VAL-005错误超时:必须是数字
VAL-006错误超时:必须大于0
VAL-010错误之前:缺少值
VAL-011错误之前:必须是对象
VAL-012错误之前:缺少类别或条目
VAL-013错误之后:缺少值
VAL-014错误之后:必须是对象
VAL-015错误之后:缺少类别或条目

CON-MCP连接

代码严重性描述
CON-001错误端点:无法访问服务器
CON-004错误mcp:初始化握手失败
CON-008警告工具/列表:请求失败
CON-009警告工具/列表:响应格式无效
CON-010信息资源/列表:请求失败
CON-011信息提示/列表:请求失败

PAY——付款验证

代码严重性描述
PAY-001错误受限呼叫:付款缺少所需数据
PAY-002错误受限调用:PaymentRequired不是对象
PAY-010错误x402版本:缺少必填字段
PAY-011错误x402版本:必须是数字
PAY-012错误x402版本:应为2
PAY-020错误资源:必须是字符串或对象
PAY-021错误资源:不能为空/resource.url:缺少值
PAY-022错误resource.url:必须是字符串
PAY-023错误resource.url:url格式无效
PAY-024错误资源:未知字段
PAY-030错误接受:缺少必填字段
PAY-031错误接受:必须是数组
PAY-032错误接受:为空数组
PAY-040错误方案:缺少值
PAY-041错误方案:必须是字符串
PAY-042错误方案:无效值
PAY-050错误网络:缺少值
PAY-051错误网络:必须是字符串
PAY-052错误网络:未知前缀
PAY-053错误网络:前缀后缺少链ID
PAY-060错误所需最大金额:缺少值
PAY-061错误maxAmount必填项:必须是字符串
PAY-062错误maxAmount必填项:必须是数字字符串
PAY-063错误所需最大金额:必须为正
PAY-070错误资产:缺少值
PAY-071错误资产:必须是字符串
PAY-072错误资产:EVM地址格式无效
PAY-080错误payTo:缺少值
PAY-081错误payTo:必须是字符串
PAY-082错误payTo:EVM地址格式无效
PAY-083警告付款对象:未进行校验和
PAY-090错误最大超时秒数:缺少值
PAY-091错误最大超时秒数:必须是数字
PAY-092错误最大超时秒数:必须大于0
PAY-100信息额外:必须是一个对象
PAY-101信息外部名称:缺失(建议用于EVM)
PAY-102信息外部版本:缺失(建议用于EIP-3009)

PRB--探头

代码严重性描述
PRB-004信息探测:意外异常
PRB-005信息探测:没有可用于探测的工具

OAuth--OAuth

代码严重性描述
AUTH-002信息找不到或不完整的授权服务器元数据
AUTH-003信息不支持PKC S256(MCP规范必须)
AUTH-004信息受保护资源元数据中缺少授权服务器
AUTH-005信息没有可用的客户端注册机制
AUTH-010信息服务器需要身份验证
AUTH-011信息找到范围

CMP——比较

代码严重性描述
CMP-001警告快照来自不同的服务器
CMP-002警告快照之前没有时间戳
CMP-003警告快照后比以前旧

许可证

麻省理工学院

目录标签

目录标签

JavaScriptAI代理工作流自动化服务器验证本地部署支付验证MCP协议工具探测结构化快照

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP