Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ApexRadius Google Ads

FreeNot checked

Multi-account Google Ads MCP server for campaign, keyword, search-term, and performance reporting across named accounts.

GitHubEmbed

About

Multi-account Google Ads MCP server for campaign, keyword, search-term, and performance reporting across named accounts.

README

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 here Then
Connecting the server to your MCP client docs/start-here.md Quick start below
Auditing account switching and retries docs/architecture.md gads/server.py
Reviewing packaging metadata pyproject.toml accounts.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 group Tools Purpose
Account selection list_accounts, set_default_account, list_customers Manage account routing and discover accessible customers
Spend summary get_account_summary, compare_periods Period-over-period account reporting
Campaign analysis list_campaigns, get_campaign_performance Campaign inventory and range-based metrics
Query-level detail get_keyword_performance, search_terms_report, get_ad_performance Keyword, search-term, and ad reporting

Runtime proof

Claim Proof
Package entry point is stable mcp-google-ads-multi = "gads.server:main" in pyproject.toml
Multi-account routing is first-class AccountManager() and set_default_account() in gads/server.py
Queries go through reusable helpers gads/query.py and gads/retry.py
Config is file-driven accounts.example.json documents the accounts shape

Repo map

Path Purpose
gads/server.py FastMCP tool surface
gads/accounts.py Account config, OAuth/service-account loading
gads/query.py GAQL execution helpers
gads/retry.py Retry behavior for API calls
docs/start-here.md Setup, validation, common failures
docs/architecture.md Component map and request lifecycle

Validation

Check Command
Import compiles python -m compileall gads
Package builds python -m build
README/docs links are local rg '\\]\\(([^)]+\\.md)\\)' README.md docs/

License

MIT

from github.com/apexradius/mcp-google-ads

Installing ApexRadius Google Ads

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/apexradius/mcp-google-ads

FAQ

Is ApexRadius Google Ads MCP free?

Yes, ApexRadius Google Ads MCP is free — one-click install via Unyly at no cost.

Does ApexRadius Google Ads need an API key?

No, ApexRadius Google Ads runs without API keys or environment variables.

Is ApexRadius Google Ads hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install ApexRadius Google Ads in Claude Desktop, Claude Code or Cursor?

Open ApexRadius Google Ads on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare ApexRadius Google Ads with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs