Run Your Google and Meta Ads from OpenClaw
Connect OpenClaw to Google Ads, Meta, TikTok and LinkedIn with MCP Ads, then find wasted spend and check every ad account from Telegram or Slack.
If you run ads for more than one business, the slow part is rarely deciding what to change. It is opening six tabs to find out what happened. OpenClaw already lives where you talk, in Telegram, WhatsApp, Slack or Discord, and runs on your own machine or server around the clock. Connect it to MCP Ads and the same chat can read Google Ads, Meta, TikTok, LinkedIn, Microsoft Ads, GA4 and Search Console, tell you where the money went, and prepare changes that wait for your yes.
- OpenClaw adds MCP Ads as a remote Streamable HTTP server at https://mcp-ads.com/mcp-slim, saved under mcp.servers in its config.
- On a gateway that runs on a server, an MCP Ads API key in an Authorization header is the simplest setup; OAuth with openclaw mcp login is the alternative.
- One connection covers every ad account your logins can reach, including Google Ads manager (MCC) clients and several Meta ad accounts.
- New campaigns are created paused, and MCP Ads tells the agent to state every write and get your confirmation before running it.
Why OpenClaw is a good fit for ad accounts
Most AI chats wait for you to open them. OpenClaw is a gateway that runs on your own hardware or a server and connects the agent to the chat apps you already use: Telegram, WhatsApp, Slack, Discord, Signal, iMessage, Microsoft Teams and more. It can also run work on a schedule with cron jobs. That combination is what ad accounts need. The questions are small and frequent ("did anything overspend today?"), the answers matter most when you are away from a laptop, and the useful checks are the ones that happen every morning whether or not you remember them.
MCP Ads is the part that reaches the ad platforms. It is a hosted MCP server (and an open-source one, MIT licensed) that connects Google Ads, Meta Ads, TikTok, LinkedIn, Microsoft Ads, GA4, Search Console, Tag Manager, Merchant Center and WordPress. OpenClaw talks to it like any other remote MCP server.
Connect OpenClaw in 2 minutes
Before you start, create an MCP Ads account and connect the ad accounts you want OpenClaw to see. It only ever sees what you connected there. Then create an API key: in the MCP Ads dashboard, open Manage → Connect MCP → API keys, name it "OpenClaw" and copy it. It is shown once. A key is the simplest choice for a gateway that runs on a server, because there is no browser sign-in to complete on that machine.
Add the server to OpenClaw. The entry below goes under mcp.servers in your OpenClaw config; you can also add it in the Control UI under Settings → MCP → Add server, choosing Streamable HTTP. Then check it with openclaw mcp doctor mcp-ads --probe, which connects and lists the tools the server offers. The full setup, with OAuth and troubleshooting, is in the OpenClaw setup guide.
{
mcp: {
servers: {
"mcp-ads": {
url: "https://mcp-ads.com/mcp-slim",
transport: "streamable-http",
headers: {
Authorization: "Bearer mcp_live_...",
},
},
},
},
}Manage all your ad platforms in one place with MCP Ads
Google Ads
Meta Ads
GA4
Search Console
Tag Manager
Merchant Center
TikTok Ads
LinkedIn Ads
Microsoft Ads
Snapchat Ads
X Ads
ChatGPT Ads
WordPress
Instagram
Threads
Bing Webmaster
- + more
Prefer a browser sign-in? Use OAuth
MCP Ads also supports OAuth, so you can skip the key. Save the server with auth set to oauth, then run openclaw mcp login. OpenClaw prints an authorization URL; approve it in the browser with the login that owns your MCP Ads account, and the token exchange finishes on its own. If the gateway runs on a server and your browser is on your laptop, the redirect cannot reach the server. OpenClaw handles that case: copy the code from the redirect and pass it with --code. Note that while auth is oauth, OpenClaw ignores a static Authorization header on that server, so use one method or the other.
openclaw mcp set mcp-ads '{"url":"https://mcp-ads.com/mcp-slim","transport":"streamable-http","auth":"oauth"}'
openclaw mcp login mcp-ads
# browser on another machine:
openclaw mcp login mcp-ads --code <code-from-the-redirect>One minute of Claude reading a live Google Ads account through MCP Ads, asking before it changes anything.
Five things to ask first
Send these from whichever chat app OpenClaw is connected to. Start with the check below to confirm the connection: "List the ad accounts you can see through MCP Ads, then tell me which one spent the most last week." If it lists nothing, the server is connected but no ad account is yet; connect one in the MCP Ads dashboard and ask again.
1. "Which campaigns spent money with zero conversions in the last 30 days? All connected accounts, Google and Meta." OpenClaw pulls campaign performance from each account, keeps the ones with spend and no conversions, and returns one list sorted by spend with the account on every line. 2. "Pause them." It names each campaign it is about to pause, with the account and its spend, and asks you to confirm. Nothing is paused until you reply. Pausing is reversible: "resume the second one" puts it back.
3. "In Google Ads, list search terms with spend and no conversions in the last 30 days, grouped into negative keyword themes. Do not add anything yet." It reads the search terms report and groups queries into themes such as jobs, free, a competitor’s name or the wrong city, then proposes negatives for you to approve. 4. "Create a Google Ads search campaign for emergency plumber Leeds, $40 a day, three ad groups with two responsive search ads each. Keep it paused and show me what you built." It builds the campaign, ad groups, keywords and ads through the Google Ads API. New campaigns are created paused, so it spends nothing until you turn it on.
5. Put it on a schedule. This is where OpenClaw differs from a chat window: set a cron job with "Every weekday at 14:00, check budget pacing across all ad accounts and message me only if a campaign has used more than 90% of its daily budget." On quiet days you hear nothing.
If you manage more than one ad account
One MCP Ads connection covers every account your logins can reach: Google Ads manager (MCC) accounts and the client accounts under them, several Meta ad accounts, TikTok advertisers and LinkedIn ad accounts. A manager account holds no campaign data of its own, so OpenClaw reports on the client accounts beneath it. Name the client in the message ("for Acme Dental only…") when it matters. When more than one account fits, MCP Ads tells the agent to ask which one rather than guess.
The payoff is the cross-account question. "Across all clients, whose cost per conversion rose most this month, and what changed in that account?" is one message instead of a dozen logins. MCP Ads is a flat $49 a month, not priced per ad account or per client.
| Task | Without an agent | With OpenClaw and MCP Ads |
|---|---|---|
| Morning check on every client | Log in to each account and platform | One scheduled message, only when something moved |
| Find spend with no conversions | Filter campaigns in each account | One question across all accounts |
| Pause what is wasting money | Find and pause each campaign by hand | Confirm a named list in chat |
| Draft a new campaign | Build it in the platform UI | Describe it; review the paused build |
What it will not do without you
MCP Ads tells every agent that writes hit live accounts, and that anything that creates, updates, pauses, publishes or deletes real spend or public content must be stated plainly and confirmed before it runs. Write tools are also marked as writes, not read-only. New campaigns are created paused on Google Ads, Meta and TikTok, and LinkedIn campaigns start as drafts, so even an approved build spends nothing until it is enabled. In an MCP Ads workspace, viewer seats are read-only.
Because OpenClaw can act on a schedule, put the rule in its standing instructions as well: "Never change a budget, status, bid or keyword without my explicit yes in this chat." To cut access entirely, revoke the API key in the MCP Ads dashboard; the next call is refused.
Honest limits
Performance Max reports search categories without spend through the Google Ads API, so OpenClaw cannot build a PMax wasted-spend list the way it can for Search. Auction Insights competitor domains are only in the Google Ads interface. Answers are only as good as your conversion tracking. If conversions misfire, "zero conversions" may be a tracking fault, not a bad campaign; the conversion tracking guide is the place to start.
Model usage is billed by whichever model provider you run OpenClaw with, not by MCP Ads. MCP Ads has a 7-day free trial, then $49/month flat, and the server is open source under MIT. See pricing or the quickstart.
Frequently asked questions
Which URL do I add to OpenClaw?
https://mcp-ads.com/mcp-slim, as a Streamable HTTP server. It exposes one tool per platform that takes an action name, so the agent loads the details only when it needs them.
Do I need an API key?
Not necessarily. On a gateway running on a server, an MCP Ads API key in an Authorization header is the simplest setup. If you prefer, set auth to oauth and sign in with openclaw mcp login instead.
Can OpenClaw change my campaigns without asking?
MCP Ads tells the agent to state every write and get your confirmation before running it, and new campaigns are created paused. Add the same rule to OpenClaw’s standing instructions, especially for scheduled jobs.
Does it work across several ad accounts?
Yes. One connection covers every account your logins reach, including Google Ads MCC client accounts and several Meta ad accounts. Name the client in your message, or the agent will ask.
What does it cost?
MCP Ads has a 7-day free trial, then $49/month flat. OpenClaw is open source; the model you run it with is billed by that provider.
Ready to connect your marketing stack?
Connect Google Ads, Meta Ads, GA4, and Search Console. Ask Claude anything about your accounts.