Google Ads MCP Server
Official Google Ads MCP server that exposes Google Ads account data and reporting to AI agents via the Google Ads API.
The Google Ads MCP server is an official open-source project from the googleads GitHub organization that lets AI agents and LLMs query Google Ads accounts through the Model Context Protocol. It wraps the Google Ads API and provides standardized tools for retrieving account data, exploring resource schemas, and listing accessible customers, plus reference resources covering the API discovery document, metrics, segments, and release notes.
The server is implemented in Python and runs via pipx, supporting three authentication methods: a FastMCP OAuth Proxy for dynamic user auth, Google Application Default Credentials (ADC) via gcloud, or an existing google-ads.yaml Python client library configuration. It supports manager (MCC) accounts through the GOOGLE_ADS_LOGIN_CUSTOMER_ID environment variable and can be deployed to Cloud Run.
The current tool surface is focused on querying and reporting rather than write operations. The search tool is the primary entry point for running Google Ads Query Language (GAQL) queries, while get_resource_metadata and list_accessible_customers help an agent discover account structure before issuing queries. The repo also ships an Agent Skill for account performance diagnostics.
Tools
| Tool | Description |
|---|---|
search |
Retrieves information about a Google Ads account by running a GAQL query against the API. |
get_resource_metadata |
Retrieves metadata about a Google Ads API resource type (for example, 'campaign'), including available fields and segments. |
list_accessible_customers |
Returns the IDs of customers directly accessible by the authenticated user. |
Prerequisites
- Python with pipx installed
- A Google Cloud project with the Google Ads API enabled
- A Google Ads Developer Token (at least Explorer access)
- OAuth 2.0 credentials or Application Default Credentials
Authenticate with Google
Using Application Default Credentials (ADC):
gcloud auth application-default login \
--scopes https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform \
--client-id-file=YOUR_CLIENT_JSON_FILE
Or with a service account:
gcloud auth application-default login \
--impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
--scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform
MCP client configuration
Example for Gemini CLI (~/.gemini/settings.json) or Claude Desktop / Cursor mcp.json:
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MANAGER_CUSTOMER_ID"
}
}
}
}
Alternative auth: FastMCP OAuth Proxy
Set these environment variables to authenticate users dynamically:
GOOGLE_ADS_MCP_OAUTH_CLIENT_IDGOOGLE_ADS_MCP_OAUTH_CLIENT_SECRETGOOGLE_ADS_MCP_BASE_URL(optional)
- Pull weekly campaign performance reports (impressions, clicks, cost, conversions) from one or more Google Ads accounts using GAQL queries
- Diagnose underperforming campaigns or ad groups via the bundled account-performance-diagnostics Agent Skill
- Audit account structure across an MCC by listing accessible customers and inspecting their campaigns, ad groups, and keywords
- Explore the Google Ads API schema (resource fields, metrics, segments) before constructing custom GAQL queries
- Build conversational reporting workflows where an analyst asks an agent for ROAS, CPA, or search-term insights without writing SQL
- "List all Google Ads customer accounts I can access."
- "Show me the top 10 campaigns by cost over the last 30 days for customer 123-456-7890."
- "What metrics and segments are available on the ad_group resource?"
- "Find search campaigns with conversion rate below 1% in the last 14 days and summarize what's dragging them down."
- "Run a GAQL query to get keyword-level CTR and average CPC for ad group X."
- Official server maintained by the
googleadsorganization, so it tracks Google Ads API conventions directly - Flexible auth: supports FastMCP OAuth Proxy, gcloud ADC, and existing google-ads.yaml configurations
- Built-in support for MCC manager accounts via
GOOGLE_ADS_LOGIN_CUSTOMER_ID - Ships an Agent Skill for account performance diagnostics and supports Cloud Run deployment
- Small tool surface: only
search,get_resource_metadata, andlist_accessible_customersare exposed, with no documented write operations for creating or mutating campaigns - Requires a Google Ads Developer Token and Google Cloud project setup, which is non-trivial for new users
- Effective use depends on knowing Google Ads Query Language (GAQL) since
searchis GAQL-based
- opteo/google-ads-mcp community server with broader reporting helpers
- cohnen/mcp-google-ads community MCP server for Google Ads
- Meta Ads MCP servers if you need cross-platform paid media reporting alongside Google Ads