Multi-Agent Interoperability: A Technical Deep Dive into MCP, A2A, and Execution Hooks MCP and A2A, now jointly governed under the Linux Foundation with a working group spanning Anthropic, OpenAI, Google, Microsoft, AWS, Block, Cloudflare and Bloomberg, standardize agent-to-tool access and agent-to-agent collaboration respectively but remain stateless, leaving audit trails, policy enforcement and lineage outside both specs. Independent 2026 scans found upwards of 12,000 MCP servers exposed to the public internet, roughly 40% with no authentication and more than half still using static credentials instead of OAuth, while a critical npm package vulnerability exposed 400,000+ installations to shell injection earlier this year. The technical deep dive argues architects should treat every MCP server and A2A endpoint as a security boundary and use deterministic execution hooks, scoped by matcher patterns on the mcp____ naming convention, to call OPA policy decisions, check allowlists or trip circuit breakers before any MCP call or A2A handoff proceeds. As enterprises move from isolated AI agents to ecosystems of specialized agents, interoperability becomes essential . Agents need to securely share context, access tools, and delegate work across frameworks, systems, and organizational boundaries without creating a web of point-to-point integrations. This is where MCP and A2A come in — MCP standardizes agent-to-tool and data access, while A2A enables agent-to-agent collaboration. This article explores how they fit together, where execution hooks provide deterministic control, and how architects can decide when to use each. Two protocols, two different jobs, and the distinction matters for architecture decisions, not just vocabulary: Both now sit under Linux Foundation governance alongside IBM’s ACP, with a working group spanning Anthropic, OpenAI, Google, Microsoft, AWS, Block, Cloudflare, and Bloomberg — which matters architecturally because you’re adopting a jointly maintained standard, not betting on one vendor’s spec surviving. MCP and A2A are stateless. Neither tracks what an agent did, what data it touched, or how an output was used — audit trail, policy enforcement, and lineage are not native to either spec. That gap is measurable: independent 2026 scans found upwards of 12,000 MCP servers exposed to the public internet, roughly 40% with no authentication, and more than half still running static credentials instead of OAuth. A critical npm package vulnerability in the ecosystem exposed 400,000+ installations to shell injection earlier this year. None of this is a protocol flaw — MCP and A2A were designed as communication standards, not governance layers. It’s what happens when adoption outpaces the enforcement layer underneath it. The enforcement layer is the Agent Control Plane from part two of this series: tool allowlisting, policy-as-code OPA , circuit breakers, identity tied to an owning entity. Treat every MCP server and A2A endpoint as a security boundary, not a convenience layer. A tool is probabilistic — the LLM decides whether and when to call it. A hook is deterministic — it fires unconditionally at a defined point in the execution loop, every time, regardless of what the agent decided. Different category of control, not a difference of degree. A tool gives an agent hands; a hook is what the agent’s hands can’t argue past. Two hook types carry the actual enforcement weight: Two minimal, concrete examples: Neither involves model judgment — both are structural checks that run on every call. Most current implementations let you scope a hook with a matcher pattern rather than firing on everything: a matcher targeting the mcp