Run Your Google and Meta Ads from Hermes Agent
Connect Hermes Agent to Google Ads, Meta, TikTok and LinkedIn with MCP Ads: find wasted spend, schedule account checks and launch paused campaigns.
Checking ad accounts is the same few questions every week: what spent, what converted, what changed. Hermes Agent, from Nous Research, is built for exactly that kind of repeated work. It runs on your own server, answers in Telegram, Slack or Discord, has a built-in scheduler, and turns what it does well into skills it reuses. Connect it to MCP Ads and those weekly questions cover Google Ads, Meta, TikTok, LinkedIn, Microsoft Ads, GA4 and Search Console, with every change waiting for your yes.
- Hermes adds MCP Ads as a remote server in ~/.hermes/config.yaml with the URL https://mcp-ads.com/mcp-slim and auth: oauth.
- Run hermes mcp login mcp_ads once to sign in in the browser; on a remote server, paste back the redirect URL or use an API key header instead.
- Hermes’ built-in cron makes the weekly ad check automatic, delivered to the chat app you use.
- New campaigns are created paused, and MCP Ads tells the agent to state every write and get your confirmation before running it.
Why Hermes Agent suits ad accounts
Hermes Agent is an open agent from Nous Research that runs where you put it: your laptop, a small VPS, or serverless infrastructure. One gateway connects it to more than 20 chat platforms, including Telegram, Discord, Slack, WhatsApp, Signal and Microsoft Teams, and it has a built-in cron that delivers results to any of them.
The part that matters most for ads is that Hermes creates skills from experience and improves them as it uses them. A weekly account review is a fixed procedure with the same steps every time, which is the kind of work that gets better when an agent remembers how you like it done. MCP Ads gives Hermes the ad platforms. It is a hosted MCP server, also open source under MIT, connecting Google Ads, Meta Ads, TikTok, LinkedIn, Microsoft Ads, GA4, Search Console, Tag Manager, Merchant Center and WordPress through one URL.
Connect Hermes Agent in 2 minutes
Before you start, create an MCP Ads account and connect the ad accounts you want Hermes to see. It only ever sees what you connected there. Add the server to ~/.hermes/config.yaml as below. Then, from a fresh terminal, run hermes mcp login mcp_ads. Hermes prints an authorization URL and opens the browser; sign in with the login that owns your MCP Ads account. In a running session, /reload-mcp picks up the new server; a running messaging gateway applies config changes within about a minute.
Check it with: "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. The full setup, with the API key option and troubleshooting, is in the Hermes Agent setup guide.
mcp_servers:
mcp_ads:
url: "https://mcp-ads.com/mcp-slim"
auth: oauthManage 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
Hermes on a VPS? Use a key, or paste back the redirect
The OAuth callback listens on a local port, so if Hermes runs on a server and your browser is on your laptop, the redirect cannot reach it. Hermes documents two easy ways round that: open the printed URL, approve, and paste the full redirect URL back at the prompt (the browser showing a connection error is expected), or forward the port over SSH.
The simpler route on a server is an API key. In the MCP Ads dashboard, open Manage → Connect MCP → API keys, name it "Hermes" and copy it; it is shown once. Use a header instead of auth: oauth. One key per agent means you can revoke one without breaking the others.
mcp_servers:
mcp_ads:
url: "https://mcp-ads.com/mcp-slim"
headers:
Authorization: "Bearer mcp_live_..."One minute of Claude reading a live Google Ads account through MCP Ads, asking before it changes anything.
Five things to ask first
1. "Which campaigns spent money with zero conversions in the last 30 days? All connected accounts, Google and Meta." Hermes 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, groups queries into themes such as jobs, free, a competitor’s name or the wrong city, and proposes negatives for you to approve. 4. "Create a Meta campaign for our spring sale with a $30 daily budget, using these three image URLs. Keep it paused and show me what you built." It builds the campaign, ad set and ads through the Meta API. New campaigns are created paused, so nothing spends until you turn it on.
5. Make it a habit. "Every Monday at 08:00, compare last week with the week before for every ad account and send me only the three biggest changes in spend, conversions or cost per conversion. Save how you did it as a skill." Hermes’ cron runs it and delivers to your chat app; the skill means the next run follows the same steps, and you can correct it once rather than every week.
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 Hermes 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 question worth automating is the cross-account one: "Across all clients, whose cost per conversion rose most this month, and what changed in that account?" 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 Hermes and MCP Ads |
|---|---|---|
| Monday review of every client | Log in to each account and platform | A scheduled message with only what 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.
Scheduled jobs run without you watching, so write the rule into the job itself: "Report only. Never change a budget, status, bid or keyword without my explicit yes in this chat." To cut access entirely, disconnect the platform in MCP Ads or revoke the API key.
Honest limits
Performance Max reports search categories without spend through the Google Ads API, so Hermes 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; start with the conversion tracking guide.
Model usage is billed by whichever model provider you run Hermes 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 Hermes Agent?
https://mcp-ads.com/mcp-slim, under mcp_servers in ~/.hermes/config.yaml. 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 on a machine with a browser: set auth: oauth and run hermes mcp login mcp_ads. On a remote server, either paste back the redirect URL when prompted or use an MCP Ads API key in an Authorization header.
Can Hermes 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. Write the same rule into any scheduled job.
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. Hermes Agent 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.