
Google Ads
A production-ready wrapper around the Google Ads API with 36 tools covering campaign creation, keyword management, and GAQL reporting. Ships read-only by default; you flip GOOGLE_ADS_MCP_WRITE to expose mutating operations. Everything creates in paused state with a label prefix so you can review in the Ads UI before going live. Built for agencies: it detects client context from your working directory and supports MCC accounts managing multiple customer IDs. Includes circuit breakers, retry logic, and pre-flight validation that catches RSA character limits before hitting the API. The newest release adds end-to-end Demand Gen campaign support with image asset uploads and multi-asset ad creation.
- tools
- 5
- auth
- Secret needed
- transport
- STDIO
- env vars
- 4
- last updated
- Apr 8, 2026
Tools
5 toolsPublic tool metadata for what this MCP can expose to an agent.
GOOGLEADS_ADD_OR_REMOVE_TO_CUSTOMER_LISTAddOrRemoveToCustomerList Tool will add a contact to a customer list in Google Ads. Note: It takes 6 to 12 hours for changes to be reflected in the customer list.3 params
AddOrRemoveToCustomerList Tool will add a contact to a customer list in Google Ads. Note: It takes 6 to 12 hours for changes to be reflected in the customer list.
emailsarrayoperationstringcreate · removedefault: createresource_namestringGOOGLEADS_CREATE_CUSTOMER_LISTCreateCustomerList Tool will create a customer list in Google Ads.2 params
CreateCustomerList Tool will create a customer list in Google Ads.
descriptionstringnamestringGOOGLEADS_GET_CAMPAIGN_BY_IDGetCampaignById Tool will return details of a campaign in Google Ads.1 params
GetCampaignById Tool will return details of a campaign in Google Ads.
idstringGOOGLEADS_GET_CAMPAIGN_BY_NAMEGetCampaignByName Tool will run a SQL GetCampaignByName in Google Ads.1 params
GetCampaignByName Tool will run a SQL GetCampaignByName in Google Ads.
namestringGOOGLEADS_GET_CUSTOMER_LISTSGetCustomerLists Tool will list all customer lists in Google Ads.
GetCustomerLists Tool will list all customer lists in Google Ads.
No parameter schema in public metadata yet.
Sponsors
Configuration
GOOGLE_ADS_CLIENT_ID*OAuth client ID
GOOGLE_ADS_CLIENT_SECRET*secretOAuth client secret
GOOGLE_ADS_REFRESH_TOKEN*secretOAuth refresh token
GOOGLE_ADS_DEVELOPER_TOKEN*secretGoogle Ads API developer token
Readme
MCP Google Ads Server
An MCP (Model Context Protocol) server for the Google Ads API with built-in safeguards for review before changes go live. Production-proven with MCC (Manager Account) support, 85 tools for campaign management, reporting, and optimization. v1.2.0 adds Demand Gen campaign creation end-to-end.
Quick install
Claude Code, one line (replace the placeholder values with your own; see Setup for how to get them):
claude mcp add --env GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN --env GOOGLE_ADS_CLIENT_ID=YOUR_CLIENT_ID --env GOOGLE_ADS_CLIENT_SECRET=YOUR_CLIENT_SECRET --env GOOGLE_ADS_REFRESH_TOKEN=YOUR_REFRESH_TOKEN --transport stdio mcp-google-ads -- npx -y mcp-google-ads
The server starts read-only. Set GOOGLE_ADS_MCP_WRITE=true to expose tools that change an account; new items are always created PAUSED.
Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), then fully quit and restart Claude Desktop:
Details
- Repository
- github.com/mharnett/mcp-google-ads
- Categories
- Data & Analytics, Finance & Commerce
- Package
mcp-google-ads- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active