Google Ads MCP
Provides read tools for Google Ads and optionally governed write access for Search campaigns. Read tools require only Google Ads credentials (developer token, manager ID, login customer ID, ADC with the adwords scope). Campaign mutation tools support prepare, validate-only, issue human approval, apply with an idempotency key, and readback; new Search campaigns are created PAUSED and existing-campaign edits are limited to approved status changes and constrained by an account policy file (customer identity, currency, time zone, domains, budget caps, conversion goals, campaign allowlist). An optional authenticated HTTP mode serves /mcp behind HTTPS with bearer-token identities, Firestore-backed shared approval ledger, and policy-based authorization.
Click on "Deploy 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 Ads MCPshow me last week's Search campaign performance"
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 Ads MCP starter
Run your own MCP server with Google Ads read tools and optional approved Search campaign changes. Most users need only the Google Ads setup below. Merchant Center is a separate, optional integration and is disabled by default. Google Ads credentials do not configure Merchant Center access. This repository contains no shared credentials, account access, production configuration, or deployment history. All sample account IDs, product IDs, and customer names are fictional.
Install and test
Use Python 3.10 or newer.
python3 -m venv .venv
.venv/bin/pip install '.[dev]' pyfakefs
.venv/bin/python -m unittest discover -s tests -p '*_test.py'The default tests use mocks and need no Google credentials. Optional LLM tests require your own Gemini credentials and can incur costs.
Related MCP server: Google Ads MCP
Configure Google Ads read access
Copy
.env.exampleto a private.envfile. Use your process manager or MCP client to inject its values. The server does not load dotenv files.Obtain your own Google Ads developer token. Configure Application Default Credentials for an identity with Google Ads access and the
https://www.googleapis.com/auth/adwordsscope.Set
GOOGLE_ADS_MANAGER_IDto your ten-digit manager ID andGOOGLE_ADS_MANAGER_NAMEto its exact name. SetGOOGLE_ADS_LOGIN_CUSTOMER_IDto your login manager ID.Start the server with your configured environment.
.venv/bin/google-ads-mcpLocal mode uses stdio and trusts the local process environment. Keep credentials outside the repository and restrict access to the ledger.
Read tools do not require a policy file, approval key, ledger, Merchant account, or Merchant credentials. Campaign mutation tools are listed but refuse changes until their required policy and approval configuration exists.
Add governed Search campaign writes
Copy
policy.example.jsontopolicy.local.json. Replace the fictional customer identity, currency, time zone, domains, budget caps, conversion goals, and campaign allowlist. An empty campaign allowlist denies existing-campaign edits.Set
GOOGLE_ADS_MCP_ACCOUNT_POLICY_PATH, the runtime caller and approver identities, and your own random approval HMAC key of at least 32 bytes. Do not reuse the bearer token as this key.Configure the ledger variables in
.env.exampleand create its private directory withmkdir -p .runtime.
Campaign tools use prepare, validate-only, issue approval, apply with an idempotency key, and readback. New Search campaigns are created PAUSED. Existing-campaign edits support approved status changes and enforce account policy.
An authorization reference records your human approval. The gateway does not independently verify an external ticket or chat message. Decide which agents may issue approvals before giving them credentials.
Optional Merchant Center and Shopping feed tools
Skip this integration unless you need product feeds, item issues, supplemental title or custom-label overrides, or Merchant price reports. Follow the separate Merchant Center setup guide. It uses different account IDs, API registration, credentials, and permissions from Google Ads.
These tools manage Merchant Center product feeds and reports. They do not create Shopping or Performance Max campaigns. Campaign creation and mutation in this starter support Search campaigns only.
Run an authenticated HTTP service
Set GOOGLE_ADS_MCP_HTTP=true. Configure GOOGLE_ADS_MCP_BEARER_IDENTITIES_JSON as a JSON object mapping caller names to SHA-256 digests of independently generated high-entropy bearer tokens. Keep the original tokens private in your MCP clients.
Configure GOOGLE_ADS_MCP_FIRESTORE_PROJECT, GOOGLE_ADS_MCP_FIRESTORE_DATABASE, and a unique GOOGLE_ADS_MCP_FIRESTORE_NAMESPACE. The runtime identity needs Firestore access. Set GOOGLE_ADS_MCP_LEDGER_BACKEND=firestore for durable shared approval state. Serve /mcp behind HTTPS. Never expose the unauthenticated stdio configuration as a public HTTP service.
The Dockerfile builds the server but does not provision cloud infrastructure or secrets. Deploy into your own project.
License and attribution
Licensed under Apache 2.0. The Google Ads read-tool foundation retains Google LLC copyright notices. Scale Lean maintains the controlled campaign and Merchant extensions. See LICENSE and NOTICE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted Google Ads MCP with OAuth, bounded reads, and prepare/confirm writes.
Connect authorized ad accounts to AI assistants for audits, reporting, and approval-gated changes.
Google Ads MCP: reports, search terms, negatives, budgets, campaigns. Approval on every write.
Hosted Meta ads MCP with OAuth, bounded reads, and prepare/confirm writes.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables managing Google Ads campaigns through an AI assistant with read-only reporting, recommendations, and gated write operations for bids, budgets, and statuses, all backed by preview and audit logging.311MIT
- AlicenseNot gradedqualityCmaintenanceEnables reading and modifying Google Ads accounts, including campaign management, ad status changes, budget updates, and more.MIT
- AlicenseNot gradedqualityCmaintenanceEnables reading and writing the Google Ads API for full campaign management, with a dry-run/confirm safety flow on every write.MIT
- FlicenseNot gradedqualityCmaintenanceEnables management of Google Ads accounts via MCP, providing read and write tools for campaigns, ad groups, keywords, assets, and more, with support for reporting and mutations.-