Run your ads from Hermes
Connect Hermes on Starter, Growth, or Scale and manage campaigns across Meta, Google, TikTok, LinkedIn, Reddit, Apple, Bing, ChatGPT, and Snapchat. Review performance, pause underperformers, build new campaigns, and generate creatives in natural language. MCP and BYOA are the advanced path if you already run your own agent.
Four steps to connect Hermes
1. Get your API key
Subscribe to Starter, Growth, or Scale, then generate an API key under Settings → API. BYOA is the advanced MCP-only path if you already run your own agent.
3. Add the MCP server
Add the lazyads Streamable HTTP block to config.yaml with your API key.
4. Restart Hermes
LazyAds tools are now available in every conversation, across all 9 ad platforms.
Save SKILL.md from GitHub
The publishable skill lives on GitHub. A raw file is also available. Install path is ~/.hermes/skills/lazyads/SKILL.md. The skill teaches Hermes when to reach for Lazy Ads, the BYOA bridge hierarchy, and which tools spend AI credits, so it wastes fewer tool calls.
Download and install in one step
mkdir -p ~/.hermes/skills/lazyads
curl -fsSL https://raw.githubusercontent.com/camerondwills/lazyads-mcp/main/SKILL.md -o ~/.hermes/skills/lazyads/SKILL.mdAdd to your config.yaml
Prefer Streamable HTTP. Send Authorization: Bearer or X-API-Key on every request. Hermes resolves ${VAR} placeholders from ~/.hermes/.env, so the key never has to sit in config.yaml.
1. Store the key
# ~/.hermes/.env
LAZY_ADS_API_KEY=la_your_api_key2. Register the hosted server (https://mcp.lazyads.ai/mcp)
# ~/.hermes/config.yaml
mcp_servers:
lazyads:
url: "https://mcp.lazyads.ai/mcp"
headers:
Authorization: "Bearer ${LAZY_ADS_API_KEY}"
description: "LazyAds MCP. 9-platform ad management"Prefer the key inline, or the X-API-Key header?
mcp_servers:
lazyads:
url: "https://mcp.lazyads.ai/mcp"
headers:
X-API-Key: "la_your_api_key"What it looks like
Illustrative transcript. Numbers are examples, not a performance claim.
User: What ad platforms am I connected to?
Agent (via LazyAds MCP): You have 3 platforms connected:
• Meta Ads, 4 active campaigns, $347/day spend
• Google Ads, 2 active campaigns, $89/day spend
• TikTok Ads, 1 active campaign, $50/day spend
User: How did everything do this week?
Agent: Weekly summary:
Total spend: $3,406
Conversions: 127 | Avg CPA: $26.82
Best: "Summer Sale, Meta" (ROAS 4.1×, CPA $18)
⚠️ Concern: "Google Brand Search", CPA $74, target is $30
User: Pause the Google one. And build me a new Meta campaign
for my best-selling shoe using $50/day.
Agent: Paused "Google Brand Search" ✓
Building your campaign now...
✓ Analysed competitor ads
✓ Generated strategy: OUTCOME_SALES, 3 ad sets, $50/day CBO
✓ Built targeting from your Meta custom audiences
✓ Wrote ad copy (3 variations per ad set)
✓ Scored creatives: 8.2/10 predicted performance
Campaign "Nike Air Max, Meta" is ready for review.Prompts that work on day one
- “Which ad platforms am I connected to, and can each account spend right now?”
- “Sync performance for every linked campaign, then summarise spend and ROAS by platform this week.”
- “Pause any ad set with CPA over 2× my target for the last 3 days and tell me what you paused.”
- “Import my live Google Ads campaigns into Lazy Ads with tracking on.”
- “Build a Meta sales campaign for my best seller at $50/day using existing library creatives.”
- “What is my competitor running in the Meta Ad Library right now?”
Troubleshooting
Hermes starts but lists no Lazy Ads tools
The block must sit under mcp_servers in ~/.hermes/config.yaml and the url must be exactly the hosted endpoint. Run hermes mcp (or check the startup log) for the connection error.
401 / "Invalid or revoked API key"
Regenerate the key under Settings → API and make sure LAZY_ADS_API_KEY in ~/.hermes/.env has no quotes or trailing spaces. Free accounts cannot create keys.
"This tool requires a Starter, Growth, or Scale plan"
You called a Lazy Ads AI tool on BYOA. Bridge tools (create, sync, pause, budgets, analytics) still work; upgrade for AI builds, chat, and creative generation.
429 Too Many Requests
Per-key limits are BYOA 60, Starter 30, Growth 100, Scale 500 requests a minute. Hermes retries after Retry-After; batch calls with sync_all_campaign_performance instead of one sync per campaign.
ROAS shows 0 on LinkedIn or Reddit
Those platforms do not report revenue over their APIs. Spend, clicks, and conversions are accurate; attribute revenue with Lazy Ads conversion events instead.
Hermes + Lazy Ads FAQ
Do I need the Lazy Ads skill, or is the MCP server enough?
The MCP server alone gives Hermes every tool. The skill (SKILL.md) tells Hermes when to reach for Lazy Ads, how the bridge hierarchy fits together, and which tools cost AI credits, so answers are faster and fewer tool calls are wasted. Install both.
Which Lazy Ads plan do I need for Hermes?
Any paid plan. Starter, Growth, or Scale unlock Lazy Ads AI tools (AI campaign builds, chat, creative generation) inside Hermes. BYOA is the advanced MCP-only path for people who want Hermes to do the strategy and Lazy Ads to be the connector and dashboard.
Where does the API key go?
Put LAZY_ADS_API_KEY=la_... in ~/.hermes/.env and reference it from config.yaml as "Bearer ${LAZY_ADS_API_KEY}". Hermes resolves ${VAR} placeholders at startup so the key never sits in config.yaml.
Hermes lists no Lazy Ads tools after restart. What should I check?
Confirm the block sits under mcp_servers in ~/.hermes/config.yaml, the url is exactly https://mcp.lazyads.ai/mcp, the key is active under Settings → API, and your plan is paid. Then run hermes mcp (or check the startup log) to see the connection result.