Token导航 LogoToken导航TokenDH.com
A2a Agent Validator logo
运维云端未说明官方级别未说明来源级核验

A2a Agent Validator

MCP Server

验证A2A协议代理卡片的端到端工具,包括结构验证、功能分类和快照生成,支持AP2和x402扩展检测。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaScript云端部署Docker

安装说明

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

作者 / 组织

AgentProbe

提供方

AgentProbe

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

a2a代理验证器

端到端验证A2A协议代理卡。获取众所周知的端点,根据A2A规范验证卡结构,对功能进行分类,包括 谷歌AP2(代理支付协议) 并返回一个包含16个布尔类别和17个条目字段的结构化快照。兼容 erc8004-registry-parser 作为验证插件。

快速启动

git clone https://github.com/agentprobe/a2a-agent-validator.git
cd a2a-agent-validator
npm i
import { A2aAgentValidator } from 'a2a-agent-validator'

const { status, messages, categories, entries } = await A2aAgentValidator.start( {
    endpoint: 'https://agent.example.com',
    timeout: 15000
} )

特性

  • 从获取代理卡 /.well-known/agent-card.json (A2A规范标准)
  • 验证卡片结构:必填字段、接口、技能、提供者
  • 对16个布尔类别进行分类(可达、技能、流、JSONRPC、GRPC、安全、AP2、x402、嵌入式流、ERC-8004)
  • 发现 AP2(代理支付协议) 通过 capabilities.extensions 阵列和 X-A2A-Extensions HTTP标头--提取版本和角色
  • 发现 x402 付款扩展和版本
  • 发现 嵌入式流 (AP2+x402组合)
  • 发现 ERC-8004 代理卡中的服务链接
  • 提取17个输入字段(姓名、版本、技能、协议、提供者、AP2版本/角色、x402版本、扩展名)
  • 比较两个快照并生成结构化差异
  • 连接失败时返回包含所有错误类别的空快照
  • 兼容 erc8004-registry-parser 通过 .validate() 方法

建筑

验证管道分四个顺序步骤处理A2A代理卡:

flowchart LR
    A[endpoint] --> B[A2aConnector.fetch]
    B -->|agent card + X-A2A-Extensions header| C[CardStructureValidator.validate]
    C --> D[CapabilityClassifier.classify]
    D -->|AP2 / x402 / ERC-8004 detection| E[SnapshotBuilder.build]

方法

所有方法都是静态的,并使用对象参数和对象返回。

.validate( { endpoint } )

与兼容的简单验证 erc8004-registry-parser。仅返回状态和消息。

方法

.validate( { endpoint } )
密钥类型描述必填
endpointstringA2A代理的基本URL

退货

{ status: true, messages: [] }
密钥类型描述
状态布尔值true 如果卡有效
messagesstring\[\]验证错误消息

______________________________________________________________________

.start( { endpoint, timeout } )

对类别和条目进行全面验证。

方法

.start( { endpoint, timeout } )
密钥类型描述必填
endpointstringA2A代理的基本URL
timeoutnumber请求超时(毫秒)(默认值:10000)

退货

{ status: true, messages: [], categories: { ... }, entries: { ... } }
密钥类型描述
状态布尔值true 如果没有验证错误
messagesstring\[\]验证错误消息
类别对象16个布尔功能标志
条目对象17个提取的数据字段

______________________________________________________________________

.compare( { before, after } )

比较两个快照并返回结构化差异。

方法

.compare( { before, after } )
密钥类型描述必填
beforeobject上一个快照(来自 .start())
afterobject当前快照(来自 .start())

退货

{ status: true, messages: [], hasChanges: false, diff: { ... } }
密钥类型描述
statusboolean始终 true 验证后
messagesstring\[\]警告消息(不同服务器,时间戳顺序)
hasChanges布尔值true 如果检测到任何差异
diffobject结构化diff,包括部分:身份、能力、技能、界面、安全性、类别

类别(16个布尔标志)

标志描述
isReachable从端点收到HTTP响应
hasAgentCard已找到代理卡,JSON格式有效
hasValidStructure所有必填字段均已显示
hasSkills至少定义了一项技能
hasSecuritySchemes已配置安全方案
hasProvider提供程序信息
supportsStreamingcapabilities.streaming === true
supportsPushNotificationscapabilities.push_notifications === true
supportsJsonRpc接口与 protocol_binding: 'JSONRPC'
supportsGrpc接口与 protocol_binding: 'GRPC'
supportsExtendedCardcapabilities.extended_agent_card === true
hasDocumentationdocumentation_url 目前
supportsAp2在中检测到AP2扩展 capabilities.extensionsX-A2A-Extensions 头球
supportsX402在中检测到x402扩展 capabilities.extensionsX-A2A-Extensions 头球
supportsEmbeddedFlow检测到AP2和x402(代理支持嵌入式支付流)
hasErc8004ServiceLink代理卡中发现ERC-8004服务链接

条目(17个数据字段)

条目类型描述
urlstring已验证端点
agentNamestring代理名称
agentDescriptionstring代理描述
agentVersionstring代理版本
providerOrganizationstring/null提供者组织
providerUrlstring/null提供程序URL
skillCountnumber技能数量
skillsarray技能 [{ id, name }]
protocolBindingsarray协议绑定 ['JSONRPC', 'GRPC']
protocolVersionstring第一个接口协议版本
defaultInputModesarray默认输入模式
defaultOutputModesarray默认输出模式
ap2Versionstring/nullAP2版本已从扩展URI中提取(例如。 "1.0")
ap2Rolesarray/nullAP2角色来自 extension.params.roles (例如。 ["buyer", "seller"])
x402Versionstring/nullx402版本已从扩展URI中提取
extensionsstring/null原始 X-A2A-Extensions 标题值
timestampstringISO 8601时间戳

验证码

VAL——输入验证

代码严重性描述
VAL-001警告端点:缺少值
VAL-002警告端点:必须是字符串
VAL-003警告端点:不能为空
VAL-004警告端点:必须是有效的URL
VAL-005警告超时:必须是数字
VAL-006警告超时:必须大于0
VAL-007警告之前/之后:缺少值、必须是对象或缺少类别/条目
VAL-008警告之前/之后:缺少值、必须是对象或缺少类别/条目

CON-A2A连接

代码严重性描述
CON-010信息无法访问服务器
CON-011信息找不到代理卡(HTTP 404)
CON-012信息HTTP错误
CON-013信息响应不是有效的JSON
CON-014信息请求超时

CSV——卡片结构验证

代码严重性描述
CSV-020警告缺少必填字段“name”
CSV-021警告缺少必填字段“描述”
CSV-022警告缺少必填字段“version”
CSV-023警告缺少必填字段“supported_interface”
CSV-024警告supported_interface不能为空
CSV-025警告缺少必填字段“功能”
CSV-026警告缺少必填字段“default_input_modes”
CSV-027警告缺少必填字段“default_output_modes”
CSV-028警告缺少必填字段“技能”
CSV-030警告支持的接口:url缺少值
CSV-031警告支持的接口:url必须是有效的HTTPS url
CSV-032警告支持的接口:缺少protocol_binding
CSV-033警告支持的接口:缺少protocol_version
CSV-034警告技能:id缺少值
CSV-035警告技能:名称缺少值
CSV-036警告技能:描述缺少值
CSV-037警告技能:标签缺少值
CSV-038警告技能:标签必须是非空数组
CSV-040警告provider.url:缺少值
CSV-041警告提供者组织:缺少值

CMP——比较

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

许可证

麻省理工学院

目录标签

目录标签

JavaScript云端部署Docker协议验证本地部署代理卡片AP2检测x402扩展结构验证

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP