AIP: Agent Identity Protocol for Verifiable Delegation Across MCP and A2A

arXiv cs.AI / 3/27/2026

💬 OpinionDeveloper Stack & InfrastructureIdeas & Deep AnalysisModels & Research

Key Points

  • The paper highlights that existing Model Context Protocol (MCP) tool calling and Agent-to-Agent (A2A) delegation lack mechanisms to verify agent identity, and a scan of ~2,000 MCP servers found no authentication.
  • It proposes AIP (Agent Identity Protocol) using Invocation-Bound Capability Tokens (IBCTs) that combine public-key verifiable identity, holder-side attenuation, chained expressive policy, transport binding across MCP/A2A/HTTP, and provenance-oriented completion records.
  • IBCTs support two wire formats: compact mode using a signed JWT for single-hop delegation, and chained mode using a Biscuit token with Datalog policies for multi-hop delegation.
  • Reference implementations are provided in Python and Rust with cross-language interoperability, and performance tests show very low verification cost (≈0.049–0.189ms) and small deployment overhead (≈0.22ms in real MCP-over-HTTP; ≈2.35ms in a multi-agent Gemini 2.5 Flash setup).
  • In adversarial testing (600 attack attempts), AIP achieved a 100% rejection rate and uniquely detected delegation-depth violations and audit-evasion attempts that plain JWT or unsigned approaches missed.

Abstract

AI agents increasingly call tools via the Model Context Protocol (MCP) and delegate to other agents via Agent-to-Agent (A2A), yet neither protocol verifies agent identity. A scan of approximately 2,000 MCP servers found all lacked authentication. In our survey, we did not identify a prior implemented protocol that jointly combines public-key verifiable delegation, holder-side attenuation, expressive chained policy, transport bindings across MCP/A2A/HTTP, and provenance-oriented completion records. We introduce Invocation-Bound Capability Tokens (IBCTs), a primitive that fuses identity, attenuated authorization, and provenance binding into a single append-only token chain. IBCTs operate in two wire formats: compact mode (a signed JWT for single-hop cases) and chained mode (a Biscuit token with Datalog policies for multi-hop delegation). We provide reference implementations in Python and Rust with full cross-language interoperability. Compact mode verification takes 0.049ms (Rust) and 0.189ms (Python), with 0.22ms overhead over no-auth in real MCP-over-HTTP deployment. In a real multi-agent deployment with Gemini 2.5 Flash, AIP adds 2.35ms of overhead (0.086% of total end-to-end latency). Adversarial evaluation across 600 attack attempts shows 100% rejection rate, with two attack categories (delegation depth violation and audit evasion through empty context) uniquely caught by AIP's chained delegation model that neither unsigned nor plain JWT deployments detect.