Google Ads MCP
Google Ads MCP server: GAQL queries, performance reports and campaign management.
Documentation
Google Ads MCP is a free MCP server that gives your AI agent 14 tools for Google Ads: ten for reading accounts, campaigns, keywords, and search terms, and four for making changes. You ask in plain language and the agent pulls the numbers or, with your confirmation, pauses a campaign or changes a budget. It runs on your machine as a VS Code extension and uses your own Google Ads API access.
There is no server to host and no config file to edit. You install the extension, complete the setup wizard, and the tools appear in every agent it finds: VS Code Copilot, Claude Code, Cursor, OpenAI Codex, Google Gemini, Windsurf, Continue.dev, and Cline.
What you can ask
- “Show me campaign performance for the last 7 days”
- “What are my top 20 keywords by clicks?”
- “Which search terms triggered my ads but never converted?”
- “Show me the ads in the brand campaign”
- “Pause the campaign with the highest cost per conversion”
- “Raise the daily budget on the search campaign to 80”
The ten read tools
| Tool | What it does |
|---|---|
ads_list_accounts | List the customer accounts you can reach, including those under a manager account |
ads_account_info | Account name, currency, time zone, auto-tagging, and manager status |
ads_campaigns | Campaigns with status, budget, type, and metrics for a date range |
ads_ad_groups | Ad groups with metrics, for one campaign or all |
ads_ads | Ads with their headlines, descriptions, final URLs, and metrics |
ads_keywords | Keyword performance: impressions, clicks, cost per click, conversions, impression share |
ads_search_terms | The search terms report: what people typed before your ad showed |
ads_performance | An account total for a date range, or the same broken down by campaign |
ads_query | Run any read-only query in the Google Ads Query Language |
ping | Check that the server is running |
ads_query covers whatever the other tools do not. If you want clicks by device, performance by hour, or conversions by location, the agent writes the query and runs it. Only SELECT queries are accepted, so it cannot change anything.
The four admin tools
| Tool | Actions |
|---|---|
ads_campaign_admin | Create a search campaign, rename, pause, enable, remove, change the daily budget |
ads_ad_group_admin | Create an ad group, rename it or change its bid, pause, enable, remove |
ads_ad_admin | Create a responsive search ad, pause, enable, remove |
ads_keyword_admin | Add keywords with a match type, pause, enable, remove, change a bid |
Every change needs confirmation, and new things start paused
In the other Google extensions only deletes need a confirmation. Here every admin action does, because every one of them can spend money. Nothing changes unless the call carries confirm: true, and the agent is told to ask you first.
New campaigns, ad groups, and ads are created paused. They cannot spend until you, or the agent on your instruction, enable them. That gives you a chance to look at what was built in the Google Ads interface before it goes live.
Three things people use it for
A search terms clean-up
Ask for search terms from the last 30 days with spend and no conversions. The agent returns the list with the cost of each. You decide which are waste, and add those as negative keywords in Google Ads.
A weekly account check
Ask for this week against last week by campaign. The agent calls ads_performance twice and tells you what moved: which campaigns spent more for fewer conversions, and which improved.
Drafting a campaign you review before launch
Describe the offer and the landing page. The agent creates the campaign, an ad group, the keywords, and a responsive search ad, all paused. You read it through in Google Ads and enable it when it is right.
What you need before installing
Google Ads has a stricter API than the other Google services, so setup has one extra piece.
- A Google Ads account. A manager account works too.
- A developer token. In Google Ads, open Tools, then API Center, and copy the token. If you do not have one, apply there. A test token only works against test accounts, so you need approved access to read a live account.
- OAuth credentials. In the Google Cloud Console, enable the Google Ads API and create an OAuth client ID of type Desktop app.
- The setup wizard. It takes the OAuth client, the developer token, and your choice of agents, then verifies the connection.
- Your customer ID. Set the 10-digit ID, without dashes, in VS Code settings under
gadsMcp.defaultCustomerId, or name it in a request.
Using Google Ads MCP with Claude Code, Cursor and other agents
You do not add a server entry by hand. The extension writes the registration for each agent it finds: ~/.claude.json for Claude Code, ~/.cursor/mcp.json for Cursor, ~/.codex/config.toml for OpenAI Codex, ~/.gemini/settings.json for Gemini, and the matching files for Windsurf, Continue.dev, and Cline. VS Code Copilot picks it up through the VS Code API.
Open a new session in any of them and the tools are in the tool list. To limit which agents get them, switch the others off in VS Code settings under gadsMcp.agents. The command “Google Ads MCP: Remove from All Agents” takes every registration back out.
Amounts are in micros
The Google Ads API counts money in micros, and one unit of your account currency is 1,000,000 micros. The agent converts for you, so “set the budget to 50” becomes 50,000,000. In a raw query result, a cost of 2,340,000 means 2.34.
Limits
- It creates search campaigns and responsive search ads. It does not create Performance Max, Shopping, Display, or video campaigns, though it reports on them.
- Negative keywords, audiences, and extensions are read through
ads_query. They are not changed through the admin tools. - Creating a campaign requires you to state whether it contains EU political advertising, because Google’s API requires that declaration.
- Google Ads data for the current day is incomplete until the day closes.
Common questions
Is Google Ads MCP free?
Yes. The extension is free and MIT licensed. You pay Google for your ads as usual and nothing for the API.
Is this Google’s official Google Ads MCP server?
No. It is an independent extension that calls the Google Ads API with your own developer token and sign-in.
Does it work with Claude Code and Cursor?
Yes. Both are registered automatically, along with Copilot and five other agents.
Can the agent spend my budget without asking?
Every admin action needs an explicit confirmation, and anything new is created paused. Reports and queries cannot change the account.
Can I use it with a manager account?
Yes. ads_list_accounts lists the accounts under it, and every tool accepts a customer ID so you can move between clients in one session.
Where does my account data go?
Nowhere except Google. The MCP server runs on your own machine and calls Google’s APIs with your credentials. There is no telemetry, and the sign-in token is kept in VS Code’s encrypted secret storage.
Use it without VS Code
Google Ads MCP is also on npm, for Claude Code, Cursor, or any other MCP client. It needs Node.js 22 or newer.
npx -y @renzo.johnson/google-ads-mcp
In Claude Code, one command adds it:
claude mcp add google-ads -- npx -y @renzo.johnson/google-ads-mcp
Outside VS Code there is no setup wizard, so the server takes its sign-in from the environment: your developer token in GOOGLE_ADS_DEVELOPER_TOKEN, and an OAuth client ID, secret, and refresh token in GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET, and GOOGLE_OAUTH_REFRESH_TOKEN. With a manager account, also set GOOGLE_ADS_LOGIN_CUSTOMER_ID. The npm package page has the config block for Claude Code and Cursor.
Install it
Google Ads MCP is free and MIT licensed.
- Install from the VS Code Marketplace
- Install from Open VSX for VSCodium, Cursor, and Windsurf
- Run Google Ads MCP from npm with npx, in any MCP client
Listed in the official MCP Registry as com.renzojohnson/google-ads-mcp.
Related
- Google Analytics MCP, to see what the clicks did after they landed
- Google Search Console MCP, for the organic side of the same searches
- Google Workspace MCP, for Gmail, Drive, Docs, Sheets, and Calendar
- All Google MCP servers, the full list of 20