What is Google Ads MCP? Setup, read-only access and the developer token
You ask your assistant about your campaigns, budget or performance; Google Ads MCP reads the data in your Google Ads account with a GAQL query. It is the open-source MCP server in Google's developer toolkit (Apache-2.0, version 0.0.5); its documentation says the server is "strictly read-only": it can't change bids, pause campaigns or create new entities. It has three tools: listing accessible accounts, searching with GAQL and field information. Setup requires Python (pipx), a Google Cloud project, a Google Ads API access level and signing in with a Google account. According to the documentation, developer tokens were removed on September 9, 2026 and are not needed in the latest version.
- What it does
- Lets your assistant read Google Ads campaign and performance data
- Type
- MCP server (local, open source)
- Maker
- Read-only
- Yes (strictly, according to the documentation)
- Version
- 0.0.5, early stage
- Setup
- Requires a Cloud project + Python
- Cost
- No fee for the server; the API fee is not stated in the documentation
What does Google Ads MCP do?
MCP is the standard that lets AI programs connect to outside tools. With Google Ads MCP, the assistant queries campaign, budget, status and metric data in your Google Ads account on your behalf. It turns a question like "Which campaign spent the most this week?" into a GAQL (Google Ads Query Language) query and runs it.
According to the documentation, strictly read-only: it can't change bids or pause campaigns.
The server has three tools: list_accessible_customers (the customer IDs you can access), search (a GAQL query) and get_resource_metadata (the queryable fields of a resource).
Who it helps: ad managers and agencies who want to ask an assistant instead of pulling Google Ads reports by hand. This tool is not suitable for making changes to the account.
How do you set up Google Ads MCP?
Requirements: Python 3.10+ and pipx, a Google Cloud project with the Google Ads API enabled, a Google Ads API access level for the project (Explorer, Basic or Standard) and a Google user with access to the Google Ads account. The commands are taken verbatim from Google's documentation and the README.
- Install pipx.
- Enable the Google Ads API in your Google Cloud project.
- Create Application Default Credentials (ADC) with the adwords scope; note the "Credentials saved to file" path in the output.
- Add the server to your MCP client's config file (example below) and restart the client.
› gcloud auth application-default login --scopes https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform --client-id-file=YOUR_CLIENT_JSON_FILE› {"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":"/path/to/credentials.json"}}}}If you access through a manager (MCC) account, you can add GOOGLE_ADS_LOGIN_CUSTOMER_ID to the environment variables or pass login_customer_id on each call. To pin the version, the README recommends the google-ads-mcp==X.Y.Z format.
!Developer token: Google's documentation says tokens were removed on September 9, 2026 and are no longer needed in the latest version; the access level is now tied to the Cloud project. The README example, however, still shows GOOGLE_ADS_DEVELOPER_TOKEN ("Optional"). The "token application required" wording on the atlas card is outdated.
The claude mcp add line on the atlas card does not appear on Google's pages; the official example is the mcpServers JSON. For chat apps (Claude, ChatGPT), the documentation describes deploying the server on your own Cloud Run and adding a custom connector.
How do you use Google Ads MCP?
After setup, you write your request normally; the assistant builds the GAQL query itself. First, ask which accounts you can access.
The daily operation limit depends on the access level: according to Google's access levels page, Explorer gets 2,880 operations/day on production accounts, Basic 15,000, Standard unlimited.
Which clients does Google Ads MCP work in?
| AntigravityYes | A separate section in the README: local or Streamable HTTP. |
|---|---|
| CodexPartly | The README only gives a command for HTTP deployment; it first needs a separate process with an OAuth proxy. |
| Gemini CLIYes | The documentation has a settings.json example (Cloud Run address). |
| Claude Code, Cursor, VS CodePartly | The README says the mcpServers block is the same; compare file paths with your own client's documentation. |
| Claude / ChatGPT chat appsPartly | Only as a custom connector with your own Cloud Run deployment. |
What does Google Ads MCP access, and does it change the account?
Campaign, budget, status and performance data (everything accessible with GAQL); accessible customer IDs and names; resource fields.
According to the documentation, nothing: it can't change bids, pause campaigns or create new entities.
There is no delete tool.
README: the server exposes your data to the assistant and model you connect. Query results (campaign names, spend) go to the AI service you use. An additional usage header is added to API calls to improve the product.
!Read-only access comes from the tools the server offers, not from Google's OAuth scope: the scope is full adwords. Another program using the same credentials could write. In addition, one of the maintainers wrote in June 2026 that they plan to add write access (issue #84); future versions may change, so pin the version.
Whether any advisories are registered on GitHub Security Advisories or OSV is not covered here; check them separately. That does not mean "safe".
Is Google Ads MCP free?
The server itself is open source and free. The documentation doesn't clarify the usage fee for the Google Ads API: check your Google Cloud billing page and the Google Ads API Center. The assistant you use has its own separate cost. There are user reports that Explorer access applications are automatically rejected for new Cloud projects (issue #133, October 9-13, 2026); no official fix has been published.
This is not financial or legal advice. No local-currency price is published.
Common problems and fixes
| What happens | What to do |
|---|---|
| "The Google Cloud project is only approved for use with test accounts" | Apply for Explorer access from the Google Ads API page of your Cloud project (README). |
| The Explorer application is rejected within seconds | Reported by users Reported by three users (issue #133); no official fix. |
| Reported by users In an organization with Workspace session control enabled, "Reauthentication is needed" (503) about every 16 hours | Sign in again from the browser; no permanent route for unattended use is documented (issue #100, open). |
| On Windows, list_accessible_customers waits forever | A fix is in the source (issue #76 closed); use the current version. |
How do you remove Google Ads MCP?
- In the client: Delete the google-ads-mcp entry from the MCP config file.
- Credentials: Delete the ADC file or run gcloud auth application-default revoke (the general gcloud method).
The official pages don't separately describe a disconnection step; the above is the general method.
Frequently asked questions
Can Google Ads MCP make changes to my account?
No. Google's documentation says the server is strictly read-only and can't change bids, pause campaigns or create new entities. However, the OAuth scope is the full adwords scope; read-only access comes from the server's tool set.
Do I need a developer token?
According to Google's documentation, developer tokens were removed on September 9, 2026 and are not needed in the latest version; the README examples still show the token variable as optional. The access level is now tied to the Cloud project.
How many queries can I run per day?
It depends on the access level: Explorer gets 2,880 operations per day on production accounts, Basic 15,000, Standard unlimited. A day is a rolling 24-hour window.
Does my data go to the AI company?
Even though the server runs locally, tool results enter the context of the assistant you connect; the README says this explicitly. Which provider it goes to depends on the assistant you use.
Is it official, and can I trust it?
The documentation is on Google's developers.google.com site, the repository is in the googleads organization and the files are copyright Google LLC. The version is 0.0.x, meaning early stage; the documentation lists the repo under community resources. No "not an official Google product" type disclaimer appears.
Related guides
Sources
Not clear in the official sources: Google Ads API fee · whether the remote endpoint hosted by Google is open for general use (the documentation says "allowlisted pilot") · security advisory status · an official record of the disconnection step · Turkish support and local-currency pricing. Each is covered in the relevant section.


