Back to Browse

Google Ads MCP Server

Marketing & SocialUse Caution4.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Multi-account Google Ads MCP: campaigns, keywords, search terms, and ad performance.

About

Multi-account Google Ads MCP: campaigns, keywords, search terms, and ad performance.

Security Report

4.2
Use Caution4.2High Risk

This MCP server provides multi-account Google Ads API access with reasonable authentication and permission scope appropriate for its purpose. However, there are security concerns around credential storage in plaintext JSON files, insufficient input validation on GAQL queries, and broad exception handling that could mask errors. The server handles sensitive Google Ads data but does not expose exfiltration risks or malicious patterns. Supply chain analysis found 5 known vulnerabilities in dependencies (1 critical, 3 high severity). Package verification found 1 issue.

7 files analyzed · 14 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

What You'll Need

Set these up before or after installing:

Google Ads API developer token from the Google Ads API CenterRequired

Environment variable: GOOGLE_ADS_DEVELOPER_TOKEN

Path to accounts.json config file with OAuth credentials per accountOptional

Environment variable: GOOGLE_ADS_ACCOUNTS_CONFIG

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-ayo-fam-mcp-google-ads": {
      "env": {
        "GOOGLE_ADS_ACCOUNTS_CONFIG": "your-google-ads-accounts-config-here",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "your-google-ads-developer-token-here"
      },
      "args": [
        "mcp-google-ads-multi"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

mcp-google-ads

Multi-account Google Ads MCP server for operators who need one MCP surface across multiple client or in-house ad accounts without restarting the server.

Release posture: beta package, version 0.1.0 from pyproject.toml.

Choose your path

You are...Start hereThen
Connecting the server to your MCP clientdocs/start-here.mdQuick start below
Auditing account switching and retriesdocs/architecture.mdgads/server.py
Reviewing packaging metadatapyproject.tomlaccounts.example.json

Architecture

flowchart TD
  U[AI operator] --> C[MCP client]
  C --> S[FastMCP server]
  S --> M[Account manager]
  M --> F[Accounts config]
  S --> Q[GAQL query helpers]
  Q --> R[Retry wrapper]
  R --> A[Google Ads API]
  A --> R --> S

Request flow

flowchart TD
  P[Operator asks for account or campaign data] --> T[Selected MCP tool]
  T --> A[Resolve named or default account]
  A --> B[Build Google Ads client]
  B --> C[Run GAQL query]
  C --> D{API call succeeds?}
  D -- yes --> E[Normalize rows and return]
  D -- retryable --> F[Backoff and retry]
  F --> D
  D -- no --> G[Return error payload]

Quick start

  1. Install the package.
python -m pip install mcp-google-ads-multi
  1. Copy the accounts config template and add your accounts.
mkdir -p ~/.config/mcp-google-ads
cp accounts.example.json ~/.config/mcp-google-ads/accounts.json
  1. Register it in your MCP client.
{
  "mcpServers": {
    "google-ads": {
      "command": "uvx",
      "args": ["mcp-google-ads-multi"],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "your-developer-token",
        "GOOGLE_ADS_ACCOUNTS_CONFIG": "/Users/you/.config/mcp-google-ads/accounts.json"
      }
    }
  }
}

Available tools

Tool groupToolsPurpose
Account selectionlist_accounts, set_default_account, list_customersManage account routing and discover accessible customers
Spend summaryget_account_summary, compare_periodsPeriod-over-period account reporting
Campaign analysislist_campaigns, get_campaign_performanceCampaign inventory and range-based metrics
Query-level detailget_keyword_performance, search_terms_report, get_ad_performanceKeyword, search-term, and ad reporting

Runtime proof

ClaimProof
Package entry point is stablemcp-google-ads-multi = "gads.server:main" in pyproject.toml
Multi-account routing is first-classAccountManager() and set_default_account() in gads/server.py
Queries go through reusable helpersgads/query.py and gads/retry.py
Config is file-drivenaccounts.example.json documents the accounts shape

Repo map

PathPurpose
gads/server.pyFastMCP tool surface
gads/accounts.pyAccount config, OAuth/service-account loading
gads/query.pyGAQL execution helpers
gads/retry.pyRetry behavior for API calls
docs/start-here.mdSetup, validation, common failures
docs/architecture.mdComponent map and request lifecycle

Validation

CheckCommand
Import compilespython -m compileall gads
Package buildspython -m build
README/docs links are localrg '\\]\\(([^)]+\\.md)\\)' README.md docs/

License

MIT

Reviews

No reviews yet

Be the first to review this server!

Google Ads MCP Server - Multi-account Google Ads MCP: campaigns, keywords, search | MCP Marketplace