← Back to directory
G

Google Ads MCP Server

Official
Official MCP server for interacting with the Google Ads API
Category
Other #101 of 230
Stars
★ 1.0k Very popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Python · Docker
Credentials
API key / credential required
License
Apache-2.0
Last commit
Tools
3
56FMRS · C

This is an official MCP server maintained by Google for interacting with the Google Ads API. It provides query tools and metadata resources, supports multiple authentication methods, and can be deployed locally or in the cloud. Suitable for users looking to integrate AI assistants into advertising account management, but note data exposure permissions and token management.

Strongest · Setup experience 12/20 Weakest · Reliability 10/20

Reliability
10/20
Security and permissions
10/20
Maintenance
12/20
Documentation
12/20
Setup experience
12/20
Why each score
Reliability 10/20
Evidence shows clear tool definitions (search, get_resource_metadata, list_accessible_customers) and explicit response format requirements (SearchResponse, GetResourceMetadataResponse etc.), indicating a clear tool contract. However, no tests or CI configs were provided to verify server startup, MCP handshake, or actual tool behavior; error handling details (how API errors map to MCP errors) are not visible. Thus 10 points: happy path plausible but lacks verifiable execution evidence and error testing.
Security and permissions 10/20
No malicious code or obvious credential theft; developer token and OAuth credentials passed via environment variables, no hardcoded secrets. Data access requires user authorization and warnings about data exposure are present. However, least privilege (e.g., only necessary Google Ads scope) not confirmed in static files, and access control relies on user-provided customer IDs without explicit confirmation mechanisms. No red lines detected, but permission details and confirmation flows are less transparent, so 10 points.
Maintenance 12/20
Repository not archived, has 835 stars, low open issues (8), indicating active development. README mentions pipx and GitHub issue tracker, but no clear release/versioning process or dependency update policy. License is Apache-2.0. Lacks version management evidence and maintenance process details, so 12 points.
Documentation 12/20
README covers installation, authentication (multiple options), configuration examples, and deployment guidelines, with layered docs for local and Cloud Run, plus sample prompts. However, tool parameter specifics (e.g., search query format, customer_id requirement) and limitations (quotas, costs) are not detailed, and troubleshooting info is insufficient. Hence 12 points.
Setup experience 12/20
Installation steps are clear: Python, pipx, developer token, enabling APIs, credentials setup, and config examples for popular clients. But the process is multi-step with several prerequisites (external tokens, Google Cloud setup), and no CI/tests verify the installation reliability. Therefore 12 points.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

Best for

  • Marketers
  • Data analysts
  • Developers using AI assistants to manage Google Ads accounts
  • Teams needing automated advertising reporting and analysis

Not for

  • Users without a Google Ads account or a valid developer token
  • Users with test-only tokens unable to access production accounts
  • Users requiring modifications to ad budgets or bids (server only provides query and metadata capabilities)
  • Fully offline environments (requires access to Google Ads API)

Required permissions

  • Requires Google Ads API access token, typically via OAuth 2.0
  • Requires a developer token with at least Explorer access
  • Requires Google Ads API enabled in your Google Cloud project
  • Credentials must include the adwords scope

Risks and side effects

  • The server exposes your advertising data to the connected AI agent or LLM
  • API calls may contain sensitive business data
  • If credentials are leaked, unauthorized access could occur
  • Quota and rate limits may cause service interruptions if exceeded

Setup

Before you start

Runtime:Python · Docker

GOOGLE_APPLICATION_CREDENTIALS requiredsecret Path to the Application Default Credentials JSON file, obtained via gcloud auth application-default login.
GOOGLE_PROJECT_ID required Google Cloud project ID where the Google Ads API is enabled.
GOOGLE_ADS_DEVELOPER_TOKEN requiredsecret Google Ads API developer token; needs at least Explorer access to query production accounts.
GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET optionalsecret Google Cloud OAuth 2.0 Client Secret for the FastMCP OAuth proxy.
GOOGLE_ADS_MCP_JWT_SIGNING_KEY optionalsecret Secret key used to sign FastMCP JWT tokens across server instances.
GOOGLE_ADS_MCP_STORAGE_ENCRYPTION_KEY optionalsecret Encryption key for stored OAuth tokens.
Other optional settings (10)
GOOGLE_ADS_LOGIN_CUSTOMER_ID optional Manager account customer ID, needed when access is via a manager account.
GOOGLE_CLOUD_PROJECT optional Recommended addition: your Google Cloud project ID.
GOOGLE_ADS_MCP_TOOLS_CONFIG optional Path to a custom tools_config.yaml to selectively enable/disable tools.
GOOGLE_ADS_MCP_OAUTH_CLIENT_ID optional Google Cloud OAuth 2.0 Client ID for the FastMCP OAuth proxy.
GOOGLE_ADS_MCP_BASE_URL optional Base URL where the server is accessible (defaults to http://localhost:8080).
GOOGLE_ADS_MCP_STORAGE_TYPE optional Storage backend for OAuth state (filetree, redis, or memory).
GOOGLE_ADS_MCP_STORAGE_PATH optional Directory path for filetree persistent storage.
GOOGLE_ADS_MCP_STORAGE_REDIS_URL optional Redis URL for the redis storage backend.
GOOGLE_ADS_MCP_STORAGE_DISABLE_ENCRYPTION optional Set to true to disable token encryption.
FASTMCP_HOST optional Set to 0.0.0.0 to let FastMCP accept connections from all IP addresses.
  1. Install pipx.
  2. Obtain a developer token following official instructions, with at least Explorer access.
  3. Enable the Google Ads API in your Google Cloud project.
  4. Configure credentials: choose FastMCP OAuth proxy, Application Default Credentials, or the Google Ads Python client library.
  5. Add the server to your MCP client configuration, setting environment variables like GOOGLE_ADS_DEVELOPER_TOKEN and credential path.
  6. If using OAuth proxy, set the relevant environment variables and run the server as a separate process.
.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"
      }
    }
  }
}

Shown for Claude Code. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "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"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add google-ads-mcp -e GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_CREDENTIALS_JSON -e GOOGLE_PROJECT_ID=YOUR_PROJECT_ID -e GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN -- pipx run --spec git+https://github.com/googleads/google-ads-mcp.git google-ads-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Launch your MCP client and confirm google-ads-mcp appears in the available servers; ask "what customers do I have access to?" — if the list_accessible_customers tool returns customer IDs, the connection works.

Troubleshooting

  1. Check that the developer token has production access; otherwise an error occurs
  2. Verify the Google Ads API is enabled in your Google Cloud project
  3. Validate the credential file path and adwords scope
  4. For OAuth proxy, ensure all related environment variables are set correctly and check server logs
  5. Confirm environment variable names and values in MCP client configuration

Things to try

Once connected, you can ask your AI assistant things like:

  • what can the ads-mcp server do?
  • what customers do I have access to?
  • How many active campaigns do I have?
  • How is my campaign performance this week?

Tools 3

search read-only
Retrieves information about the Google Ads account.
get_resource_metadata read-only
Retrieves metadata about a Google Ads API resource type, for example 'campaign', to understand the data structure and available fields.
list_accessible_customers read-only
Returns IDs of customers directly accessible by the user authenticating the call.

Use cases

Query the number of active campaigns in the advertising account
Retrieve campaign performance data
List all customer accounts the user has access to
Explore the Google Ads API resource structure and available fields

Supported clients

Antigravity CLI
Antigravity Code Assist
Claude Code
Cursor
VS Code with Copilot

Listed from the project's documentation, not tested by this site.

Overview

The Google Ads MCP Server is an official server that provides tools and resources for AI agents and LLMs to query and interact with Google Ads data. It supports searching advertising account information, retrieving resource metadata, listing accessible customers, and offers resources such as discovery document, metrics, segments, and release notes. The server supports multiple authentication methods including FastMCP OAuth proxy, Application Default Credentials, or the Google Ads API Python client library, and can run via local stdio or remote streamable-http transport.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 654 · Tools 11 Compare with this →

Source revision 9a78cbdceeba Data synced 2026-10-12 Read the FMRS scoring method