Google Ads MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTMCP_HOST | No | Host for FastMCP to bind to (e.g., 0.0.0.0 for Cloud Run). | |
| GOOGLE_PROJECT_ID | No | Your Google Cloud project ID. | |
| GOOGLE_CLOUD_PROJECT | No | Your Google Cloud project ID (alternative to GOOGLE_PROJECT_ID). | |
| GOOGLE_ADS_MCP_BASE_URL | No | Base URL where the server is accessible (defaults to http://localhost:8080). | |
| GOOGLE_ADS_MCP_STORAGE_PATH | No | Directory path for filetree persistent storage. | |
| GOOGLE_ADS_MCP_STORAGE_TYPE | No | Storage backend for OAuth state (filetree, redis, firestore, or memory). | |
| GOOGLE_ADS_MCP_TOOLS_CONFIG | No | Explicit path to the tools_config.yaml file. | |
| GOOGLE_ADS_LOGIN_CUSTOMER_ID | No | Manager account customer ID to use as the default login_customer_id. | |
| GOOGLE_ADS_MCP_JWT_SIGNING_KEY | No | Secret key used to sign FastMCP JWT tokens across multiple server instances or deployments. | |
| GOOGLE_ADS_MCP_OAUTH_CLIENT_ID | No | Google Cloud OAuth 2.0 Client ID for FastMCP OAuth proxy. | |
| GOOGLE_APPLICATION_CREDENTIALS | No | Path to the credentials JSON file for Application Default Credentials. | |
| GOOGLE_ADS_MCP_STORAGE_REDIS_URL | No | Redis URL for redis persistent storage. | |
| GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET | No | Google Cloud OAuth 2.0 Client Secret for FastMCP OAuth proxy. | |
| GOOGLE_ADS_MCP_STORAGE_ENCRYPTION_KEY | No | Encryption key for stored OAuth tokens. | |
| GOOGLE_ADS_MCP_STORAGE_FIRESTORE_PROJECT | No | Google Cloud project for firestore persistent storage. Defaults to the project inferred from Application Default Credentials. | |
| GOOGLE_ADS_MCP_STORAGE_DISABLE_ENCRYPTION | No | Set to true to disable token encryption. | |
| GOOGLE_ADS_MCP_STORAGE_FIRESTORE_DATABASE | No | Firestore database name for firestore persistent storage. Defaults to (default). |
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": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
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. |
| 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_searchC | Fetches data from the Google Ads API using the search method |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_discovery_document | Retrieve the Google Ads API discovery document. Provides the discovery document for the Google Ads API, which describes the API surface, including resources, methods, and schemas. Use this resource to get a high-level overview of the API surface or to find available resources. However, for finding specific fields, you MUST use the `get_resource_metadata` tool instead, as it provides more targeted and up-to-date information for queries. Returns: str: The discovery document in JSON format. |
| get_metrics | Retrieve the Google Ads API metrics documentation. Provides the official documentation for metrics in the Google Ads API, listing all available metrics that can be queried to analyze performance data. Use this resource to identify which metrics are available and how they are calculated. Returns: str: The metrics documentation in HTML format. |
| get_release_notes | Retrieve the Google Ads API release notes. Provides the official release notes for the Google Ads API, detailing new features, changes, deprecations, and bug fixes across all API versions. Use this resource to check for breaking changes, determine if a specific feature is supported in a given API version, or troubleshoot issues by consulting recent API updates. Returns: str: The release notes in HTML format. |
| get_segments | Retrieve the Google Ads API segments documentation. Provides the official documentation for segments in the Google Ads API, detailing the available segments that can be used in GAQL queries to partition metrics. Use this resource to understand which segments can be used with specific resources and metrics. Returns: str: The segments documentation in HTML format. |
TDQS
Scored across 3 tools
The three tools target clearly distinct phases: discovering customer IDs, discovering resource metadata, and executing a search query. Their descriptions explicitly sequence them and leave little room for misselection.
The names mostly follow a resource_verb pattern (customers_list_accessible_customers, metadata_get_resource_metadata), but search_search breaks the pattern by repeating the verb and omitting a resource prefix. The convention is still readable and mostly predictable.
Three tools is at the low end, but each has a necessary role in a minimal discovery-and-query workflow. The set is well scoped for read-only Google Ads querying, though it may feel thin for the broader Google Ads domain.
The surface covers customer discovery, metadata discovery, and search-based data retrieval, which is coherent for read-only querying. However, there are no create/update/delete operations or other lifecycle tools, leaving notable gaps for a full Google Ads server.