Google Ads MCP: setup, tools and read-only limits
Set up Google's Ads MCP server for reporting, inspect its tools, and separate account analysis from campaign and budget mutations.
Sources reviewed October 23, 2026. Documentation review, not a live account test or product endorsement.
Google’s Ads MCP server bridges an AI client and the Google Ads API. For a first connection, the goal should be a small, reproducible report—not an automated budget change.
Read-only MCP is not the whole Google Ads API
Google’s current developer integration guide describes its release as read-only, with Python implementation, stdio or Streamable HTTP transport, and OAuth or service-account authentication. The wider Ads API’s ability to change campaigns does not imply this MCP server exposes that operation.
The repository tool documentation lists:
list_accessible_customers: discover customer accounts directly available to the authenticating user.search: retrieve account information through queries.get_resource_metadata: inspect a resource’s available structure and fields.
Names can be prefixed through namespace configuration. Inspect your client’s discovered tools rather than assuming these base names are always the full callable names. A missing mutation tool is not fixed by rephrasing your prompt.
Setup: use the instructions for your installed version
- Choose a trusted MCP host and install Python tooling required by the official project.
- Enable Google Ads API access for your Cloud project. Obtain credentials authorized for the intended advertiser account.
- Configure credentials privately and choose the customer to query. Manager-account access may also require a login customer ID.
- Add the server to the host, restart or reload its MCP connection, and inspect the discovered tools.
- Query a small date range and compare with the Google Ads UI before automating reports.
Version-sensitive authentication: Google’s current guide says the latest MCP version uses GOOGLE_PROJECT_ID and project-based API access rather than the retired developer-token requirement. The repository README still contains developer-token setup steps. Do not combine these into a new, untested recipe: match your installed revision to its documented authentication requirements, and resolve discrepancies with the maintainer. Older third-party CLIs may have different requirements.
The following configuration follows the current Google guide. Replace the placeholders locally; never commit credential files. Review and pin a trusted revision for repeatable use rather than treating a moving repository as a fixed release.
{ "mcpServers": { "google-ads-mcp": { "command": "pipx", "args": [ "run", "--spec", "git+https://github.com/googleads/google-ads-mcp.git", "google-ads-mcp" ], "env": { "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID", "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/credentials.json" } } }}The host determines the configuration file location. This example is documentation, not a command we have authenticated or run against your account.
First report and validation
Ask: “For this advertiser, show campaign IDs, names, impressions, clicks and cost for the last seven complete days. Include the GAQL, timezone, currency and filters. Do not make changes.”
A starting query to inspect before execution:
SELECT campaign.id, campaign.name, metrics.impressions, metrics.clicks, metrics.cost_microsFROM campaignWHERE segments.date DURING LAST_7_DAYSLIMIT 100Our review checklist: verify the customer ID, inspect truncation or row limits, divide cost micros by 1,000,000, and compare identical date filters in the UI. An empty result may mean the wrong customer, filters or no activity—not necessarily failed authentication.
What if you need writes?
Pausing campaigns, changing budgets and publishing ads are mutations. Do not claim Google’s read-only MCP can perform them. A separate write-capable API client or third-party tool requires its own permission and review boundary. Compare five actual CLI projects, including their limitations, or return to the multi-platform Ads MCP comparison.
For any write-capable path, our recommendation is to review the exact account, resource IDs, old/new values and rollback procedure. Validate without applying where supported; then obtain explicit approval. Do not infer write authorization from a successful report.
Troubleshooting without leaking secrets
- No tools: check host logs, executable path and transport compatibility.
- Permission errors: check the authenticated identity and account hierarchy before widening scopes.
- Query failures: inspect resource metadata and field compatibility; ask for the actual API error.
- Unexpected totals: align timezone, date window, currency and attribution assumptions.
Redact credentials and customer data before sharing logs. The official repository is the source for implementation issues; AICMOHQ’s own MCP workflow is a separate product.