mrkeyoor.com_
Tue 01 Sept 17:44 UTC
LLM Toolsevaluationupdated 26 Aug 2026

adk-go review

Google's Agent Development Kit for Go is a code-first library for building, evaluating, orchestrating, and deploying AI agents. It is optimized for Gemini but exposes tools, multi-agent composition, model interfaces, sessions, and deployment pieces as Go packages.

+31stars / 7d
Verdict

Our ADK Go run installed 289 packages, built successfully, and passed all 72 tests, so the core library deserves a trial for teams committed to Go. Use it when Gemini and cloud-native deployment are natural fits, and keep agent logic inside code you can test. Treat MCP non-text results and A2A isolation as open verification items before exposing sensitive sessions or multimodal tools.

We ran it

Lab card: what happened when we ran adk-goScreenshot of adk-go (google.github.io/adk-docs)
Install✓ · 42s289 packages
Build✓ · 132s
Tests✓ · 43s72 passed · 0 failed of 72 (go test)
Repo803 files~141,609 lines of source · 14.4 MB · 3 CI workflows

Answers from our run

Does adk-go build from source?

Dependencies installed in 42 seconds (289 packages), and the build succeeded in 132 seconds. We cloned commit 0a51e15 into a clean Debian container with 3 CPUs and no project-specific setup.

Do adk-go's tests pass?

Yes: 72 of 72 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use adk-go?

Developers who want a finished assistant application: the README describes a toolkit and points to samples, so product UI, permissions, prompts, storage choices, and operations remain application work.

What are the alternatives to adk-go?

ADK Python, LangGraph, AutoGen. Our ADK Go run installed 289 packages, built successfully, and passed all 72 tests, so the core library deserves a trial for teams committed to Go.

Setup4/5One go get entry point; our full build still took 132 seconds
Docs4/5Brief README links to official docs, samples, GoDoc, and wiki
Community5/58,709 stars and same-day activity across 321 issues and PRs
Maturity4/5v2.2.0 and clean tests, with MCP and A2A correctness gaps

Discussed on

  1. hnAdk-go: code-first Go toolkit for building, evaluating, and deploying AI agents86 points

Who it’s for

Go teams building agent services that should fit existing cloud-native code and tooling.
Developers who want agent definitions, tools, orchestration, and tests in ordinary Go source.
Google Cloud users planning Gemini or Vertex AI backed agents and Cloud Run deployment.
Teams that need MCP or agent-to-agent integrations and can test their exact content types and isolation rules.

Who it’s NOT for

Developers who want a finished assistant application: the README describes a toolkit and points to samples, so product UI, permissions, prompts, storage choices, and operations remain application work.
Teams relying on images, audio, resources, or links returned by MCP tools today: issue 1391 says v2.2.0 silently drops every non-text MCP content block.
Security-sensitive A2A deployments that assume workflow isolation alone protects prior messages: issue 1220 reports scoped remote dispatches replaying shared session history and reusing context IDs.
Organizations needing broad first-class model gateway coverage: issue 1358 says current backend support centers on Gemini and the OpenAI Responses wire format.
Projects pinned to an older Go toolchain: the current go.mod declares Go 1.26.6.

Setup reality

Our sandbox installed 289 Go packages in 42 seconds. The build succeeded in 132 seconds, and tests succeeded in 43 seconds; go test reported 72 passed and 0 failed of 72. The checkout had 803 files, about 141,609 source lines, and occupied 14.4 MB.

A consumer adds google.golang.org/adk/v2 to an existing Go module. A useful agent still needs a model implementation and its credentials, tool definitions, session storage, prompts, and a deployment target. Gemini is the optimized path, while other providers depend on available model interfaces.

The current main branch declares Go 1.26.6, newer than the Go 1.24 image used for our measured commit. MCP, A2A, streaming, persistent sessions, and cloud services add their own endpoints and credentials.

Agent behavior lives in ordinary Go code

ADK Go is a library for defining agents, tools, orchestration, sessions, evaluation, and deployment in Go. The project emphasizes code-first construction rather than a visual builder. That gives normal benefits: prompts and routing can be versioned with application code, tools can use typed functions, and agent behavior can sit beside unit tests and existing service packages. The Apache-2.0 license permits commercial use and modification.

Google calls the toolkit model agnostic while saying it is optimized for Gemini. The current module imports Google's Gen AI client and OpenAI's Go client, alongside MCP and A2A packages. Issue 1358 asks for a broader gateway and describes current backend support as Gemini plus the OpenAI Responses wire format. Teams using another provider should confirm the actual adapter path instead of reading model agnostic as universal plug-and-play support.

The 132-second build is clean but not quick

Our sandbox installed 289 Go packages in 42 seconds. The build then succeeded in 132 seconds, which was the longest successful build among this review set. The checkout was only 14.4 MB, with 803 files and about 141,609 lines of source, so the time belongs to compiling a broad Go dependency graph rather than unpacking a large repository.

The measured commit was 0a51e15 in a golang:1.24-bookworm container with 3 CPUs, 8 GB of RAM, and no secrets. Current main now declares Go 1.26.6 in go.mod, which means a contributor checking out today's branch needs a newer toolchain than our lab image. Pin the ADK version and Go toolchain together in CI so a branch update does not silently change compiler requirements.

What happened when we ran it

Our run completed installation in 42 seconds, compiled in 132 seconds, and finished tests in 43 seconds. go test reported 72 passed and 0 failed out of 72. The repository had 3 CI workflow files, no Dockerfile, and no top-level tests directory. Go package tests can live beside source, so the missing directory does not conflict with the passing test result.

These checks did not call Gemini, OpenAI, Vertex AI, MCP, A2A, Cloud Run, or any persistent session service. They prove that the measured code and dependencies built and that the supplied test command passed in our sandbox. A production evaluation still needs model responses, tool failures, concurrent runs, cancellation, session recovery, and credential boundaries under the application's own workload.

MCP text works while four content classes can disappear

ADK Go includes an MCP toolset, which makes external tool servers available to agents. Open issue 1391 reports that v2.2.0 preserves text blocks but silently drops embedded resources, resource links, images, and audio. The reporter reproduced this with GitHub's MCP server: a file-read call returned a success line while the embedded file body never reached the model.

Silent loss is worse than a typed error because the agent may continue with incomplete evidence. Test every selected MCP server using the content it returns, including large files that may switch from embedded data to resource links. Until the conversion is fixed in the pinned version, wrap responses into text where safe or avoid tools whose correctness depends on binary and resource blocks. Add a regression case so an SDK upgrade cannot reintroduce hidden truncation.

A2A isolation needs a payload-level test

Agent-to-agent support lets a coordinator delegate work to remote agents. Issue 1220 reports that an isolation-scoped workflow node builds its outbound A2A message from the shared session event list rather than only the seeded task input. The reproduction says earlier user text and tool results can be sent to the remote server, while later dispatches reuse a prior context ID.

That is a security and correctness concern for multi-tenant systems. A remote agent may receive information outside its intended branch, and reused context can mix independent jobs. Before enabling A2A, log a redacted representation of the outbound request, place unique markers in sibling branches, and assert that each remote call receives only its allowed marker and a fresh context. Framework isolation should be verified at the network payload, not inferred from an in-process scope name.

Version 2.2.0 fixes ownership, races, and live sessions

The August 10, 2026 release includes user-ownership enforcement for Vertex AI session deletion, a path-traversal fix for configurable agent tools, ordering for confirmed tool calls, artifact concurrency repair, and better cancellation propagation. It also closes live connections on history-send failures and preserves streaming usage metadata. Those changes show the project is addressing production behavior beyond demonstration agents.

GitHub reported 8,709 stars, 321 combined issues and pull requests, and a last push on August 26, 2026. Same-day work covered workflow dispatch, analytics, compaction, and examples. The volume signals an active project with a wide surface, not 321 confirmed bugs. Buyers should read issues for the exact packages they import because an in-memory chat agent and an A2A service have different risk profiles.

Go teams get the strongest reason to choose it

ADK Go fits best when agents must live inside an established Go service, share its observability and deployment practices, and use Gemini or a supported model interface. go get google.golang.org/adk/v2 is a simple entry point, while the measured 289-package graph and 132-second build show that the library is substantial. Cloud Run support and Go's concurrency model are useful, though neither guarantees correct agent behavior.

The clean 72-test result earns a real prototype. Build one agent with a bounded tool set, an in-memory session, and recorded model fixtures before adding remote state. Then test MCP response types, A2A payload isolation, retries, and cancellation under race-enabled CI. ADK Go supplies the framework; the application team still owns permission design, prompt behavior, data retention, model cost, and every remote boundary.

Alternatives

ProjectWhat it isPick it when
ADK Python gh↗Google's Python edition of the same Agent Development Kit family.pick this instead when Python's model and data ecosystem matters more than staying inside a Go service.
LangGraph gh↗A graph runtime for stateful agents and explicit workflow control.pick this instead when its Python or JavaScript ecosystem and graph abstractions fit the team better.
AutoGen gh↗A framework for conversational single-agent and multi-agent applications.pick this instead when conversational agent composition matters more than an idiomatic Go library.

What people are saying

  1. [github-trending] google/adk-go

Sources

  1. ADK Go README
  2. ADK Go repository
  3. ADK Go v2.2.0 release
  4. Issue 1391: MCP non-text content is dropped
  5. Issue 1220: A2A isolation scope leaks shared history
  6. Issue 1358: request for a broader model gateway

More llm tools reviews

rig · open-knowledge · graphiti · cve-mcp-server · minimind · SillyTavern · the whole board →