The Limitations of Plain Agents

AI agents are often limited by their reliance on text-based instructions and custom API calls, which are designed for human users rather than machine-to-machine interaction. Without standardized protocols, agents often hallucinate data or struggle to perform multi-step tasks like inventory management, payments, or UI rendering. The Agent Developer Kit (ADK) provides a framework to integrate these protocols, allowing agents to move from simple prototypes to production-ready systems.

Connecting Data and Expertise

To move beyond simple text generation, agents need reliable data and specialized knowledge:

  • Model Context Protocol (MCP): Solves the problem of tool management. Instead of hard-coding dozens of API endpoints, MCP allows agents to dynamically discover tools from servers at runtime. This is ideal for prototyping and connecting to multiple data sources like databases or email systems.
  • Agent-to-Agent (A2A): Enables modular expertise. By serving an "agent card" at a well-known URL, agents can discover and delegate tasks to specialized agents (e.g., pricing or logistics) without needing to know the underlying implementation or framework of the remote agent.

Commerce, Payments, and Audit Trails

Standardizing business logic is critical for agents that perform real-world transactions:

  • Universal Commerce Protocol (UCP): Provides machine-readable merchant and product discovery. It replaces fragile HTML parsing with structured HTTP requests for catalog browsing and checkout.
  • Agent Payments Protocol (AP2): Introduces security and accountability. It uses "typed mandates" to enforce spending limits, restrict approved merchants, and generate signed receipts. This creates an enforceable audit trail that is far more reliable than simply instructing an agent not to spend over a certain amount.

Dynamic UI and Real-Time Interaction

Agents often fail to provide a good user experience because they output raw text. Two protocols bridge this gap:

  • Agent-to-User Interface (A2UI): Decouples the agent's logic from the frontend. It uses 18 primitives (cards, buttons, sliders, etc.) to generate a declarative JSON payload. This allows the agent to compose complex, interactive UIs on the fly that can be rendered natively by any client (e.g., Flutter, Lit, or Angular).
  • Agent-to-User Interface Streaming (AG-UI): Standardizes the streaming of events between the agent and the user. It ensures that the frontend receives typed events—such as tool calls, results, and status updates—in real-time, preventing the "spinner" problem where users are left waiting for a response without context.

Implementation Strategy

These protocols are modular and do not depend on one another. Developers should adopt them incrementally based on specific needs: start with MCP for data access, add A2A for collaboration, and layer in commerce or UI protocols as the agent's capabilities grow.