Google Ads MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTMCP_HOST | No | Set to 0.0.0.0 to allow FastMCP to accept connections from all IP addresses. | |
| GOOGLE_PROJECT_ID | No | Your Google Cloud project ID. | |
| GOOGLE_ADS_MCP_BASE_URL | No | The base URL where the server is accessible (defaults to http://localhost:8080). | |
| GOOGLE_ADS_DEVELOPER_TOKEN | No | Your Google Ads developer token. | |
| 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 tools_config.yaml. | |
| GOOGLE_ADS_LOGIN_CUSTOMER_ID | No | The manager account's customer ID as default for 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 | Your Google Cloud OAuth 2.0 Client ID. | |
| 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 | Your Google Cloud OAuth 2.0 Client Secret. | |
| 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. Setting it selects the firestore backend even if GOOGLE_ADS_MCP_STORAGE_TYPE is unset. | |
| 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": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
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_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
Each tool has a clearly distinct purpose: listing accessible customers, discovering resource metadata, and executing a search query. Their descriptions reinforce the boundaries, and there is no overlap in functionality.
All tools use snake_case with a category prefix (customers_, metadata_, search_), and the first two follow a prefix_verb_noun pattern. However, 'search_search' is redundant and breaks the pattern, and the first two repeat the category noun inside the object.
Three tools is minimal but each earns its place in a read-only query workflow: discover customers, discover fields, and query data. For a server named 'Google Ads MCP Server', however, it feels thin given the breadth of the Ads API.
The surface covers the essential steps for querying Google Ads data: finding customer IDs, discovering selectable/filterable fields, and running searches. It lacks any write or mutation operations, which may be a gap if broader ad management is expected.