MCP server: One MCP server.

MCP Google Ads

@ayo-famMCP server · External

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

Online advertisingv0.1.0MITPython
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPImcp-google-ads-multiv0.1.0

Run

uvx mcp-google-ads-multi

MCP client config

{
  "mcpServers": {
    "mcp-google-ads": {
      "command": "uvx",
      "args": [
        "mcp-google-ads-multi"
      ]
    }
  }
}
README2 min read

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

mermaid
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

mermaid
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.
bash
python -m pip install mcp-google-ads-multi
  1. Copy the accounts config template and add your accounts.
bash
mkdir -p ~/.config/mcp-google-ads
cp accounts.example.json ~/.config/mcp-google-ads/accounts.json
  1. Register it in your MCP client.
json
{
  "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

Project context for new tasks

Read prompt.md, then INDEX.md, for project-specific decisions, task routes and current handoff. Historical examples do not select the current task.

Similar modules

Browse Online advertising