Skip to main content
All connectors
qbash Connectors / Google Ads

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

  1. Connect Google Ads on the qbash Connectors page.
  2. Create an MCP server and add the Google Ads tools you want to share.
  3. 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.

main.py
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
See all 25 Google Ads methods in the SDK Reference

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.

AnthropicOpenAIGeminixAI

Run Tasks on a schedule or from your team's tools

OpenAIAnthropicGrokGmailSlackGitHub+ more
  • 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.

Build a Google Ads task

Write it in Python with AI steps, and qbash hosts it with versions and run logs.

Build a task

Build a Google Ads MCP server

Pick the Google Ads tools to share and connect ChatGPT, Claude or Grok Bot.

Build an MCP server