Google Ads MCP Admin
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CLOUD_PROJECT | Yes | Your Google Cloud project ID. | |
| GOOGLE_ADS_LOGIN_CUSTOMER_ID | Yes | The Google Ads manager account customer ID (digits only, no hyphens). | |
| GOOGLE_APPLICATION_CREDENTIALS | No | Optional path to a service account key file. If not set, Application Default Credentials are used. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| customers_list_accessible_customersA | Returns ids of customers directly accessible by the user authenticating the call. Use this tool first to discover available customer IDs if the user hasn't provided one. Most other tools require a valid customer ID as input. Returns: List[str]: A list of customer IDs. |
| metadata_get_resource_metadataA | Retrieves the selectable, filterable, and sortable fields for a specific Google Ads resource, including compatible metrics and segments. Use this tool to find out which fields you can select, filter by, or sort by when querying a specific resource (e.g., 'campaign', 'ad_group'). This tool also returns metrics and segments that can be selected with the resource. Their names start with 'metrics.' and 'segments.' respectively. Do not guess fields, you MUST use this tool to discover them before constructing a query for the
The responses of this tool should be cached, as they don't change frequently. |
| search_searchA | Fetches data from the Google Ads API using the search method |
| mutations_plan_mutationsA | Validate operations and return an immutable preview; makes no Ads write. |
| mutations_get_mutation_planA | Return the stored immutable preview and current local plan state. |
| mutations_cancel_mutation_planB | Invalidate a pending local plan without changing Google Ads. |
| mutations_acknowledge_high_risk_planB | Record the first interactive approval required for a high-risk plan. |
| mutations_apply_mutation_planA | Apply exactly one previously previewed plan after interactive approval. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool serves a distinct purpose: customer discovery, metadata lookup, data search, and mutation plan lifecycle. The only mild ambiguity is between 'plan_mutations' and 'get_mutation_plan', as both return previews, but their roles (create vs retrieve) are clarified in descriptions.
Tools follow a consistent [domain]_[action] pattern with snake_case, such as customers_list_accessible_customers and mutations_apply_mutation_plan. The name 'search_search' is slightly awkward (resource and verb identical), but overall the pattern is predictable and coherent.
Eight tools is well-scoped for the Google Ads admin domain, covering customer access, metadata/field discovery, search, and a complete mutation planning workflow. No redundant or excessive tools.
The mutation plan lifecycle is well covered (plan, get, cancel, acknowledge, apply), and search is supported by metadata discovery. Minor gaps include no way to list all mutation plans and no single-customer detail endpoint, but these are edge cases rather than core dead ends.