Google Ads MCP serverand Python AI tasks
qbash hosts a Google Ads MCP server you can use in Claude, ChatGPT, Codex, Cursor, Grok Bot and Muse.
Developers use qbash Tasks to write cloud-hosted Python functions that pair Google Ads with models such as Claude and GPT.
MCP server
Build a Google Ads MCP server
Give ChatGPT, Claude and your other AI tools access to Google Ads through one server. You pick which Google Ads tools it shares, and you can add other connectors, memory folders and Tasks to the same server.
How to set it up
- Connect Google Ads on the qbash Connectors page.
- Create an MCP server and add the Google Ads tools you want to share.
- Paste the server URL into your client. It connects with OAuth or an access token.
Python AI task
Write a Google Ads task in Python
A qbash Task is a hosted Python function that calls Google Ads and AI models.
Find search terms that spend without converting
Pull 30 days of the search terms report, then ask an inline prompt to sort the non-converting terms into negative keyword candidates.
query = (
"SELECT search_term_view.search_term, campaign.name, metrics.clicks, "
"metrics.cost_micros, metrics.conversions FROM search_term_view "
"WHERE segments.date DURING LAST_30_DAYS AND metrics.cost_micros > 0 "
"AND metrics.conversions = 0 ORDER BY metrics.cost_micros DESC LIMIT 200"
)
report = qbash.integrations.google_ads.search(
customer_id="1234567890",
query=query,
max_rows=200,
)
rows = report.get("rows", [])
if rows:
review = qbash.ai.run_prompt(
slug="google-ads-negatives",
variables={"search_terms": json.dumps(rows)},
)
qbash.output({"review": review, "more_available": bool(report.get("next_page_token"))})
else:
qbash.output("No search terms spent money without converting in the last 30 days.")
Sample search response
{
"status": "success",
"rows": [
{
"search_term_view.search_term": "free crm spreadsheet template",
"campaign.name": "Search - CRM",
"metrics.clicks": 14,
"metrics.cost_micros": 38420000,
"metrics.conversions": 0
}
],
"row_count": 1,
"truncated": false,
"field_mask": [
"search_term_view.search_term",
"campaign.name",
"metrics.clicks",
"metrics.cost_micros",
"metrics.conversions"
],
"total_results_count": null,
"summary_row": null,
"next_page_token": null
}
What the Google Ads connector can do
- List the accounts and manager hierarchies you can access
- Run any Google Ads Query Language report
- Get keyword ideas, search volume and bid estimates
- Add negative keywords and change bids, budgets and ads
- Create a paused Search campaign with ad groups, keywords and ads
- Upload offline click conversions
qbash Tasks: AI applications in Python
A Task is a Python function that calls Google Ads, your other connectors and models such as Claude, GPT, Gemini and Grok. qbash hosts and runs it.
Run Tasks on a schedule or from your team's tools
- Deterministic where it counts Write the logic in Python and call a model only for the steps that need judgement, so the rest runs the same way every time.
- Version controlled Every save is a revision you can compare and roll back.
- Logged Each run records its inputs, output, errors and what started it.
- Shared credentials Connections belong to your organization, so a Task keeps working when its author is away.
Google Ads MCP questions
Does Google have an official Google Ads MCP server?
Yes. Google publishes an open-source, read-only Google Ads MCP server in its API developer toolkit. You install it and run it on your own machine, and it lists accounts, runs GAQL queries and reads field metadata. The qbash server is hosted at one URL and adds keyword planning and write tools.
Can the Google Ads MCP server change my campaigns?
Yes, once you add the write tools to your qbash MCP server. Most of them accept read_only=True, which asks Google to validate the change without applying it. New Search campaigns start paused.
Do I need a Google Ads developer token?
No. qbash sends its own developer token with every request, and you sign in with a Google account that has access to your Google Ads accounts. For a client account under a manager, pass the login_customer_id that list_customers returns.
Related analytics connectors
Build a Google Ads task
Write it in Python with AI steps, and qbash hosts it with versions and run logs.
Build a Google Ads MCP server
Pick the Google Ads tools to share and connect ChatGPT, Claude or Grok Bot.