mharnett avatar

Google Ads

mharnett/mcp-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 tools

Public 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.

Parameters* required
emailsarray
Array of emails of the contacts to be added to the customer list.
operationstring
Operation to be performed on the customer list. Either create or remove.one of create · removedefault: create
resource_namestring
Resource name of the customer list. For example: customers/1234567890/userLists/1234567890
GOOGLEADS_CREATE_CUSTOMER_LISTCreateCustomerList Tool will create a customer list in Google Ads.2 params

CreateCustomerList Tool will create a customer list in Google Ads.

Parameters* required
descriptionstring
Description of the customer list.
namestring
Name of the customer list.
GOOGLEADS_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.

Parameters* required
idstring
id of the campaign to search on GoogleAds.
GOOGLEADS_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.

Parameters* required
namestring
name of the campaign to search on GoogleAds.
GOOGLEADS_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*secret

OAuth client secret

GOOGLE_ADS_REFRESH_TOKEN*secret

OAuth refresh token

GOOGLE_ADS_DEVELOPER_TOKEN*secret

Google 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:


View the full README on GitHub

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

More from mharnett

Related Data & Analytics MCP servers

View all
1monsterinstitute avatarPixohub image specsmonsterinstitute/image-specsPlatform image sizes from official sources, upload limits, format advice and image test data.0stars
2nvasilevv avatarPensiata - Bulgarian Pension Fund Analyticsnvasilevv/pensiata-mcpBulgarian pension fund analytics — NAV data, metrics, rankings, and benchmarks.0stars
3oviron avatarOpenrouter Adminoviron/openrouter-admin-mcpMCP server for OpenRouter management API: credits, key CRUD, activity drill-down, dashboard.0stars
4owenscheuer avatarPaceva for Garminowenscheuer/paceva-garmin-mcpYour own Garmin Connect data: sleep, HRV, Body Battery and activities. Local, read-only.0stars
5parvenudev avatarParvenuparvenudev/parvenu_mcp_directory_integrationB2B lead sourcing and enrichment: lead lists with verified emails, LinkedIn and company data.0stars
6pipeworx-io avatarAbgeordnetenwatchpipeworx-io/mcp-abgeordnetenwatchAbgeordnetenwatch MCP — German federal & state parliament data.0stars