Post, schedule and run ads from Hermes

Hermes takes Hermoso’s generic HTTP MCP block and gets the full 301-tool surface — ad research, finished image and video ads, and publishing to eight social channels.

Hermes is an agent runtime that loads MCP servers from a config block. Hermoso’s hosted endpoint is a standard streamable-HTTP MCP server, so the generic block is all it needs.

Hermoso is the marketing half: 301 tools over one OAuth’d MCP endpoint covering competitor ad research, finished image and video ad generation across 50+ models, publishing and scheduling to eight social channels, and campaign management on Meta, Google Ads, Microsoft Advertising, Reddit Ads, LinkedIn, Pinterest and ChatGPT Ads. One connection, and Hermes has all of it.

Connect Hermoso to Hermes

  1. Create an API key. In Hermoso, open Settings → Agents & API keys and press + Create API key. It looks like hmk_… and carries real spend authority, so treat it like a password.
  2. Add an MCP server pointing at the hosted endpoint with your key:
    { "url": "https://app.hermoso.ai/mcp",
      "headers": { "Authorization": "Bearer <your key>" } }
  3. Ask Hermes for something. “Pull my three closest competitors’ longest-running ads and remix the best hook into a 9:16 video,” or “post this render to the channel.” The agent picks the tools; you approve the spend.

Hermoso is not affiliated with or endorsed by the makers of Hermes, and this is not a bespoke integration — it is the same generic HTTP MCP block any conforming client takes. We would rather say that than imply a partnership that does not exist.

Every channel Hermes can publish to

Each of these has its own page with that channel’s real caption cap, its real visibility options, what it refuses and why, and a worked example phrased for Hermes.

ChannelCarouselText limit
Facebook2+ photos, our cap of 3063,206 chars
Instagram2–10, images + video2,200 chars
Threads2–20, images + video500 chars
TikTokUp to 35 images2,200 / 4,000 chars
YouTubeRefused — the unit is a video100-char title
XRefused — 4 media render as a grid280 chars
LinkedIn2–20 images, company Page only3,000 chars
Pinterest2–5 images (blocked on Trial)800-char description

All eight queue through one schedule_post calendar with per-channel captions, and list_scheduled reports per-channel outcomes rather than a single green tick — “the job succeeded” and “the post went out” are different questions.

Two channels that are built but not offered

Being straight about this is worth more than a longer list. Two publishing surfaces exist in the codebase and are held back, each waiting on the platform rather than on us:

  • Redditpost_to_reddit is built and reddit_post_stats reads a post back, but Reddit’s Responsible Builder Policy requires explicit written approval before an app may use the Data API, and that ticket has not been granted. The connector is held back rather than offered as an OAuth screen leading to a dead API. Reddit Ads is a different connection and it is live — the full campaign tree, forecasting, targeting search, pixels and lead forms.
  • Google Business Profilepost_to_google_business is built, with events, offers and a real call-to-action choice, and so are the listing insights. Google allowlists the Business Profile API per project and the default quota is zero, so every call would 403 for every user. It stays gated until Google grants the project access.

A connector that would hand you a successful OAuth and a dead API is worse than one that is not offered yet, so neither is listed as available.

Three things to type once it is connected

  1. Research. “Who are my three closest competitors, and what are their longest-running Meta ads? Tell me which hook keeps repeating.” — walks find_competitorspull_competitor_adsmine_angles.
  2. Create. “Make me a 9:16 UGC video ad using that hook, with my real product photo and captions burned in.” — walks get_brandplan_adrender_ad, and hands back a finished mp4 URL.
  3. Ship. “Schedule it to Instagram and TikTok for Tuesday 9am, and build a paused Meta campaign around it targeting the US at $30 a day.” — walks schedule_postcreate_meta_campaigncreate_meta_ad. The campaign is created paused; nothing spends until you say so.

What Hermes cannot do on its own

An agent with a budget is only useful if the blast radius is bounded, so the fence is in the server rather than in a prompt. Every ad campaign, ad set, ad group and ad is created paused, and the status switches that arm real money refuse to run without an explicit confirmation flag. Every render is quoted first — hermoso_capabilities publishes each model’s exact credit cost before anything spends — and credits are reserved before the first provider call and settled at the exact cost afterwards, so a failed dispatch refunds rather than leaving you billed for nothing. Deletes are confirm-gated too, and every campaign tree is read back from the ad platform before your agent tells you what it built.

One step is deliberately not headless: linking an account is an OAuth consent screen, so you connect the channel once in a browser. Everything after that is a tool call.

Beyond publishing

Publishing is the last step, and it is the smallest one. The same connection gives Hermes the Meta, Google and LinkedIn ad libraries plus organic TikTok, Instagram, YouTube, Reddit and Threads for research; 50+ image, video, voice and writing models on a single credit meter, with UGC avatars, dubbing, upscaling and native HTML ad formats; and the full campaign tree on seven paid platforms. There are no per-vendor API keys to hold and no separate app to learn.

See the full tool list, or what a marketing MCP is.

Other clients: Claude · ChatGPT · Claude Code · Cursor · Codex · Cline · OpenClaw · any MCP client

Frequently asked questions

Can Hermes post to social media?

Yes, once you connect Hermoso's MCP server. Hermes can then publish to Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn and Pinterest — and schedule to all eight from one queue with per-channel captions.

How do I add Hermoso to Hermes?

Create an API key in Hermoso under Settings → Agents & API keys, then point Hermes at https://app.hermoso.ai/mcp with an Authorization: Bearer header. Hermoso is not affiliated with or endorsed by the makers of Hermes, and this is not a bespoke integration — it is the same generic HTTP MCP block any conforming client takes. We would rather say that than imply a partnership that does not exist.

Can Hermes research my competitors' ads?

Yes. From Hermes the Meta, Google and LinkedIn ad libraries are searchable alongside organic TikTok, Instagram, YouTube, Reddit and Threads — ranked by run length, because an ad still running after months is an ad that is paying for itself. It will also tear a competitor down and return a video's voiceover, on-screen text and beat list with timestamps.

Do I need a separate account to use Hermoso in Hermes?

No — one Hermoso account, and Hermes authenticates against it. You create an API key once under Settings → Agents & API keys and paste it into the config. The web studio at app.hermoso.ai is the same engine and the same credits.

Start free — 25 credits at signup and 250+ more to earn, and every feature on every plan.

Start free   See pricing