This is a remote, fully hosted server. There is nothing to clone, install, or run. Point your MCP client at the endpoint below and sign in. This repository holds the connection setup and documentation only; the server is operated by AdPlug.
Endpoint
https://api.adplug.app/mcp/google-ads
What it does
Manage and analyze Google Ads in plain language from your AI assistant: pull spend and conversion reports across an entire MCC, research keywords, write raw GAQL, and make safe changes with a preview step before anything is committed. Costs come back formatted with currency symbols, account names are always attached to IDs, and MCC parent accounts are auto-detected so you rarely touch login_customer_id.
Built by a PPC veteran
Hi, I'm Daniel Popa, founder of AdPlug. I have spent 10+ years in performance marketing and managed over $100M in ad budgets, running paid acquisition and conversion optimization for brands including Coca-Cola, Rolex, Boots, British Gas, Europcar, O2, and SeedLegals.
I still run Google Ads and LinkedIn Ads every day, and I built this server because I was tired of switching between the AI I think in and the ad platforms I work in. This is not a generic API wrapper. Every tool exists because I needed it on a live account: a cross-account spend overview in one call, conversion reports that handle GAQL segmentation for you, and a preview step before any change touches a real account. If a workflow felt slow in my own day job, it became a tool.
Questions, feature requests, or PPC war stories? Reach me on LinkedIn or at support@adplug.app.
Quick start
You need a free AdPlug account to authorize the connection. The server uses OAuth 2.1: when you add it, your client opens a browser window where you sign in to AdPlug and connect Google Ads. No API keys or tokens are pasted anywhere.
- Create your account at adplug.app and connect Google Ads.
- Add the endpoint to your client (pick yours below).
- Approve the OAuth prompt. You are connected.
Add it to your client
Claude.ai and Claude Desktop
Settings → Connectors → Add custom connector → paste the name and URL:
| Field | Value |
|---|
| Name | Google Ads MCP |
| URL | https://api.adplug.app/mcp/google-ads |
A browser window opens to sign in and authorize. Done.
Claude Code (CLI)
claude mcp add --transport http adplug-google-ads https://api.adplug.app/mcp/google-ads
Then run /mcp inside Claude Code and complete the OAuth login.
ChatGPT
Settings → Connectors → Create (Developer mode / custom connector) → paste the URL https://api.adplug.app/mcp/google-ads and authorize. Requires a ChatGPT plan that supports custom MCP connectors.
Cursor

Or add it manually to ~/.cursor/mcp.json:
{
"mcpServers": {
"adplug-google-ads": {
"url": "https://api.adplug.app/mcp/google-ads"
}
}
}
VS Code
code --add-mcp '{"name":"adplug-google-ads","url":"https://api.adplug.app/mcp/google-ads"}'
Any client that needs a stdio bridge (Windsurf, older desktop apps)
Use mcp-remote to bridge the remote server over stdio. It handles the OAuth handshake for you:
{
"mcpServers": {
"adplug-google-ads": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.adplug.app/mcp/google-ads"]
}
}
}
16 tools, designed as a few flexible tools rather than many narrow ones.
| Tool | What it does |
|---|
adplug_get_status | Check whether Google Ads is connected and healthy. |
google_ads_list_accounts | List all accessible accounts with names, types, currencies, and MCC hierarchy. |
google_ads_account_performance | Cross-account spend overview in one call (skips MCC managers). |
google_ads_campaign_performance | Campaign-level metrics, no GAQL required. |
google_ads_conversion_performance | Conversion-action breakdowns with segmentation handled for you. |
google_ads_daily_trends | Day-by-day metric trends. |
google_ads_search_terms | Search-term report, sorted by cost. |
google_ads_shared_set_criteria | Contents of shared negative-keyword lists. |
google_ads_keyword_ideas | Keyword research and ideas. |
google_ads_gaql_doc | GAQL syntax reference. |
google_ads_reporting_view_doc | Exact field names, types, and filterability for a reporting view. |
google_ads_query | Run raw GAQL for custom or advanced queries. |
google_ads_preview_mutation | Preview a status change (pause / enable / remove) before committing. |
google_ads_execute_mutation | Execute a previewed change. |
google_ads_preview_add_negatives | Preview adding negative keywords (campaign-level or shared list). |
google_ads_execute_add_negatives | Execute the negative-keyword addition. |
Authentication
OAuth 2.1 with Dynamic Client Registration. Your client discovers the authorization server from the endpoint, registers itself, and opens a browser for you to sign in to AdPlug and grant access. The connection between AdPlug and Google is held server-side and encrypted; the MCP client never sees a Google token.
Server config (for directory submissions)
{
"mcpServers": {
"adplug-google-ads": {
"url": "https://api.adplug.app/mcp/google-ads"
}
}
}
Links
More from AdPlug
AdPlug is a marketing control plane that plugs your ad accounts into AI assistants over the Model Context Protocol. This is one of several AdPlug servers:
- Google Ads MCP (this one):
https://api.adplug.app/mcp/google-ads
- LinkedIn Ads MCP:
https://api.adplug.app/mcp/linkedin-ads
- Unified (Google Ads and LinkedIn Ads in one connector):
https://api.adplug.app/mcp
One AdPlug account works across all of them.
License
MIT for the contents of this repository (setup and documentation). The hosted service has its own terms.
Google Ads is a trademark of Google LLC. AdPlug is an independent integration and is not endorsed by or affiliated with Google.