Skip to main content
The Flokoa Google ADK integration lets you run any google.adk.agents.LlmAgent as an A2A-compatible server without modifying your agent code. The GoogleADKAgentExecutor manages ADK session lifecycle, tool injection, and response extraction automatically so you can concentrate on building your agent’s logic.

Installation

Quick example

Define your ADK agent in a standard Python module, then pass it to flokoa run. The executor wraps it and starts the A2A server.
my_adk_agent.py
Then start the server:
The server starts on http://localhost:8080 and accepts A2A requests immediately.

GoogleADKAgentExecutor

flokoa.integrations.google_adk.agent_executor.GoogleADKAgentExecutor wraps a google.adk.agents.LlmAgent and implements the A2A AgentExecutor interface. flokoa run instantiates it for you, but you can also use it directly when building custom server setups.
What the executor provides:
  • Automatic session management — The executor creates a fresh InMemorySessionService, InMemoryArtifactService, and InMemoryMemoryService for each request via the ADK Runner, so you never manage session state yourself.
  • Automatic tool injection — Tools defined as AgentTool CRDs are mounted at /etc/flokoa/tools/ and injected into the ADK agent’s tools list at runtime, the same way as the pydantic-ai integration.
  • TTL-based caching — Tool definitions and model configuration are cached (default: 60 seconds). Set FLOKOA_CACHE_TTL_SECONDS to adjust the TTL, or set FLOKOA_CACHE_ENABLED=false to disable caching entirely.
  • Final-response extraction — The executor streams all ADK events and extracts the last text part as the final response delivered to the A2A caller.

Toolsets

When AgentTool CRDs are mounted by the operator, the executor builds a FlokoaToolset and appends it to the ADK agent’s tools list before each run. The executor checks whether a FlokoaToolset is already present to avoid adding duplicate toolsets across requests. The Google ADK integration also supports the openapi tool type. When an OpenAPI tool definition is mounted, the executor creates an ADK OpenAPIToolset from the inline spec and includes its RestApiTool instances in the toolset passed to the agent.
The Google ADK integration requires a Google model provider. Configure a Model CR that references a Google Gemini model and attach it to your Agent CR. If the agent’s model field is not set and no Model CR is referenced, the ADK runner will raise an error at request time.

Running in Kubernetes

Build a container image with your ADK agent and flokoa[google-adk] installed, then declare an Agent CR with framework: google-adk.
The operator mounts the model configuration and any referenced AgentTool CRDs into the container automatically. The executor picks them up at runtime without any changes to your agent code.