Google Ads MCP Server: How AI Assistants Can Now Talk Directly to Your Campaigns
Google Ads MCP Server: How AI Assistants Can Now Talk Directly to Your Campaigns
I've been working with Google Ads APIs for years, and I remember the days when pulling campaign data meant writing custom scripts, managing authentication tokens, and wrestling with complex API documentation. Those barriers kept many marketing teams from accessing their own data programmatically.
That's why Google's recent release of their MCP server for Google Ads feels significant. This isn't just another API wrapper—it's part of a fundamental shift in how AI assistants can interact with advertising platforms. For marketing teams already adopting AI-first workflows, it removes another layer of friction between conversation and action.
What Is the Model Context Protocol?
Before diving into the Google Ads implementation, it's worth understanding what MCP actually is. Model Context Protocol is an open standard that enables developers to build secure, two-way connections between their data sources and AI-powered tools. Think of it as a universal adapter for AI applications.
MCP provides a standardised way for AI applications like Claude or ChatGPT to connect to data sources, tools, and workflows, eliminating the need for custom integrations for each platform. It's similar to how USB-C standardised device connections—one protocol, multiple applications.
The protocol was launched by Anthropic in November 2024, but it's already gained significant traction. Major AI providers, including OpenAI and Google DeepMind, have adopted it, along with development tools like Replit, Codeium, and Sourcegraph.
Google's MCP Server for Ads
Google released an open-source implementation of the Model Context Protocol specifically for the Google Ads API, making it possible for MCP-compatible AI applications to understand and analyse advertising campaigns through natural language.
Here's what makes this particularly interesting: you can now ask an AI assistant questions like "How many active campaigns do I have?" or "Show me metrics for campaign X" and receive data directly from your Google Ads account. No manual exports, no custom scripts—just natural language queries.
Current Capabilities and Limitations
The initial release is read-only, meaning it can be used for reporting and diagnostics but won't make changes to your account. This is actually a sensible starting point—nobody wants an AI accidentally pausing their best-performing campaigns.
The server currently includes two primary tools:
Tool | Function |
|---|---|
| Returns a list of Google Ads customer IDs that the authenticated user can directly access |
| Executes a GAQL (Google Ads Query Language) query and returns results as a list of dictionaries |
Understanding GAQL
If you're not familiar with GAQL, it's worth understanding as it underpins the MCP server's query capabilities. Google Ads Query Language allows querying the Google Ads API for resources, their attributes, segments, metrics, and metadata.
The syntax is SQL-like but tailored for Google Ads data. Here's a basic example:
This query would retrieve all paused campaigns that have generated more than 1,000 impressions, along with their IDs, names, and impression counts.
Why This Matters for Marketing Teams
The real value here isn't just technical elegance—it's practical utility. Marketing teams spend hours each week manually pulling reports from Google Ads, combining data in spreadsheets, and creating presentations for stakeholders.
With the MCP server, these workflows can shift from manual to conversational. Instead of logging into Google Ads, navigating to reports, applying filters, and exporting CSVs, you can simply ask your AI assistant for the information you need.
We recently worked with a B2B SaaS client whose marketing director spent roughly 3 hours every Monday morning preparing weekly performance reports. The process involved pulling data from Google Ads, GA4, and HubSpot, then combining it all in a spreadsheet. Whilst this specific Google Ads MCP implementation wouldn't solve their entire workflow, it represents the type of shift that could turn that 3-hour task into a 15-minute conversation.
This is particularly powerful for:
Quick campaign diagnostics: "Which campaigns had unusually high cost-per-click yesterday?"
Performance summaries: "Give me a breakdown of our best-performing ad groups this month"
Cross-account analysis: For agencies managing multiple clients, natural language queries across different accounts
Ad-hoc reporting: Answering stakeholder questions without building custom reports
Technical Setup Process
Setting up the Google Ads MCP server requires several steps, but the documentation is comprehensive. You'll need Python 3.12 with either pipx or uv for dependency management.
The key requirements include:
A Google Ads developer token (identifies your application to the Google Ads API)
OAuth credentials (for authenticating API requests)
A google-ads.yaml configuration file (containing your API credentials)
Gemini CLI or Claude Desktop (as your MCP client application)
The most time-consuming part isn't the technical configuration—it's actually obtaining the developer token, which requires applying through Google and explaining your use case. Once approved, the actual setup takes less than 30 minutes.
Authentication Options
Google provides two authentication methods for the MCP server. Application Default Credentials uses OAuth credentials stored locally on your machine, simpler for individual users and requiring environment variables in your MCP client settings. The Python client library method uses the existing Google Ads Python library configuration, which many developers already have set up.
Both methods require your Google Cloud project ID and developer token as environment variables when configuring your MCP client.
Practical Use Cases
The read-only nature of the initial release actually opens up some interesting diagnostic use cases without the risk of accidentally modifying campaigns.
Campaign Performance Analysis
Rather than manually checking the Google Ads interface, you can ask questions like "Which campaigns are underperforming against their targets?" or "Show me search terms that generated conversions this week" or "What's our average cost per acquisition across all campaigns?"
Budget Monitoring
For agencies managing multiple clients or businesses with complex account structures, you might ask "List all campaigns approaching their monthly budget limits" or "Which accounts have spent more than £10,000 this month?" or "Show me daily spend trends for the past two weeks".
Quality Score Analysis
Quality Score impacts ad performance and costs, but checking it typically requires navigating through multiple screens. Now you can simply ask "Which keywords have quality scores below 5?" or "Show me ad groups where quality score has dropped this month".
How the Architecture Works
The architecture follows a client-server model that's straightforward but powerful. Developers can either expose their data through MCP servers or build AI applications (MCP clients) that connect to these servers.
In the Google Ads implementation, your AI assistant (like Claude Desktop) acts as the MCP client, the Google Ads MCP server connects to the Google Ads API, and when you make a request in natural language, the AI determines if it needs Google Ads data. The client sends a standardised MCP request to the server, which translates this into a GAQL query. Results are returned through the MCP protocol, and the AI assistant incorporates this data into its response.
This architecture means the same setup can work with any MCP-compatible AI application, not just one specific tool.
Comparing MCP to Traditional API Access
Traditional API integrations require maintaining separate connectors for each data source. As the ecosystem matures, AI systems will maintain context as they move between different tools and datasets, replacing fragmented integrations with a more sustainable architecture.
Here's how the approaches compare:
Aspect | Traditional API | MCP Server |
|---|---|---|
Setup complexity | Custom code for each integration | Standardised configuration |
Query method | Direct API calls with specific syntax | Natural language queries |
Authentication | Manual token management | Configured once in MCP client |
Cross-platform use | Separate setup for each tool | Works with any MCP client |
Learning curve | Requires API documentation knowledge | Conversational interface |
Security Considerations
In April 2025, security researchers released analysis showing multiple outstanding security issues with MCP, including prompt injection, tool permissions where combining tools can exfiltrate files, and lookalike tools that can silently replace trusted ones.
These concerns are worth considering, particularly for agencies with access to multiple client accounts. The read-only nature of the current release mitigates some risks, but teams should still be cautious about which AI applications have access to your MCP server, how authentication credentials are stored and protected, whether sensitive client data could be exposed through natural language queries, and the potential for prompt injection attacks.
What's Next for Google Ads MCP
According to Search Engine Land, future iterations could expand beyond read-only functionality, potentially enabling AI-driven optimisation or campaign management directly through MCP integrations.
Imagine being able to say "Increase budget on campaign X by 20%" or "Pause all keywords with quality score below 4"—all through natural language, with the AI understanding context and executing changes safely.
The current implementation is clearly a foundation. Google has signalled that this solution is experimental and unsupported, which suggests they're testing the waters before committing to full production support.
Getting Started Checklist
If you're ready to experiment with the Google Ads MCP server, here's a focused checklist:
Apply for a Google Ads developer token through your Google Ads account (this can take several days for approval)
Set up OAuth credentials in Google Cloud Console with the appropriate scopes
Install Python 3.12 and choose your dependency manager (pipx or uv)
Configure your google-ads.yaml file with credentials or set up Application Default Credentials
Install an MCP-compatible client such as Claude Desktop or Gemini CLI
Update your MCP client configuration to include the Google Ads server with proper environment variables
Test the connection by asking for accessible accounts
Should Your Team Adopt MCP?
The honest answer is: it depends on your technical comfort level and use cases.
If your team frequently needs ad-hoc reporting from Google Ads, is comfortable with basic technical setup, and wants to experiment with AI-assisted workflows, the MCP server is worth exploring. The read-only nature makes it relatively low-risk to test.
However, if you're expecting a plug-and-play solution without any configuration, or if your team isn't already working with AI assistants like Claude or ChatGPT, the setup overhead might not justify the benefits yet.
For agencies, the potential is particularly interesting. Being able to query multiple client accounts through natural language, without switching between interfaces or running manual reports, could significantly reduce administrative overhead.
"Open technologies like the Model Context Protocol are the bridges that connect AI to real-world applications, ensuring innovation is accessible, transparent, and rooted in collaboration." — Dhanji R. Prasanna, Chief Technology Officer at Block
"The work on MCP has completely revolutionised the agentic AI landscape." — Jensen Huang, President and CEO of NVIDIA
The Google Ads MCP server represents a meaningful shift in how we can interact with advertising platforms. Whilst the current read-only implementation is limited, it demonstrates a future where marketing teams can access their data through conversation rather than navigation. As the protocol matures and more platforms adopt it, this standardised approach to AI-data integration could become as fundamental as APIs are today.
For now, it's an experiment worth watching—and for technical marketing teams, worth trying.
Article written by
Stuart Brameld
Category:
Integrations

