Google Ads Campaign MCP
Provides tools for managing Google Ads campaigns, including accounts, campaigns, budgets, keywords, search terms, and keyword ideas.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Ads Campaign MCPGet keyword ideas for car repair"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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: 16 tools for reporting, campaigns, keywords, assets. Writes preview first.
Hosted Google Ads MCP: build Search campaigns and make only the changes you approve, with undo.
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
AlicenseAqualityAmaintenanceMCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.32,504 PyPI1,019Apache 2.0- AlicenseNot gradedqualityDmaintenanceMCP server for Google Ads campaign reporting and management via Claude, enabling GAQL queries, performance metrics, and campaign modifications.21 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