google-marketing-mcp

google-marketing-mcp

Read-only MCP server for Google Ads API, enabling natural language queries about campaigns, metrics, search terms, and change history without write access.

Category
Visit Server

README

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
list_accounts Advertiser accounts under your manager (MCC) account. Start here to find customer ids.
get_campaigns Campaigns: status, channel, bidding strategy, budget.
get_budgets Campaign budgets (amount, status, delivery).
get_metrics Cost, impressions, clicks, CTR, avg CPC, conversions by account / campaign / ad group / keyword / ad.
get_search_terms Actual user queries with cost and conversions — negative-keyword candidates.
get_change_history 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 build

Configuration

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
GOOGLE_ADS_DEVELOPER_TOKEN yes Google Ads API developer token
GOOGLE_SERVICE_ACCOUNT_KEY yes Service-account JSON, base64-encoded
GOOGLE_ADS_LOGIN_CUSTOMER_ID yes Your manager (MCC) account id
GOOGLE_ADS_CUSTOMER_ID no Default advertiser account; otherwise pass customer_id per call
GOOGLE_ADS_ENV_FILE 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.js

Verify

npm test                    # unit tests, no network or credentials needed
npm run smoke               # end-to-end against the real API; needs credentials

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured