Google Ads Campaign MCP
Provides tools for managing Google Ads campaigns, including accounts, campaigns, budgets, keywords, search terms, and keyword ideas.
Click on "Install 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 Server
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA typed MCP server that wraps the Google Ads API v20, enabling AI agents to manage campaigns, budgets, keywords, conversions, and run GAQL search via structured MCP tools.22MIT
- AlicenseAqualityFmaintenanceA read-write MCP server for managing Google Ads campaigns, ad groups, keywords, and ads via natural language.122The Unlicense

google-ads-mcpofficial
Alicense-qualityAmaintenanceMCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.843Apache 2.0- Flicense-qualityDmaintenanceMCP server that lets any LLM manage Google Ads campaigns from the terminal. Supports read and write operations.
Related MCP Connectors
MCP server for Google search results via SERP API
MCP server for interacting with the Supabase platform
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/clientskatbi/google-ads-campaign-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server