
This profile is part of our MCP server directory, within The MCP Guide. Profiles are checked against each vendor's own documentation. Need a server built? See MCP development.
The Google Ads MCP server lets an AI app query your Google Ads accounts in plain English. It can pull campaign metrics, budgets and status, but it cannot change anything. Google publishes it as open-source Python code in its googleads GitHub organization.
Checked against: Google Ads MCP server documentation on 28 October 2026. eSEOspace did not install or test this server.
This profile covers the tools, setup options and security points from Google's docs and README.
Key Takeaways
- Google's docs say: "This implementation is strictly read-only. It cannot modify bids, pause campaigns, or create new assets."
- It exposes three tools:
search,get_resource_metadataandlist_accessible_customers. - You can run it locally with
pipxor host it yourself on Google Cloud Run with OAuth. - Google's docs say developer tokens "were sunset on September 9, 2026" and are no longer required in the latest version.
- Google mentions an allowlisted pilot for a Google-hosted endpoint, with no public sign-up on the page.
At a glance
| Item | Detail |
|---|---|
| Publisher | Google (googleads GitHub organization) |
| Official? | Yes |
| Hosting | Local package; self-hosted on Cloud Run; Google-hosted endpoint in an allowlisted pilot |
| Transport | stdio locally; Streamable HTTP when the OAuth proxy is on |
| Sign-in | OAuth 2.0 or service account (Application Default Credentials locally) |
| Read or write | Read only |
| Price | No separate MCP price listed |
| Source code | github.com/googleads/google-ads-mcp (Apache 2.0) |
| Status | Google labels the read-only mode "current release" |
What it can do
Google's docs and the GitHub README list three tools:
search: runs Google Ads Query Language (GAQL) queries for metrics, budgets and status.get_resource_metadata: describes a resource type, such as "campaign," and which fields you can query.list_accessible_customers: returns the customer accounts the signed-in user can reach.
The README also lists four resources the AI can read for context: discovery-document, metrics, segments and release-notes. These help the model write valid queries.
A tools_config.yaml file lets you turn individual tools or tool groups on and off and rename their prefixes. When the OAuth proxy is used, the README says clients see namespaced names such as customers_list_accessible_customers, metadata_get_resource_metadata and search_search.
How to connect it
Local setup. Enable the Google Ads API in a Google Cloud project, then set up Application Default Credentials with the https://www.googleapis.com/auth/adwords scope. Add the server to your client's mcpServers block. Google's docs list these variables:
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID"
}
}
}
}
If you reach client accounts through a manager account, add GOOGLE_ADS_LOGIN_CUSTOMER_ID. The README says the same block works in Claude Code, Cursor and VS Code.
A note on developer tokens: Google's docs page says they are no longer required. The README, last checked the same day, still shows an optional GOOGLE_ADS_DEVELOPER_TOKEN step. Follow the docs page and check the README's latest version before you set up.
Shared server. The README describes an OAuth proxy mode. Set GOOGLE_ADS_MCP_OAUTH_CLIENT_ID and GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET, and the server switches to Streamable HTTP at an endpoint such as http://localhost:8080/mcp. For Codex, the README shows:
codex mcp add google_ads --url http://localhost:8080/mcp
codex mcp login google_ads
Google's docs also cover deploying to Cloud Run, where OAuth is required on every request.
Security notes
- Read-only by design. The AI cannot pause campaigns, change bids or create ads. That removes the biggest risk with ad accounts.
- Your data goes to the model. The README warns: "The MCP Server will expose your data to the Agent or LLM that you connect to it."
- Keep secrets out of client config. The README prefers the server-managed HTTP setup because client configs "may be copied, synchronized, or inspected by other tools." See MCP secret leakage.
- Usage header. The README notes an extra header on API calls that Google uses to improve the product.
- Scope to the right accounts. The server sees every account the signed-in user can access. Use a login with only the accounts you need.
Read our MCP security hub and the guide to MCP token passthrough before you share one server across a team.
Alternatives
- Meta Ads MCP server: Meta's hosted server, which can also create and edit ads.
- Google Analytics MCP server: GA4 reporting from Google.
- Semrush MCP server: competitor and keyword data from Semrush.
Next step
Paid search reporting is one of the safest first uses of MCP because this server cannot change anything. See MCP for marketing teams for workflows, or ask us about MCP marketing and setup help.
Frequently asked questions
Can the Google Ads MCP server change my campaigns?
No. Google's docs say it is "strictly read-only" and "cannot modify bids, pause campaigns, or create new assets." It only reads data through the Google Ads API.
Do I still need a developer token?
Google's docs page says developer tokens were sunset on 9 September 2026 and are not required in the latest version. The GitHub README still shows an optional token step, so check the newest README when you set up.
Can Google host the server for me?
Google's docs mention a hosted endpoint in an allowlisted pilot. The page gives no public sign-up. Otherwise you run it locally or deploy it to your own Cloud Run service.
Does it work with manager (MCC) accounts?
Yes. The README says you can pass a manager account ID per call with login_customer_id or set GOOGLE_ADS_LOGIN_CUSTOMER_ID as a default.











