AgentInteropAudit is a local-first production auditor for the interoperability boundary between A2A agents and MCP-backed capabilities.
Version: 1.0.0
A2A v1.0 made agent interoperability substantially more production-oriented: protocol version per interface, supportedInterfaces, A2A-Version, extension negotiation, signatures, multi-tenancy, stronger security declarations, and a formal migration path from v0.3.
A2A's own documentation also defines MCP as a complementary layer: A2A is for agent-to-agent collaboration while MCP is for agent-to-tool/resource connectivity.
AgentInteropAudit audits that boundary.
- required fields
- supported interfaces
- HTTP+JSON / JSONRPC / GRPC declarations
- protocol-version checks
- HTTPS production endpoints
- media modes
- duplicate interface detection
Flags legacy fields such as protocolVersion, url, preferredTransport, additionalInterfaces, and supportsAuthenticatedExtendedCard, plus legacy operation names such as message/send and tasks/get in captured traffic.
- SecurityScheme union consistency
- undefined security requirement references
- skill-level security references
- optional require-auth policy
- extended-card/auth consistency
- Agent Card signature structure
- optional require-signature policy
- possible plaintext credential fields (values are not printed)
- skill id/name/description/tags
- unique skill IDs
- media compatibility
- client protocol/binding compatibility
- required extension compatibility
A2A-Version- selected interface version
- exact tenant echo
- required
A2A-Extensions - obvious transport credential presence
Optional bridge manifest:
{"skills":{"web_research":["search_public_web","summarize_sources"]}}Checks missing skills, missing tools, duplicate tools, object-root MCP schemas, unmapped skills, and orphan tools.
This mapping is explicitly operator-declared. The project does not claim every A2A skill should be an MCP tool; A2A supports richer stateful agent collaboration.
- console
- JSON
- Markdown
- standalone HTML
- SARIF 2.1.0
- SQLite audit history
- baseline/candidate regression diff
- Mermaid architecture graph
python -m pip install .
aiaudit audit --card examples/agent-card-good.json --traffic examples/traffic.jsonl --mcp-tools examples/mcp-tools.json --bridge examples/bridge.json --client-profile examples/client-profile.json --policy examples/policy.json --min-score 95 --fail-on-errorGenerate reports:
aiaudit audit --card examples/agent-card-good.json --mcp-tools examples/mcp-tools.json --bridge examples/bridge.json --json audit.json --markdown audit.md --html audit.html --sarif audit.sarifArchitecture graph:
aiaudit diagram --card examples/agent-card-good.json --mcp-tools examples/mcp-tools.json --bridge examples/bridge.json --output architecture.mmdA2A0xx Agent Card/interfaces
A2A1xx security/signatures
A2A2xx skills
A2A3xx extensions
A2A4xx traffic/migration
A2A5xx A2A↔MCP bridge
A2A6xx client compatibility
See SOURCES.md.
AgentInteropAudit is not an A2A implementation, not an A2A/MCP conformance suite, not a live scanner, and not a cryptographic JWS verifier. It performs static/passive governance and migration analysis from declarations and captures.
- A2A task/event fixture validation
- v1.0 Part/member-discrimination migration checks
- cursor pagination fixtures
- JWS verification with pluggable key resolvers
- authenticated extended-card diffing
- HAR/OpenTelemetry import
- MCP 2026-07-28 import
- OpenAI Agents SDK / Google ADK / LangGraph adapters
- agent fleet governance dashboard
- trust policy packs
- signed bridge manifests
- JUnit / PR annotations
MIT.