Back to MCP Servers

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.

Advertising by Google OAuth2 active
Overview

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.
Setup Guide

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_ID
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET
  • GOOGLE_ADS_MCP_BASE_URL (optional)
Use Cases
  • 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
Example Prompts
  • "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."
Pros
  • Official server maintained by the googleads organization, 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
Limitations
  • Small tool surface: only search, get_resource_metadata, and list_accessible_customers are 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 search is GAQL-based
Alternatives
  • 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