MCP provides tools. A2A provides delegation. Neither provides an audit trail. SWT3 is the cryptographic evidence layer that sits beneath both.
Who this is for: Platform architects designing multi-agent systems, compliance officers evaluating agent protocol stacks, assessors preparing to audit agent-based AI deployments, and engineering leaders choosing between MCP, A2A, or both. No prior SWT3 knowledge assumed.
Two protocols, one evidence gap: MCP (Anthropic) solves agent-to-tool communication. A2A (Google) solves agent-to-agent delegation. Together, they form the emerging standard for agentic AI infrastructure. Neither protocol includes a mechanism for producing independently verifiable compliance evidence. Every AI regulation being enacted (EU AI Act, NIST AI RMF, Five Eyes guidance) assumes this evidence exists. SWT3 fills the gap without modifying either protocol.
MCP (Model Context Protocol) standardizes how AI assistants access external tools, resources, and prompts. It defines a client-server architecture where the AI model is the client and external services are the servers. MCP handles tool discovery, invocation, and response formatting. It does not record what happened during the tool call, whether the call was authorized, or whether the result was within expected parameters.
A2A (Agent-to-Agent) standardizes how autonomous agents discover and delegate tasks to each other. It defines a task lifecycle (submitted, working, completed, failed) and a discovery mechanism (Agent Cards at /.well-known/agent.json). A2A handles delegation and coordination. It does not record who delegated to whom, what context crossed agent boundaries, or whether the delegated agent was operating within governance.
These are complementary protocols. An orchestrator agent might use A2A to delegate a task to a specialist agent, which then uses MCP to call external tools. The resulting architecture has two protocol layers but zero evidence layers.
The regulatory landscape assumes otherwise:
SWT3 is the evidence layer. It sits beneath both MCP and A2A, witnesses consequential events in both protocols, and produces independently verifiable cryptographic anchors. It does not modify either protocol. It observes and records.
The key architectural principle: SWT3 is protocol-agnostic infrastructure. Like TLS provides encryption beneath HTTP and SMTP, SWT3 provides evidence beneath MCP and A2A. Each protocol has its own set of witness procedures, but all anchors share the same format, the same fingerprint formula, and the same verification mechanism.
This means an assessor verifying an MCP tool invocation anchor uses exactly the same process as verifying an A2A delegation anchor. The evidence is uniform. The protocols are different. The accountability layer is shared.
SWT3 defines dedicated procedures for each protocol surface. MCP procedures cover the tool integration lifecycle. A2A procedures cover the agent delegation lifecycle. Supporting procedures from the AI namespace provide cross-cutting evidence for both.
| Procedure | Name | What It Witnesses |
|---|---|---|
AI-MCP.1 |
Tool Discovery | MCP server discovery event: server URL, capabilities advertised, transport type |
AI-MCP.2 |
Tool Invocation Governance | Pre-invocation policy check: tool name, approval status, scope boundary |
AI-MCP.3 |
Resource Access Witnessing | Resource read from MCP server: resource URI, content hash, classification |
AI-MCP.4 |
Prompt Injection Detection | Prompt template evaluation: injection indicators, sanitization applied |
AI-MCP.5 |
OAuth Token Binding | OAuth lifecycle events: discovery, issuance, validation, revocation |
| Procedure | Name | What It Witnesses |
|---|---|---|
AI-A2A.1 |
Task Lifecycle | Task state transitions: submitted, working, completed, failed, canceled, rejected |
AI-A2A.2 |
Agent Card Discovery | Agent discovery event: card URL, capabilities matched, governance coverage |
AI-A2A.3 |
Context Chain | Data crossing agent boundaries: context hash, size, filtering applied |
| Procedure | Name | MCP Context | A2A Context |
|---|---|---|---|
AI-CHAIN.1 |
Chain Handoff | Multi-tool workflow linking | Multi-agent delegation linking |
AI-CHAIN.2 |
Chain Integrity | Tool chain completeness verification | Delegation chain completeness verification |
AI-DEL.1 |
Delegation Tree | Tool-to-tool forwarding (rare) | Agent-to-agent delegation with scope |
AI-DEL.2 |
Delegation Scope | Permission boundary per tool call | Permission boundary per agent task |
AI-TRUST.1 |
Trust Verification | MCP server credential check | Agent Card governance verification |
AI-TRUST.2 |
Credential Presentation | MCP server presenting its posture | Agent presenting compliance credentials |
AI-TOOL.1 |
Tool Invocation | Every tool call with authorization context | Agent calling internal tools during task |
AI-ID.1 |
Agent Identity | MCP client agent identity binding | Per-agent identity across delegation chain |
Three recent government publications establish the regulatory baseline for agent protocol governance. All three assume that evidence production is a solved problem. SWT3 solves it.
NIST launched the AI Agent Standards Initiative to develop measurement science for autonomous AI systems. The initiative identifies four areas where standards are needed: agent identity, agent accountability, agent interoperability, and agent safety. SWT3 directly addresses the first two:
The National Cybersecurity Center of Excellence published a concept paper outlining governance patterns for AI agents in enterprise environments. Key recommendations mapped to SWT3:
| NCCoE Recommendation | SWT3 Evidence |
|---|---|
| Maintain provenance records for all agent actions | AI-INF.1 + AI-TOOL.1 anchors per inference and tool call |
| Verify agent identity before delegation | AI-TRUST.1 anchor proving pre-delegation verification |
| Log all inter-agent data transfers | AI-A2A.3 context chain anchors with payload hashes |
| Detect behavioral drift in autonomous agents | AI-DRIFT.1 anchors with continuous monitoring data |
| Support forensic reconstruction of agent workflows | contextId-linked anchor chains across both protocols |
The joint CISA/NSA guidance, endorsed by Australia, Canada, New Zealand, and the UK, establishes five risk categories for agentic AI. SWT3 procedures map to each. See the full crosswalk in the CISA Agentic AI Crosswalk.
When auditing an agent-based system that uses MCP, A2A, or both, the following evidence artifacts should be present in the witness ledger.
| Check | What to Verify |
|---|---|
| Every MCP server has a discovery anchor | Query AI-MCP.1. Each connected server should have at least one discovery anchor. Servers without discovery anchors were connected without governance observation. |
| Tool calls have invocation anchors | Query AI-TOOL.1. Cross-reference with application logs. Tool calls without corresponding anchors indicate unwrapped tools. |
| OAuth tokens have lifecycle anchors | Query AI-MCP.5. Every token should have issuance and revocation anchors. Tokens without revocation anchors may still be active. |
| Audience validation on every token use | Query AI-MCP.5 with event_type=oauth_audience_check. Every anchor should show validation_result=pass. Any fail is a confused deputy indicator. |
| Check | What to Verify |
|---|---|
| Every delegation has a task lifecycle chain | Query AI-A2A.1 by task_id. Each task should have submitted and exactly one terminal state. Missing states indicate gaps. |
| Discovery precedes delegation | Query AI-A2A.2 timestamps against AI-A2A.1 (submitted) timestamps. Discovery should precede delegation in the same context. |
| Context transfers are witnessed | Query AI-A2A.3. Every agent boundary crossing should have a context chain anchor. Verify context_type is appropriate for the data classification. |
| Trust verification before delegation | Query AI-TRUST.1. Each delegation should be preceded by a trust verification anchor showing governance coverage met the policy threshold. |
Every anchor, regardless of protocol context, can be verified at /verify/. The verification process is identical for MCP and A2A anchors:
SWT3-E-AWS-AI-AIMCP1-PASS-1774900000-a1b2c3d4e5f6)Three lines to start witnessing each protocol context.
# Python: witness an MCP tool call
from swt3_ai import Witness
witness = Witness(api_key="axm_live_...", tenant_id="YOUR_TENANT")
witness.wrap_tool(my_tool_function)(tool_args)
// TypeScript: witness an MCP tool call
import { Witness } from "@tenova/swt3-ai";
const witness = new Witness({ apiKey: "axm_live_...", tenantId: "YOUR_TENANT" });
witness.wrapTool(myToolFunction)(toolArgs);
# Python: witness an A2A task delegation
from swt3_ai import Witness
witness = Witness(api_key="axm_live_...", tenant_id="YOUR_TENANT")
witness.witness_task_lifecycle(task_id="task-001", state="submitted", target_agent="analyst")
// TypeScript: witness an A2A task delegation
import { Witness } from "@tenova/swt3-ai";
const witness = new Witness({ apiKey: "axm_live_...", tenantId: "YOUR_TENANT" });
await witness.witnessTaskLifecycle({ taskId: "task-001", state: "submitted", targetAgent: "analyst" });
from swt3_ai import Witness
from swt3_ai.adapters.a2a import wrap_a2a
witness = Witness(
api_key="axm_live_...",
tenant_id="YOUR_TENANT",
agent_id="orchestrator-v1",
)
# Wrap the A2A agent for delegation witnessing
analyst = wrap_a2a(analyst_client, witness=witness)
# Wrap tools for MCP witnessing
search = witness.wrap_tool(search_function)
with witness.chain("financial-review-q3") as ctx:
# MCP: call search tool (AI-TOOL.1 anchor)
data = search(query="Q3 revenue by region")
# A2A: delegate analysis (AI-A2A.1 anchor)
result = analyst.send({"text": f"Analyze: {data}"})
# Both anchors share the same chain context
# Full forensic reconstruction via: witness.query_chain("financial-review-q3")
The chain context manager links MCP and A2A anchors into a single auditable workflow. During forensic reconstruction, the full sequence is visible: tool calls, agent delegations, context transfers, and results, all linked by a shared contextId.
SWT3 witnesses produce the same anchor format regardless of protocol context. An AI-TOOL.1 anchor from an MCP tool call and an AI-A2A.1 anchor from an A2A delegation both follow the same SWT3-{TIER}-{PROVIDER}-{UCT}-{PROCEDURE}-{VERDICT}-{EPOCH}-{SHA256_12} format. Both are verified at the same endpoint. Both feed into the same Merkle rollup. Both appear in the same ledger queries.
When auditing a system that uses both MCP and A2A, query the ledger by contextId to see the full workflow. The chain should contain both AI-MCP.* and AI-A2A.* anchors interleaved by timestamp. Gaps in the chain indicate protocol boundaries that are not being witnessed. Focus on boundaries: where MCP hands off to A2A (or vice versa) is where evidence gaps most commonly appear.