compare_periods
Compare performance between two date ranges.
Pull spend, campaign, keyword and search-term reports across several Google Ads accounts from one connection — without restarting to switch client.
LABSCO SUMMARY
For anyone running ads across several accounts, the account manager is the whole point: every tool takes an account name, there is a default you can change mid-session, and the credentials for each live in one config file. The reporting itself goes down to the level that answers questions — quality scores on keywords, and the search terms that actually triggered the ads, rather than only campaign totals.
A read-oriented Google Ads reporting server built around an account manager, so one running server can address many client or in-house accounts by name.
A Google Ads API developer token from the API Center, passed as GOOGLE_ADS_DEVELOPER_TOKEN, plus an accounts file: GOOGLE_ADS_ACCOUNTS_CONFIG points at an accounts.json holding the OAuth credentials for each account you want reachable, and the repository ships an accounts.example.json documenting its shape. Run it with uvx mcp-google-ads-multi over stdio, from the PyPI package mcp-google-ads-multi, currently 0.1.0; MCP_TRANSPORT=sse with MCP_HOST and MCP_PORT switches to remote hosting. Transient Google Ads API failures are retried with backoff. The project describes its release posture as beta.
One command plus credentials — uvx mcp-google-ads-multi, then supply credentials
USE CASES
List the configured accounts, switch the default to that client, then read the spend and conversion totals.
Compare the two date ranges directly, with a breakdown if you need to see where the change came from.
List the campaigns, then pull their performance across the range.
Read the search terms report for the campaign, then look at the keywords and their quality scores.
Pull ad-level performance with the headlines and descriptions alongside the click-through and conversion numbers.
List the accessible customers, and the child accounts under a manager account.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
compare_periodsCompare performance between two date ranges.
get_account_summaryGet top-level spend and conversion totals for an account.
get_ad_performanceGet ad-level performance (headlines, descriptions, CTR, conversions).
get_campaign_performanceGet campaign performance metrics for a date range.
get_keyword_performanceGet keyword-level performance including quality scores.
list_accountsList all configured Google Ads accounts and which is the current default.
list_campaignsList campaigns for an account.
list_customersList all accessible Google Ads customer accounts.
If customer_id is provided, lists child accounts under that MCC. Otherwise lists all accessible accounts for this login.
search_terms_reportGet actual search terms that triggered your ads.
set_default_accountSet the default account used when no account is specified in other tools.
BEFORE YOU INSTALL
10 tools when we connected. Nine of the ten only read; set_default_account changes which account later calls address. Nothing edits campaigns, budgets, bids or creatives.
The documented client runs the server on your machine.
CONTEXT COST
Rated by the size of the 10 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
uvx mcp-google-ads-multi{
"mcpServers": {
"google-ads": {
"command": "uvx",
"args": [
"mcp-google-ads-multi"
],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_ACCOUNTS_CONFIG": "/Users/<YOUR_USERNAME>/.config/mcp-google-ads/accounts.json"
}
}
}
}