Skip to content

How Google ADK’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score35/100

Agent-ready 46.4 × 0.30 = 13.92

API quality 4.3 × 0.20 = 0.86

Openness 62.9 × 0.20 = 12.58

Built-in AI 18.9 × 0.15 = 2.83

Automation 30.8 × 0.15 = 4.62

(13.92 + 0.86 + 12.58 + 2.83 + 4.62) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 34.81 ÷ 1.00 = 34.8

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready46.4/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 3 (quality) × 0.3 (disputed) = 1.8 of 20 max

  • [claimed-docs] https://google.github.io/adk-docs/ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware developer resources
  • [probe] https://google.github.io/llms.txtPROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt
  • [probe] https://google.github.io/adk-docs/get-started/.mdPROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md
  • [probe] https://google.github.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.io/api/openapi.json, https://google.github.io/.well-known/openapi.json)

Run the product headlessly / in CI for automationweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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
  • [github] https://github.com/google/adk-pythonadk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
  • [github] https://github.com/google/adk-pythonadk deploy docker --with_ui <agent-folder>
  • [claimed-docs] https://google.github.io/adk-docs/deploy/You can manually package your Agent into a container image and then run it in any environment that supports container images.
  • [claimed-docs] https://google.github.io/adk-docs/evaluate/This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).

Plug MCP servers into this product so it can use their toolsweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://google.github.io/adk-docs/mcp/An ADK agent can act as an MCP client and use tools provided by external MCP servers.
  • [claimed-docs] https://google.github.io/adk-docs/mcp/Exposing ADK Tools via an MCP Server: How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.
  • [claimed-docs] https://google.github.io/adk-docs/mcp/How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.

Connect an agent via an official MCP serverweight 3

3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max

  • [claimed-docs] https://google.github.io/adk-docs/mcp/Exposing ADK Tools via an MCP Server: How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.
  • [claimed-docs] https://google.github.io/adk-docs/mcp/How to build an MCP server that wraps ADK tools, making them accessible to any MCP client.
  • [claimed-docs] https://google.github.io/adk-docs/mcp/An ADK agent can act as an MCP client and use tools provided by external MCP servers.

Use an official CLIweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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
  • [github] https://github.com/google/adk-pythonadk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
  • [github] https://github.com/google/adk-pythonadk deploy docker --with_ui <agent-folder>
  • [claimed-docs] https://google.github.io/adk-docs/Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deploy with Agents CLI.
  • [claimed-docs] https://google.github.io/adk-docs/get-started/Migrate existing agents and workflows to ADK with Agents CLI.

Drive the product through a documented public APIweight 3

3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max

  • [claimed-docs] https://google.github.io/adk-docs/get-started/Create your first Python ADK agent in minutes.
  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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
  • [github] https://github.com/google/adk-pythonadk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
  • [github] https://github.com/google/adk-pythonadk deploy docker --with_ui <agent-folder>
  • [probe] https://google.github.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.io/api/openapi.json, https://google.github.io/.well-known/openapi.json)
  • [probe] https://google.github.io/llms.txtPROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Build against official SDKsweight 2

2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max

  • [claimed-docs] https://google.github.io/adk-docs/get-started/Create your first Python ADK agent in minutes.
  • [claimed-docs] https://google.github.io/adk-docs/agents/Building an agent with just a model, instructions, and tools is a great place to start for most developers.
  • [claimed-docs] https://adk.devagent = Agent( name="researcher", model="gemini-flash-latest", instruction="You help users research topics thoroughly.", tools=[google_search], )
  • [github] https://github.com/google/adk-pythonAgent Config: Build agents without code.
  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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
  • [claimed-docs] https://google.github.io/adk-docs/ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware developer resources

Subscribe to events via webhooksweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://google.github.io/adk-docs/agents/Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without altering core agent logic.

Agent-ready = 97.4 ÷ 210 × 100 = 46.4

API quality4.3/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://google.github.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.io/api/openapi.json, https://google.github.io/.well-known/openapi.json)
  • [probe] https://google.github.io/adk-docs/get-started/.mdPROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md
  • [claimed-docs] https://adk.devagent = Agent( name="researcher", model="gemini-flash-latest", instruction="You help users research topics thoroughly.", tools=[google_search], )

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://google.github.io/llms.txtPROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt
  • [probe] https://google.github.io/adk-docs/get-started/.mdPROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md
  • [probe] https://google.github.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.io/api/openapi.json, https://google.github.io/.well-known/openapi.json)

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 5 (quality) × 0.6 (partial) = 3.0 of 10 max

  • [claimed-docs] https://google.github.io/adk-docs/evaluate/This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session).
  • [claimed-docs] https://google.github.io/adk-docs/evaluate/This approach involves creating individual test files, each representing a single, simple agent-model interaction (a session). It's most effective during active agent development, serving as a form of unit testing.
  • [claimed-docs] https://google.github.io/adk-docs/evaluate/Expected Intermediate Tool Use Trajectory: The tool calls we expect the agent to make in order to respond correctly to the user query.
  • [github] https://github.com/google/adk-pythonadk 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
  • [github] https://github.com/google/adk-pythonadk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
  • [claimed-docs] https://google.github.io/adk-docs/deploy/This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://google.github.io/llms.txtPROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt
  • [probe] https://google.github.io/adk-docs/get-started/.mdPROBE docs-md: HTTP 404 at https://google.github.io/adk-docs/get-started/.md
  • [probe] https://google.github.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.io/api/openapi.json, https://google.github.io/.well-known/openapi.json)

API quality = 3.0 ÷ 70 × 100 = 4.3

Openness62.9/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [github] https://github.com/google/adk-pythonA built-in development UI to help you test, evaluate, debug, and showcase your agent(s).
  • [github] https://github.com/google/adk-pythonWeb UI (supports multi-agent directories or pointing directly to a single agent folder)
  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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
  • [github] https://github.com/google/adk-pythonadk eval \ samples_for_testing/hello_world \ samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
  • [github] https://github.com/google/adk-pythonadk deploy docker --with_ui <agent-folder>
  • [probe] https://google.github.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://google.github.io/openapi.json, https://google.github.io/swagger.json, https://google.github.io/api/openapi.json, https://google.github.io/.well-known/openapi.json)
  • [probe] https://google.github.io/llms.txtPROBE llms.txt: HTTP 404 at https://google.github.io/llms.txt

Export all of my data in open formats and leaveweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [github] https://github.com/google/adk-pythonAgent Config: Build agents without code.
  • [github] https://github.com/google/adk-pythonA built-in development UI to help you test, evaluate, debug, and showcase your agent(s).
  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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

Self-host the core productweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://google.github.io/adk-docs/deploy/This is a good option if you prefer to run offline or disconnected, or otherwise in a system that has no connection to Google Cloud.
  • [claimed-docs] https://google.github.io/adk-docs/deploy/You can manually package your Agent into a container image and then run it in any environment that supports container images.
  • [github] https://github.com/google/adk-pythonadk run path/to/my_agent
  • [github] https://github.com/google/adk-pythonadk 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
  • [github] https://github.com/google/adk-pythonadk deploy docker --with_ui <agent-folder>
  • [claimed-docs] https://google.github.io/adk-docs/deploy/GKE is a good option if you need more control over the deployment as well as for running Open Models.

Openness = 44.0 ÷ 70 × 100 = 62.9

Built-in AI18.9/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://google.github.io/adk-docs/deploy/Agent Runtime is a fully managed auto-scaling service on Google Cloud specifically designed for deploying, managing, and scaling AI agents built with frameworks such as ADK.
  • [claimed-docs] https://google.github.io/adk-docs/deploy/Cloud Run is a managed auto-scaling compute platform on Google Cloud that enables you to run your agent as a container-based application.
  • [claimed-docs] https://google.github.io/adk-docs/deploy/GKE is a good option if you need more control over the deployment as well as for running Open Models.
  • [github] https://github.com/google/adk-pythonWorkflow 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.
  • [github] https://github.com/google/adk-pythonA 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.
  • [claimed-docs] https://google.github.io/adk-docs/agents/In ADK, any agent application that has more than one agent or executable Node is considered a workflow.

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://google.github.io/adk-docs/ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware developer resources
  • [claimed-docs] https://google.github.io/adk-docs/Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deploy with Agents CLI.

Operate the product with natural-language commandsweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://google.github.io/adk-docs/ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware developer resources
  • [claimed-docs] https://google.github.io/adk-docs/Go from idea to coded ADK agent in minutes. Use your favorite AI-enabled developer environment to scaffold, build, test, evaluate, and deploy with Agents CLI.
  • [github] https://github.com/google/adk-pythonAgent Config: Build agents without code.
  • [github] https://github.com/google/adk-pythonAgent Config: Build agents without code. Check out the Agent Config feature.
  • [github] https://github.com/google/adk-pythonBuild agents without code. Check out the Agent Config feature.

Built-in AI = 13.2 ÷ 70 × 100 = 18.9

Automation30.8/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [github] https://github.com/google/adk-pythonWorkflow 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.
  • [claimed-docs] https://google.github.io/adk-docs/agents/you can use the ADK development framework to expand them into workflows, which allow you to combine and orchestrate multiple agents and code execution tasks

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://google.github.io/adk-docs/agents/Callbacks: Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without altering core agent logic.
  • [github] https://github.com/google/adk-pythonWorkflow 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.
  • [github] https://github.com/google/adk-pythonA 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.
  • [claimed-docs] https://google.github.io/adk-docs/agents/In ADK, any agent application that has more than one agent or executable Node is considered a workflow.

Schedule recurring jobs or workflowsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Version, review, and roll back my automationsweight 1

1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Automation = 24.6 ÷ 80 × 100 = 30.8