It All Started With An Idea
Our product · AI agent for Google Ads

Buddy: a conversational Google Ads agent for web, iOS and Android

Buddy is a chat-based agent that reads a Google Ads account, stages changes, asks you to confirm them, makes them through the Google Ads API and checks the result. It runs on the web at ahmeego.com and as a native app on the App Store and Google Play.

Buddy by Ahmeego on desktop
Buddy by Ahmeego on a phone
Product
Buddy by Ahmeego
Platforms
Web, iOS, Android
Built
Feb 2026
Stack
Google Ads API v23, Cloudflare Workers and Durable Objects, Expo / React Native
Open source
google-ads-api-agent and googleadsagent-mcp (MIT); the production app is proprietary

The idea

A language model can tell you what to change in an ad account, but it can't make the change. Someone still has to log in, find the setting and do it by hand.

Small accounts lose budget to fixable problems: search terms that drift, winning campaigns held back by budget caps, and stale ads. Keeping up with that means paying an agency or spending hours in the Google Ads interface.

The work

How we built it, step by step

  1. Built the open-source agentWe wrote google-ads-api-agent, an MIT-licensed Python agent with 28 tools in the open-source agent and 6 sub-agents that read and write through Google Ads API v23. It runs as a CLI, a FastAPI server, in Docker or as a Python SDK.
  2. Made writes safe by defaultEvery change follows the same path: stage it, ask for CONFIRM, execute it, then read it back to verify. Nothing is written to the account without that confirmation.
  3. Shipped the production web appThe app at ahmeego.com runs on Cloudflare with per-user state in Durable Objects and SQLite, semantic memory in Vectorize, encrypted bring-your-own-key storage and scheduled monitoring. It routes between Claude, GPT and Gemini and bills with Stripe credits.
  4. Released native iOS and Android appsWe built Buddy by Ahmeego in Expo and React Native and published it on the App Store and Google Play. It has streaming chat, camera-based creative validation and syncs account, credits and history with the web app.
  5. Published an MCP server on PyPIgoogleadsagent-mcp (MIT) is an MCP server and agent SDK with read, audit, write and doc tools over stdio or HTTP SSE. Write tools run as a dry run unless the caller passes confirm=True.
  6. Packaged a Claude Code pluginThe plugin adds slash commands such as /audit and /optimize, a hook that checks GAQL before it runs, an audit log and an anomaly monitor that polls every 15 minutes. It is proprietary and installs from a self-hosted marketplace while community marketplace approval is pending.
  7. Added a hosted audit engineThe 250-Point Audit Engine on ahmeego.com reviews 10 areas of an account, from campaigns and keywords to search terms, negatives, impression share, conversions and products.
  8. Started a daily YouTube lessons channelEach video teaches one Google Ads problem with steps and an example, then links to the matching ahmeego.com post and Buddy. The voiceover is AI-generated, and every upload is held as private for human review before it publishes.

What it does

  • Plain-English chat for campaign builds, RSA copy, bids, budgets and negatives
  • Audits, keyword research and 30/60/90 day roadmaps
  • Stage, confirm, execute and read-back verification on every write
  • Memory of goals, preferences and account history across sessions and devices
  • Native iOS and Android apps with 25 free credits on signup
  • Camera-based creative validation in the mobile app
  • MCP server so other agents and IDEs can call Buddy's tools

How people find it

  • App Store and Google Play listings for Buddy by Ahmeego
  • googleadsagent-mcp package on PyPI
  • google-ads-api-agent on GitHub, README in 7 languages
  • MCP over stdio and HTTP SSE for Cursor, Claude and other clients
  • buddy.md product brief at ahmeego.com for AI assistants
  • Daily YouTube lessons that link back to ahmeego.com posts
Questions

Questions people ask about this work

Can an AI agent make changes in my Google Ads account?

Yes, if it holds an OAuth connection to the Google Ads API. Buddy stages each change, asks you to confirm, makes it through the API and reads it back to check it worked. Without your confirmation nothing is written.

Is there an MCP server for Google Ads?

Yes. Our googleadsagent-mcp package is on PyPI under the MIT license and works over stdio or HTTP SSE. Its write tools run as a dry run until the caller passes confirm=True.

Is Buddy open source?

Partly. The Python agent google-ads-api-agent and the googleadsagent-mcp server are open source under MIT. The production web app and the iOS and Android apps are proprietary.

Services in this project