Google Ads Campaign MCP
Provides tools for managing Google Ads campaigns, including accounts, campaigns, budgets, keywords, search terms, and keyword ideas.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Google Ads Campaign MCP
MCP server for managing Google Ads campaigns through the official Google Ads API — accounts, campaigns, budgets, keywords, search terms, and keyword ideas — exposed as MCP tools for any MCP client (Claude, Cursor, Hermes, ...).
⚠️ Read/write server. Tools like
set_campaign_status,update_campaign_budget,add_keywords, andupdate_keyword_bidmutate your live ads account. Test against a dev/test account first.
Features
Category | Tools |
Accounts |
|
Campaigns |
|
Ad groups & keywords |
|
Reports & research |
|
Related MCP server: google-ads-mcp
Requirements
Python 3.10+
Google Ads API access: a developer token, and an OAuth2 client with the
https://www.googleapis.com/auth/adwordsscopeAt least one Google Ads customer account (or MCC) the token can access
Setup
1. Install
pip install -e .
# or via pipx (recommended for MCP stdio servers)
pipx install .2. Provide credentials
Set environment variables or provide a google-ads.yaml file (see examples/google-ads.example.yaml):
export GOOGLE_ADS_DEVELOPER_TOKEN="YOUR_DEV_TOKEN"
export GOOGLE_ADS_CLIENT_ID="YOUR_CLIENT_ID"
export GOOGLE_ADS_CLIENT_SECRET="YOUR_CLIENT_SECRET"
export GOOGLE_ADS_REFRESH_TOKEN="YOUR_REFRESH_TOKEN"
export GOOGLE_ADS_LOGIN_CUSTOMER_ID="MCC_ID_IF_ANY" # optionalOr point at a YAML file:
export GOOGLE_ADS_CONFIG_PATH=/path/to/google-ads.yamlNever commit real credentials.
google-ads.yamlis gitignored.
3. Configure your MCP client
Claude Desktop / Claude Code:
{
"mcpServers": {
"google-ads-campaign": {
"command": "google-ads-campaign-mcp",
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "...",
"GOOGLE_ADS_CLIENT_ID": "...",
"GOOGLE_ADS_CLIENT_SECRET": "...",
"GOOGLE_ADS_REFRESH_TOKEN": "..."
}
}
}
}Hermes (~/.hermes/config.yaml):
mcp:
servers:
google-ads-campaign:
command: "google-ads-campaign-mcp"
env:
GOOGLE_ADS_DEVELOPER_TOKEN: "..."
GOOGLE_ADS_CLIENT_ID: "..."
GOOGLE_ADS_CLIENT_SECRET: "..."
GOOGLE_ADS_REFRESH_TOKEN: "..."4. Smoke test
# Verify the server boots and tools are listed
python -m google_ads_campaign_mcp --help
# or run a manual JSON-RPC handshakeUsage examples
list_accounts
list_campaigns(customer_id="1234567890")
get_campaign_stats(customer_id="1234567890")
set_campaign_status(customer_id="1234567890", campaign_id="9876543210", status="PAUSED")
update_campaign_budget(customer_id="1234567890", campaign_id="9876543210", daily_budget=50)
list_keywords(customer_id="1234567890", campaign_id="9876543210")
add_keywords(customer_id="1234567890", ad_group_id="555000111", keywords=["car repair sharjah"], match_type="PHRASE")
get_search_terms(customer_id="1234567890")
get_keyword_ideas(customer_id="1234567890", keywords=["car repair"], url="https://example.com")Notes & known limitations
get_keyword_ideasgeo defaults to the UAE region constant (2764); override withGOOGLE_ADS_GEO_ID.Arabic keyword seeds often return empty from the Keyword Planner — use an English seed or a URL seed.
Keyword Planner requires API v21+; the SDK must be
google-ads>=31.1.0.Mutations are batched in groups of 50 (Google API limit).
Development
pip install -e ".[dev]"
ruff check .
pytestLicense
MIT — see LICENSE. Maintained by Katbi Digital Solutions.
This server cannot be deployed
Maintenance
Related MCP Connectors
Google Ads MCP server — manage campaigns, keywords, and metrics.
Google Ads MCP: reports, search terms, negatives, budgets, campaigns. Approval on every write.
Google Ads MCP server: 17 tools for reporting, campaigns, keywords, assets. Writes preview first.
Hosted Google Ads MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseAqualityFmaintenanceA read-write MCP server for managing Google Ads campaigns, ad groups, keywords, and ads via natural language.122-

google-ads-mcpofficial
AlicenseBqualityAmaintenanceMCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.33,339 PyPI1,093Apache 2.0- AlicenseNot gradedqualityDmaintenanceMCP server for Google Ads campaign reporting and management via Claude, enabling GAQL queries, performance metrics, and campaign modifications.24 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Google Ads API that enables LLMs to search and query Google Ads accounts, retrieve resource metadata, and generate keyword ideas.Apache 2.0