MCPcopy
hub / github.com/google/adk-python

github.com/google/adk-python @v2.3.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.3.0 ↗
27,983 symbols 136,422 edges 1,667 files 9,511 documented · 34%
README

Agent Development Kit (ADK) 2.0

License PyPI version Python versions PyPI downloads Unit Tests Docs

An open-source, code-first Python framework for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

Important Links: Docs, Samples & ADK Web.


⚠️ BREAKING CHANGES FROM 1.x

This release includes breaking changes to the agent API, event model, and session schema. Sessions generated by ADK 2.0 are readable by ADK 1.28+ (extra fields will be ignored), but are incompatible with older 1.x versions.


🔥 What's New in 2.0

  • Workflow Runtime: A graph-based execution engine for composing deterministic execution flows for agentic apps, with support for routing, fan-out/fan-in, loops, retry, state management, dynamic nodes, human-in-the-loop, and nested workflows.

  • Task API: Structured agent-to-agent delegation with multi-turn task mode, single-turn controlled output, mixed delegation patterns, human-in-the-loop, and task agents as workflow nodes.

🚀 Installation

pip install google-adk

Requirements: Python 3.10+.

To install optional integrations, you can use the following command:

pip install "google-adk[extensions]"

The release cadence is roughly bi-weekly.

Quick Start

Beginner Note: ADK applications are built using two main classes: Agent (defines an AI's instructions, tools, and behavior) and Workflow (orchestrates agents and tasks in a graph-based flow).

Agent

from google.adk import Agent

root_agent = Agent(
    name="greeting_agent",
    model="gemini-2.5-flash",
    instruction="You are a helpful assistant. Greet the user warmly.",
)

Workflow

from google.adk import Agent, Workflow

generate_fruit_agent = Agent(
    name="generate_fruit_agent",
    instruction="Return the name of a random fruit. Return only the name.",
)

generate_benefit_agent = Agent(
    name="generate_benefit_agent",
    instruction="Tell me a health benefit about the specified fruit.",
)

root_agent = Workflow(
    name="root_agent",
    edges=[("START", generate_fruit_agent, generate_benefit_agent)],
)

Run Locally

# Interactive CLI
adk run path/to/my_agent

# Web UI (supports multi-agent directories or pointing directly to a single agent folder)
adk web path/to/agents_dir

📚 Documentation

  • Getting Started: https://google.github.io/adk-docs/
  • Samples: See contributing/workflow_samples/ and contributing/task_samples/ for workflow and task API examples.

🤝 Contributing

See CONTRIBUTING.md for details.

📄 License

This project is licensed under the Apache 2.0 License — see the LICENSE file for details.

Core symbols most depended-on inside this repo

push
called by 2681
src/google/adk/cli/browser/main-3CUQG2IN.js
c
called by 2118
src/google/adk/cli/browser/main-3CUQG2IN.js
append
called by 1868
src/google/adk/cli/browser/main-3CUQG2IN.js
I
called by 1426
src/google/adk/cli/browser/chunk-3NJNOY56.js
h
called by 1281
src/google/adk/cli/browser/chunk-JW2YJHYO.js
get
called by 1269
src/google/adk/cli/browser/main-3CUQG2IN.js
Q
called by 1120
src/google/adk/cli/browser/chunk-JW2YJHYO.js
p
called by 1092
src/google/adk/cli/browser/chunk-NQKWI5EB.js

Shape

Function 13,877
Method 11,767
Class 1,791
Route 548

Languages

Python54%
TypeScript46%

Modules by API surface

src/google/adk/cli/browser/main-3CUQG2IN.js6,443 symbols
src/google/adk/cli/browser/chunk-2SRK2U7X.js1,751 symbols
src/google/adk/cli/browser/chunk-NALL4A3P.js1,324 symbols
src/google/adk/cli/browser/chunk-JRNAXTJ7.js584 symbols
src/google/adk/cli/browser/chunk-YVVLWU7S.js545 symbols
tests/unittests/plugins/test_bigquery_agent_analytics_plugin.py381 symbols
src/google/adk/cli/browser/chunk-27SWUPRL.js262 symbols
tests/unittests/models/test_litellm.py210 symbols
src/google/adk/cli/browser/chunk-ASJUXEUE.js162 symbols
tests/unittests/cli/test_fast_api.py142 symbols
src/google/adk/cli/browser/chunk-JDPVSVO4.js138 symbols
src/google/adk/cli/browser/polyfills-5CFQRCPP.js134 symbols

Dependencies from manifests, versioned

Flask3.1.3 · 1×
aiosqlite0.21 · 1×
browserbase1.3.0 · 1×
flask-cors6.0.1 · 1×
google-adk1.12 · 1×
playwright1.52.0 · 1×
python-dotenv1.1.1 · 1×
requests2.32.4 · 1×
termcolor3.1.0 · 1×

Datastores touched

mydbDatabase · 1 repos
(mysql)Database · 1 repos
dbDatabase · 1 repos
mydbDatabase · 1 repos
dbnameDatabase · 1 repos
postgresDatabase · 1 repos

For agents

$ claude mcp add adk-python \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact