Google ADK Framework — A2A Protocol & Google ADK
Google ADK Framework
The Agent Development Kit (ADK 2.0)
Google ADK (Agent Development Kit) 2.0 went GA on May 19, 2026 at Google I/O. It is an open-source framework for building, orchestrating, and deploying AI agents. ADK 2.0 now supports Python, TypeScript, Go, Java, and Kotlin (including Android/Gemini Nano support for on-device agents).
ADK 2.0 vs Other Frameworks
| Feature | Google ADK 2.0 | LangGraph | CrewAI |
|---|---|---|---|
| Languages | Python, TS, Go, Java, Kotlin | Python, JS | Python |
| Agent Definition | Code, YAML, or Graph Builder | Python graphs | Python classes |
| Workflow Runtime | ✅ Graph-based (routing, branching, loops, fan-out/fan-in) | ✅ Graph-based | Sequential/hierarchical |
| Visual Builder | ✅ Drag-and-drop UI | ❌ | ❌ |
| A2A Support | ✅ Native | ❌ | ❌ |
| MCP Support | ✅ Native (MCPToolset + to_mcp_server()) | langchain-mcp-adapters | Native / Tools |
| Deployment | Local CLI/Web UI → Cloud Run, GKE, Vertex AI, or custom infra | LangSmith Deployment | CrewAI AMP / Docker |
| Observability | OpenTelemetry native | LangSmith | Custom |
What's New in ADK 2.0
- Graph-based Workflow Runtime: First-class support for routing, branching, iterative loops, fan-out/fan-in, and native human-in-the-loop (HITL) - bringing LangGraph-level graph control into ADK.
- Agent-as-a-Tool: Coordinator agents delegate sub-tasks to specialized subagents using them as callable tools - enabling deep hierarchical architectures.
- Multi-Language SDK: Python, TypeScript, Go, Java, and Kotlin (with Gemini Nano on-device support for Android).
- Enhanced State & Memory: Session persistence via Vertex AI and Firestore, with Session Rewind for time-travel debugging.
- Visual Agent Builder: Drag-and-drop UI for composing agent hierarchies and testing in real-time.
- Flexible Deployment: From local CLI/Web UI for development to Cloud Run, GKE, or custom infrastructure for production.
- Code Execution Sandbox: Safely execute agent-generated code via Vertex AI sandbox.
- Multi-Provider Models: Use Gemini, Claude, or GPT as the reasoning engine.
Bidirectional MCP & Self-Healing (v2.5–2.6, July 2026)
As of v2.5.0 (July 16, 2026), ADK agents are no longer just MCP clients - the new to_mcp_server() helper serves any ADK agent as an MCP server, so other MCP-compatible hosts (Claude Desktop, other ADK agents, custom clients) can call it like any other tool server. v2.6.0 (July 29, 2026) added ReflectAndRetryModelPlugin, which lets an agent automatically reflect on and retry a failed model call. ADK is now at v2.6.2 (August 2026) and iterating fast on production reliability.
ADK Agent Definition (Python)
from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from google.adk.runners import InMemoryRunner
def search_knowledge_base(query: str) -> dict:
"""Search internal knowledge base articles for policy answers."""
return {"status": "success", "snippet": "30-day full refund for enterprise plans."}
# Create root agent with tools and hierarchical sub-agents
root_agent = Agent(
name="support_agent",
model="gemini-3.8-flash",
tools=[FunctionTool(search_knowledge_base)],
instruction="You are a helpful support agent. Delegate billing or shipping issues to specialists.",
sub_agents=[billing_agent, shipping_agent], # Hierarchical delegation!
)
# Run locally via InMemoryRunner (or CLI: adk run / adk web / to_a2a(root_agent))
runner = InMemoryRunner(agent=root_agent, app_name="support_app")
Google's Agent Development Kit ships a full CLI. Install it, generate an agent project, and talk to your agent from the terminal.