Skip to main content
Glama

ADM Google Ads

List Google Ads accounts

get_accounts
Read-onlyIdempotent

Call this first. Lists the Google Ads accounts connected to the user's ADM account (customer_id, name, currency, time zone), plus the user's ADM plan, this API key's scope (read or read_write), remaining campaign-creation quota, and the write calls, Google Ads queries and write items left today. Use the returned customer_id in every other tool. If no account is connected, returns a link where the user can connect one. Pass skill_version so the response can say whether the ADM skill file needs an update.

Input Schema

NameRequiredDescriptionDefault
skill_versionNoOptional: the version from the metadata of your ADM skill file (SKILL.md), e.g. 2026-10-08.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/closed-world, and the description adds real context on top: the exact composition of the response (plan, API key scope read vs read_write, remaining campaign-creation quota, remaining write calls/queries/write items today) and the no-account fallback link. It also discloses why skill_version is passed and what it controls (whether the ADM skill file needs an update), which is behavioral knowledge not present anywhere in the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the imperative "Call this first," which is the highest-value sentence. The middle sentence is a dense comma-separated inventory of returned fields that borders on listy, but every item is decision-relevant and nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the full burden of describing returns — and it does so concretely, including quotas, plan, key scope, and the no-account link. Combined with the required customer_id handoff instruction, an agent has everything needed to call this first and correctly use its result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single optional parameter is already documented, so baseline is 3. The description adds marginal meaning by explaining the downstream effect of skill_version (the response can flag whether the skill file needs updating), which clarifies why an agent would supply it rather than just what format to use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (lists the Google Ads accounts connected to the ADM account) and immediately differentiates itself from the ~20 get_* siblings by declaring itself the entry point: "Call this first." It also enumerates the non-obvious secondary payload (plan, key scope, quota, write items) so the agent knows this is more than a plain listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit sequencing guidance: "Call this first" plus "Use the returned customer_id in every other tool," which is exactly the dependency an agent needs. It also covers the failure path ("If no account is connected, returns a link where the user can connect one"), so both the happy path and the empty-state branch are specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources