google-marketing-mcp
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-marketing-mcpshow me search terms with high spend but no conversions"
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-marketing-mcp
A read-only MCP server that exposes the Google Ads API to LLM clients: campaigns, metrics, search terms, budgets, and change history.
Point Claude (or any MCP client) at your Ads account and ask questions like "which search terms spent over $50 with no conversions last month?" without handing it write access.
Read-only by construction
There is no write or mutation code path in this server. It isn't a permission flag that can be toggled or a prompt instruction that can be talked around: the mutate endpoints simply aren't implemented. Even if the underlying service account has write scope, a client connected here cannot change anything in your account.
Tools
Tool | What it does |
| Advertiser accounts under your manager (MCC) account. Start here to find customer ids. |
| Campaigns: status, channel, bidding strategy, budget. |
| Campaign budgets (amount, status, delivery). |
| Cost, impressions, clicks, CTR, avg CPC, conversions by account / campaign / ad group / keyword / ad. |
| Actual user queries with cost and conversions — negative-keyword candidates. |
| Native Ads change log (last 30 days). |
Money fields are converted from micros to dollars, and nested rows are dot-flattened
(campaign.name, metrics.cost), so results drop straight into a table without post-processing.
Requirements
Node 20+
A Google Ads developer token (apply here)
A service account with access to your Ads account, as base64-encoded JSON
Setup
npm install && npm run buildConfiguration
All configuration is via environment variables. Nothing is hardcoded — the server fails with a named error if a required variable is missing.
Variable | Required | Purpose |
| yes | Google Ads API developer token |
| yes | Service-account JSON, base64-encoded |
| yes | Your manager (MCC) account id |
| no | Default advertiser account; otherwise pass |
| no | Path to a dotenv file to read the above from |
Ids may be dashed or bare (123-456-7890 and 1234567890 are equivalent).
Resolution order is process environment first, then GOOGLE_ADS_ENV_FILE if set.
Add to Claude Code
claude mcp add google-marketing -- node /absolute/path/to/google-marketing-mcp/dist/index.jsVerify
npm test # unit tests, no network or credentials needed
npm run smoke # end-to-end against the real API; needs credentialsLicense
MIT — see LICENSE.
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.
Latest Blog Posts
- 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/Bmiller4evr/google-marketing-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server