smithery.ai

google adk python

Build AI agents with Google ADK Python. Multi-agent systems, A2A protocol, MCP tools, workflow agents, state/memory, callbacks/plugins, Vertex AI deployment, evaluation.

First seen Mar 24, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0.0
LicenseApache-2.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,867 B
  • docs SUMMARY.md 220 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Google ADK Python Skill

Expert guide for Google's Agent Development Kit (ADK) Python — open-source, code-first toolkit for building, evaluating, and deploying AI agents. Optimized for Gemini, model-agnostic by design.

When to Activate

  • Build single or multi-agent systems with tool integration
  • Implement A2A protocol for remote agent communication
  • Integrate MCP servers as agent tools
  • Use workflow agents (sequential, parallel, loop) for pipelines
  • Manage sessions, state, memory, and artifacts
  • Add callbacks, plugins, or observability hooks
  • Deploy to Cloud Run, Vertex AI Agent Engine, or GKE
  • Evaluate agents with adk eval framework

Agent Structure Convention (Required)

my_agent/
├── __init__.py   # MUST: from . import agent
└── agent.py      # MUST: root_agent = Agent(...) OR app = App(...)

Quick Start

pip install google-adk          # stable (weekly releases)
uv sync --all-extras            # dev setup (uv required, Python 3.10+, 3.11+ recommended)
from google.adk import Agent

root_agent = Agent(
    name="assistant",
    model="gemini-2.5-flash",
    instruction="You are a helpful assistant.",
    description="General assistant agent.",
    tools=[get_weather],
)

App Pattern (Production)

from google.adk import Agent
from google.adk.apps import App
from google.adk.apps.app import EventsCompactionConfig
from google.adk.plugins.save_files_as_artifacts_plugin import SaveFilesAsArtifactsPlugin

app = App(
    name="my_app",
    root_agent=Agent(name="my_agent", model="gemini-2.5-flash", ...),
    plugins=[SaveFilesAsArtifactsPlugin()],
    events_compaction_config=EventsCompactionConfig(compaction_interval=2),
)

Use App when needing plugins, event compaction, or custom lifecycle management.

CLI Tools

Command Purpose
adk web <agents_dir> Dev UI (recommended for development)
adk run <agent_dir> Interactive CLI testing
adk apiserver <agentsdir> FastAPI production server
adk eval <agent> <evalset.json> Run evaluation suite

Agent Types

Type Use Case
Agent / LlmAgent Dynamic routing, tool use, reasoning
SequentialAgent Fixed-order pipeline
ParallelAgent Concurrent execution
LoopAgent Iterative processing
RemoteA2aAgent Remote agent via A2A protocol

Key APIs

Feature API
State tool_context.state[key] = value
Artifacts toolcontext.saveartifact(name, part)
Callbacks beforeagentcallback, aftermodelcallback, etc.
MCP Tools MCPToolset(connection_params=StdioConnectionParams(...))
Sub-agents Agent(..., sub_agents=[agent1, agent2])
Human-in-loop LongRunningFunctionTool(func=my_func)
Plugins App(..., plugins=[MyPlugin()])

Model Support

Latest: gemini-2.5-flash (default), gemini-2.5-pro, gemini-2.0-flash (sunsets Mar 2026) Preview: gemini-3-flash-preview, gemini-3-pro-preview Also: Anthropic Claude, Ollama, LiteLLM, vLLM, Model Garden

Best Practices

  1. Code-first — define agents in Python for version control and testing
  2. Agent convention — always use root_agent or app variable in agent.py
  3. Modular agents — specialize per domain, compose via sub_agents
  4. Workflow selection — workflow agents for predictable, LlmAgent for dynamic
  5. StateToolContext.state for ephemeral, MemoryService for long-term
  6. Safety — callbacks for guardrails, tool confirmation for sensitive ops
  7. Evaluate — test with adk eval + evalset JSON before deployment

References

Detailed guides (load as needed):

  • references/agent-types-and-architecture.md — Agent types, workflows, custom agents
  • references/tools-and-mcp-integration.md — Custom tools, MCP, tool filtering
  • references/multi-agent-and-a2a-protocol.md — Sub-agents, A2A, coordinator patterns
  • references/sessions-state-memory-artifacts.md — State, artifacts, sessions, memory
  • references/callbacks-plugins-observability.md — Lifecycle hooks, plugins, tracing
  • references/evaluation-testing-cli.md — adk eval, CLI, evalset format
  • references/deployment-cloud-run-vertex-gke.md — Cloud Run, Vertex AI, GKE

External Resources