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 server: 16 tools for reporting, campaigns, keywords, assets. Writes preview first.
Hosted MCP server for Google Ads and LinkedIn Ads analysis.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
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,477 PyPI963Apache 2.0- AlicenseNot gradedqualityDmaintenanceMCP server for Google Ads campaign reporting and management via Claude, enabling GAQL queries, performance metrics, and campaign modifications.20 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