Google Ads MCP
OfficialProvides tools for listing Google Ads accounts and running GAQL queries to retrieve Google Ads data.
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 MCPlist my Google Ads accounts"
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.
This is not an officially supported Google product.
Google Ads MCP
This is the Google Ads Model Context Protocol (MCP) server designed to provide a standardized way to integrate an LLM with Google Ads.
Tools
Tool | Parameters | Description |
| Lists all available Google Ads accounts | |
|
| Runs a Google Ads query |
To learn more about GAQL, try out the Google Ads Query Builder and ensure you have a valid query.
Related MCP server: @vibeads/mcp
Setup
Google Ads
Use
this documentation
to set up a service account for the Google Ads API client library. This will
require you to also set up a Google Cloud project and enable the Google Ads API.
Create a google-ads.yaml file as defined
here.
Here's an example:
# google-ads.yaml
developer_token: INSERT_DEVELOPER_TOKEN_HERE
login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
json_key_file_path: JSON_KEY_FILE_PATH_HERE
use_proto_plus: trueServer
Run the Google Ads MCP server locally:
uv run serverGemini CLI
Install the Gemini CLI by following the instructions here.
Add the Google Ads MCP server to your ~/.gemini/settings.json file. Here's an
example:
{
"mcpServers": {
"googleAds": {
"command": "uv",
"args": [
"--directory path/to/google_ads_mcp",
"run",
"server"
]
}
}
}Learn more about MCP servers and Gemini CLI.
Contributing
Want to contribute? Learn more
Available Tools
2 toolslist_accountsD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_streamD
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | ||
| query | Yes | ||
| login_customer_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.0.0- First observed
list_accounts - First observed
search_stream
TDQS
Scored across 2 tools
Tool names suggest distinct functions (listing accounts vs. streaming search results), but lack of descriptions introduces slight ambiguity.
Both tools follow a consistent verb_noun pattern in snake_case (list_accounts, search_stream).
Only 2 tools for a large platform like Google Ads is far too few, leaving most functionality uncovered.
The tool surface is severely incomplete, missing core operations like campaign management, budget control, or report generation.
Maintenance
Related MCP Connectors
Run Google Ads and Meta Ads from ChatGPT or Claude: audit wasted spend, create and manage campaigns.
Build, edit and sync Google, Microsoft, Reddit and Meta ad campaigns from your assistant.
Run Google, Meta, Microsoft, TikTok and LinkedIn Ads from Claude or ChatGPT. Writes need approval.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables LLMs to interact with the Google Ads API to retrieve account information, list accessible customers, and query campaign performance. It allows users to manage and analyze Google Ads data through natural language interfaces.Apache 2.0
- AlicenseAqualityBmaintenanceEnables interaction with Google Ads accounts through the Model Context Protocol, specifically tuned for local service businesses. Provides account health scoring, search term waste analysis, and diagnostic insights without requiring GAQL knowledge.11115MIT
- AlicenseNot gradedqualityAmaintenanceEnables LLMs to query Google Ads accounts, search for information, and list accessible customers.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents and LLMs to interact with Google Ads accounts, allowing search, retrieval of resource metadata, and listing accessible customers via the Google Ads API.Apache 2.0