Hermoso
Description
AI ad studio for marketers and agencies: research the ads already winning in your market, generate finished on-brand image and video ads with your real product composited in, then publish them and run the campaigns across ten ad platforms — 415 tools, and unlike other marketing…
About
AI ad studio for marketers and agencies: research the ads already winning in your market, generate finished on-brand image and video ads with your real product composited in, then publish them and run the campaigns across ten ad platforms — 415 tools, and unlike other marketing MCP servers it generates the creative…
Details
- Author
- Unknown
- Categories
- Marketing, Other
Jump to
Why agents (and their humans) pick Hermoso:one connector is aone-stop shop for 50+ image and video models— Seedance, Veo, Kling, Sora and Gemini Omni for video; Nano Banana, Imagen, Flux, Seedream and GPT Image for stills; plus premium voices and Claude-, Gemini- and GPT-class writing models — on a single credit meter, with no per-vendor API keys or accounts to hold. And beyond raw models, the same connector covers theentire ad workflow: competitor research across the Meta, Google and LinkedIn ad libraries, creative planning, finished branded renders, post-production, scoring, publishing and campaign management. Exact per-render credit costs are published inhermoso_capabilities, so a well-behaved agent can quote you a number before it spends anything.
Hermoso isthe marketing MCPthat runs the whole ad loop — most marketing MCPs onlymanagecampaigns, but Hermoso alsocreates and publishesthe ad. Connect it to your agent and research, create, publish and managefinished adsstraight from your prompts — 650+ tools, your saved brand context, your credits. Install fromnpm(npm install -g hermoso) — open source atgithub.com/hermoso-ai/hermoso.
One-click connect:Add to Cursor·Install in VS Code· Claude Code:claude mcp add --transport http hermoso https://app.hermoso.ai/mcp· Claude.ai: pastehttps://app.hermoso.ai/mcpunder Settings → Connectors. Agents can auto-discover the server card at/.well-known/mcp.json. Also listed in theofficial MCP registry(io.github.hermoso-ai/hermoso), onSmitheryand onGlama.
Prefer the studio? Everything the tools do lives in the web app too —app.hermoso.ai.
Three things to type once it’s connected
These are ordinary sentences, not a DSL. The agent picks the tools; you approve the spend.
- Research.“Who areoatly.com’s three closest competitors, and what are their longest-running Meta ads? Tell me which hook keeps repeating.” — walksfind_competitors→pull_competitor_ads→mine_angles.
- Create.“Make me a 9:16 UGC video ad for my brand using that hook, with my real product photo and captions burned in.” — walksget_brand→plan_ad→render_ad, and hands back the finished mp4 URL.
- Ship.“Schedule it to Instagram and TikTok for Tuesday 9am, and build a paused Meta campaign around it targeting the US at $30/day.” — walksschedule_post→create_meta_campaign→create_meta_ad. The campaign is createdpaused; nothing spends until you say so.
All650+ toolsover one OAuth’d server — call any of them from Claude, Claude Code, Claude Desktop, Codex, Cursor, Cline, OpenClaw, Hermes or any other MCP client. Each returns a durable asset URL or a structured result, not prose the model has to re-parse.
Looking for the complete roster?It is atthe tool reference— every tool with its real parameter schema, andmachine-readable JSONbeside it. That reference isgenerated: it is built by running the shipping MCP server and readingtools/listback over a real transport, so it is the exact surface your client receives.The categories below are a hand-written tour, not the inventory— they name the tools worth knowing by name, and the reference is what to trust when the two disagree. Full developer documentation:hermoso.ai/docs.
Research & ad spy —find_competitors,competitor_teardown,pull_competitor_ads,research_ads,mine_angles,score_ad,check_ad_policy,analyze_video; ad librariessearch_meta_ads,search_google_ads,search_linkedin_ads; organic socialsearch_tiktok,search_instagram,search_youtube,search_reddit,search_threads,search_threads_keyword;scrapecreators_fetch; creative playbookslist_skills,get_skill,save_skill.
Create finished ads —branddraft_brand,get_brand,update_brand,use_brand,list_brands; planplan_ad,plan_variations; renderrender_ad,generate_image,generate_video,generate_avatar,generate_voice,generate_text,make_template_ad(native HTML ad formats rendered directly, so the type is pixel-exact),make_explainer,product_sizzle,make_thumbnail; edit & finishremix_static,recast_motion,reframe_video,upscale_video,dub_video,change_voice,finish_video,fix_beat,post_edit,stitch_video,clip_video; assetslist_product_photos,set_product_image,list_library,fetch_asset,upload_file.
One content calendar across every channel —schedule_postqueues a finished render to one or several channels at a chosen time with per-channel captions;list_scheduledreads what is queued and what already fired, with per-channel outcomes;cancel_scheduledpulls a post back before it goes out. In the studio the same queue is a real calendar — month, week and list views, drag a post to reschedule it, edit or duplicate any entry, and standing time-slots you can drop work into. Hermoso publishes at the appointed time; nothing has to stay open.
Run Meta ad campaigns —create_meta_campaign,create_meta_adset,create_meta_ad,find_meta_audiences,list_meta_ads,meta_insights,meta_page_insights,meta_post_insights,update_meta_object,set_meta_campaign_status,delete_meta_object— objects are createdpaused, and every spend and delete is confirm-gated. Before a budget is committed:preview_meta_adrenders therealad per placement as a link you can look at, andestimate_meta_reachsays how many people a targeting spec actually reaches. Audiences:list_meta_audiencesandcreate_meta_audiencebuild website-pixel retargeting, Page and Instagram engagement audiences, and lookalikes — creating one spends nothing.meta_insightsbreaks performance down by age, gender, placement and country.
Run Google Ads campaigns —create_google_ads_campaign,create_google_ads_ad_group,create_google_ads_ad,add_google_ads_keywords,set_google_ads_budget,set_google_ads_bidding,set_google_ads_targeting,set_google_ads_status,find_google_ads_locations,upload_google_ads_asset,list_google_ads_campaigns,google_ads_report(GAQL) — the whole tree is built in one atomic operation, then read back from Google before the agent narrates what it made. Beyond the tree:create_google_ads_conversion_actionandlist_google_ads_conversion_actions(what Google counts as a result — TARGET_CPA, TARGET_ROAS, MAXIMIZE_CONVERSIONS and every Performance Max campaign are undeliverable without one, so Hermoso refuses to build them on an account that has none),create_google_ads_performance_max_campaign(Google’s cross-surface campaign type),add_google_ads_assets(sitelinks, callouts and structured snippets, createdand attached— an unattached asset shows nothing) andgoogle_ads_keyword_ideas(Keyword Planner: real monthly search volume, competition and top-of-page bids, so keywords are chosen from data rather than guessed).
Run LinkedIn, Pinterest, Microsoft, X, TikTok, Snapchat, ChatGPT and Apple Search Ads —the same paused-by-default, confirm-gated pattern on every other paid platform. LinkedIn:list_linkedin_ads_campaigns,linkedin_ads_report,create_linkedin_ads_campaign_group,create_linkedin_ads_campaign,create_linkedin_ads_creative,search_linkedin_ads_targeting,set_linkedin_ads_budget,set_linkedin_ads_status,delete_linkedin_ads_object. Pinterest:list_pinterest_ads_campaigns,pinterest_ads_report,create_pinterest_ads_campaign,create_pinterest_ads_ad_group,create_pinterest_ads_ad,set_pinterest_ads_budget,set_pinterest_ads_status. Microsoft Advertising (Bing):list_microsoft_ads_campaigns,microsoft_ads_report,create_microsoft_ads_campaign,create_microsoft_ads_ad_group,create_microsoft_ads_ad,add_microsoft_ads_keywords,set_microsoft_ads_budget,set_microsoft_ads_status,microsoft_ads_geo_search(resolve country, region and city names to the Microsoft location ids a campaign needs — without locations a Microsoft campaign is created serving worldwide, which is Microsoft’s own default, and the read-back warns you loudly). Reddit Ads — the full account tree:list_reddit_ads_campaigns,reddit_ads_report,create_reddit_ads_campaign,create_reddit_ads_ad_group,create_reddit_ads_ad,create_reddit_ads_post(a Reddit ad promotes a post, so the creative is a post),set_reddit_ads_status, plus free planning withsearch_reddit_ads_targeting,reddit_ads_forecastandreddit_ads_bid_suggestion, conversion tracking throughlist_reddit_ads_pixelsandsend_reddit_ads_conversions, retargeting and saved audiences, lead forms, andreddit_ads_history. ChatGPT Ads — the ads that run under a ChatGPT answer, via OpenAI’s Advertiser API:list_openai_ads_campaigns,openai_ads_report,openai_ads_geo_search,create_openai_ads_campaign,create_openai_ads_ad_group,create_openai_ads_ad,update_openai_ads_object,set_openai_ads_budget,set_openai_ads_status. ChatGPT Ads has exactly one creative format, a text-plus-image card, and no video — so the agent will pull a still from your film rather than offer you a video ad there. X Ads — the full promoted-post tree, live since August 2026:list_x_ads_accounts,list_x_ads_funding_instruments,x_ads_report,create_x_ads_campaign,create_x_ads_line_item(X’s name for an ad group),create_x_ads_promoted_tweet,add_x_ads_targeting,x_ads_targeting_search,x_ads_geo_search,update_x_ads_campaign,update_x_ads_line_item,set_x_ads_status,delete_x_ads_object. An X ad promotes a post, so the creative is a post — the same onepost_to_xpublishes.TikTok Adsis a SEPARATE connection from the TikTok posting connector, and it is the one platform that creates objects ENABLED by default, so Hermoso forces every tier PAUSED with no override:list_tiktok_ads_accounts,list_tiktok_ads_campaigns,list_tiktok_ads_identities,search_tiktok_ads_targeting,tiktok_ads_report,create_tiktok_ads_campaign,create_tiktok_ads_ad_group,upload_tiktok_ads_creative,create_tiktok_ads_ad,set_tiktok_ads_budget,set_tiktok_ads_status,delete_tiktok_ads_object.Snapchat Ads:list_snapchat_ads_accounts,list_snapchat_ads_campaigns,list_snapchat_ads_profiles,search_snapchat_ads_targeting,snapchat_ads_report,upload_snapchat_ads_creative,create_snapchat_ads_campaign,create_snapchat_ads_ad_squad,create_snapchat_ads_ad,set_snapchat_ads_budget,set_snapchat_ads_status,delete_snapchat_ads_object— budgets are micro-currency (1,000,000 = one unit), the creative headline caps at 34 characters, and a Snapchat ad points at a CREATIVE rather than a media id. Three access notes worth having before you plan a budget:LinkedInandPinterestboth meter adwritesby the API tier your own ad account holds — reporting and reads are unrestricted, while creating campaigns depends on the access your account has been granted by the platform. Meta, Google Ads, Microsoft Advertising, Reddit Ads and ChatGPT Ads have no such tier.Xgrants Ads API access per AD ACCOUNT rather than per app, so instead of an OAuth button you add Hermoso’s X user to your ad account at business.x.com → Account access, and it appears inlist_x_ads_accountswith the permission level X gave it.
Build Apple Search Ads, and read them down to the search term —App Store search ads, end to end. Build:create_apple_ads_campaign,create_apple_ads_ad_group,add_apple_ads_keywords,add_apple_ads_negative_keywords,create_apple_ads_creative,create_apple_ads_ad,upload_apple_ads_asset,update_apple_ads_object,set_apple_ads_status,delete_apple_ads_object— every object is createdpausedwith no override, enabling is the one switch that arms real spend and it is confirm-gated, and every summary is built from a read-back of what Apple actually stored. Ads run on theSearch tabplacement; a Search results campaign needs no ad and no creative at all, because Apple renders your App Store product page itself — and Hermoso says so for free rather than letting Apple reject the build. Read:list_apple_ads_campaigns(status, serving status, daily and total budget, the countries it runs in, and Apple’s own stated reason when a campaign cannot run),list_apple_ads_ad_groups(default bid, and whether Apple’s Search Match is on),list_apple_ads_keywords(targeting and negative, with match type and bid),apple_ads_report(impressions, taps, installs, spend, TTR, CPT and CPA, at campaign, ad group, keyword, search-term or ad level),list_apple_ads_creatives,list_apple_ads_ads,list_apple_ads_assets,list_apple_ads_product_pages(your App Store listing and any custom product pages, with their per-language content),search_apple_ads_appsandcheck_apple_ads_app_eligibility(which placements, countries and devices your app may actually advertise on — worth reading before you build) andlist_apple_ads_orgs. There is no OAuth button for it, because Apple publishes no OAuth flow: Hermoso generates the signing key, you paste its public half into Apple Ads → Account Settings → API and paste back three ids. Apple shows that field only to a user holding an API role, so an Account Admin invites or switches to one first — theApple Search Ads setup guidewalks the whole thing. Each connection is pinned to the single Apple Ads organization you chose when you made it.
Report & export —Google Drivesave_to_drive,list_drive_files,get_drive_file,update_drive_file,delete_drive_file,create_drive_folder; Sheetscreate_sheet,append_to_sheet,read_sheet; Docscreate_doc,append_to_doc,read_doc; Microsoft OneDrivesave_to_onedrive,list_onedrive_files,get_onedrive_file,update_onedrive_file,create_onedrive_folder,delete_onedrive_file.
Memory, brands, skills & team —remember,forget,list_memory,store_get; brand workspacescreate_brand,delete_brand,use_brand,list_brands— an agency can take on a new client and tear one down without opening the app, and brand workspaces are unlimited on every plan; skills — ONE library, into which what used to be a separate “AI employees” store was folded —save_skill,list_skills,get_skill,delete_skill; teaminvite_member,list_team,set_role,remove_member.
Account, settings & connectors —hermoso_capabilities(probe models + exact per-render costs — call it first),hermoso_credits,buy_credits,billing_status,upgrade_plan,set_auto_reload,get_job,list_jobs,report_bug,request_feature; settingsget_settings,update_settings(language and appearance, saved to the account rather than a browser, so an agent-only customer is not stuck in English); connectorslist_connectors,list_connector_accounts,set_connector_accounts(choose exactly which Pages, ad accounts and boards are usable — the tool reports the server’s read-back, never the request),disconnect_connector. Connecting an account is an OAuth consent screen, so it is the one step that still needs a browser; everything after it is agent-callable.
Connect an account once and it becomes callable. The same finished render can go out organically, run as paid media, and report its own numbers back — without you opening a single platform dashboard. It works the same on a file you made somewhere else: the publishing, scheduling and campaign tools take any image or video you upload, so an agent can use this half on its own.
Push a finished render straight to the accounts you connect — immediately, or queued to a real content calendar: month, week and list views, drag a post to reschedule it, standing time-slots, edit or duplicate any entry, per-channel captions, one approval.
Facebook · Instagram · Threads · TikTok · YouTube · X · LinkedIn · Pinterest
post_to_metapost_to_tiktokpost_to_youtubepost_to_xpost_to_linkedin_pagepost_to_pinterestschedule_post
Build the whole campaign tree — campaign, ad set or ad group, ads, keywords, budgets, bidding and targeting. Everything is created paused and read back from the platform before the agent reports what it made. Then the parts most tools skip: real Meta ad previews and reach estimates before a budget is committed, retargeting and lookalike audiences, Google conversion actions, Performance Max, Keyword Planner volumes, and sitelinks and callouts createdandattached.
Meta (Facebook & Instagram) · Google Ads · Microsoft Advertising · Reddit Ads · LinkedIn · Pinterest · X Ads · TikTok Ads · Snapchat Ads · ChatGPT Ads · Apple Search Ads
create_meta_campaignpreview_meta_adestimate_meta_reachcreate_google_ads_campaigngoogle_ads_keyword_ideascreate_microsoft_ads_campaigncreate_reddit_ads_campaigncreate_linkedin_ads_campaigncreate_pinterest_ads_campaigncreate_x_ads_campaigncreate_openai_ads_campaign
Spend, CTR, CPC and conversions on the paid side; impressions, retention, likes, reposts and comments on the organic side — andGoogle Analytics 4 for what all of it achieved on your own site: sessions, users, conversions and revenue by channel, source/medium, campaign or landing page, plus who is on the site right now. Then pushed straight into a Google Sheet, Doc or Drive folder your team already reads.
Campaign performance · per-post engagement · per-video retention · audience counts · Apple Search Ads installs & search terms · GA4 sessions, conversions & revenue · realtime visitors
meta_insightsgoogle_ads_reportreddit_ads_reportlinkedin_ads_reportpinterest_ads_reportmicrosoft_ads_reportopenai_ads_reportx_ads_reportapple_ads_reportx_post_insights_historicalyoutube_video_insightslinkedin_page_analyticsthreads_insightsanalytics_reportanalytics_realtimelist_analytics_properties
Three things worth knowing up front.LinkedIn publishing targets the company Pages you tick— Hermoso posts as the brand by default; your personal profile is available too, but stays off until you explicitly share it. Because X charges per API request, those calls bill a small number of credits each — and a postcontaining a linkcosts roughly13×one without, so your agent is quoted the price before it posts.
Research runs wider than publishing: the Meta, Google and LinkedInad librariesplus organic TikTok, Instagram, YouTube, Reddit and Threads are all searchable, so you can mine any market for what’s working before you post a single thing.
An agent with a budget is only useful if the blast radius is bounded, so spend authority is fenced in the server, not in a prompt:
- Nothing goes live by accident.Meta campaigns, ad sets and ads are createdPAUSEDwith no caller override. Every campaign on every platform is created paused, and theset_*_ads_statusswitches — the only tools that arm real money — refuse to run without an explicit confirmation flag, and the same gate covers creating an enabled Google Ads ad group, ad or keyword under an already-enabled parent, because that would serve on the very next auction.
- Every render is quoted first.hermoso_capabilitiespublishes each model’s exact credit cost (per duration, for video), so the agent can price a plan before it renders it.
- Credits are reserved, then settled.A render debits an estimate before the first provider call and settles the exact cost after — a failed dispatch refunds, so nothing is ever spent-but-unbilled.
- No anonymous spend.Every generation call authenticates and bills a real account; the connector refuses to run without a verified identity.
- Deletes are confirm-gated too, and every campaign tree is read back from the ad platform before the agent reports on it — the summary you get is built from that read-back, not from what was requested.
Hermoso is the marketing MCP built to run your whole ad function from an agent — research competitor ads, create finished image and video ads, publish or schedule them, and build and read the campaigns — 650+ tools over one OAuth’d server, working in Claude, Claude Code, Cursor, Codex, Cline, OpenClaw and Hermes.
Yes. The Hermoso MCP builds and manages Meta ad campaigns (create_meta_campaign,create_meta_adset,create_meta_ad,meta_insights,set_meta_campaign_status) and publishes organic posts to Facebook, Instagram and Threads — all from your agent. Objects are created paused, and every spend and delete is confirm-gated.
Yes. Hermoso builds the whole Google Ads tree from your agent — campaign, ad group, responsive search or display ad, and keywords with negatives — in one atomic operation, plus budgets, bidding strategy, geo and language targeting, GAQL reporting throughgoogle_ads_report, and a confirm-gatedset_google_ads_statusas the only switch that starts real spend.
Hermoso’s MCP pulls competitor ads from the Meta, Google and LinkedIn ad libraries plus organic TikTok, Instagram, YouTube, Reddit and Threads, and tears down their strategy — viafind_competitors,pull_competitor_ads,competitor_teardownandresearch_ads.
It's an open-source Model Context Protocol server that exposes Hermoso's marketing platform as 650+ tools — competitor research, ad planning, image, video, avatar and voice generation, publishing and scheduling, campaign management across Meta, Google Ads, Microsoft Advertising, Reddit Ads, LinkedIn, Pinterest, X Ads, TikTok Ads, Snapchat Ads, ChatGPT Ads and Apple Search Ads, and export to Sheets, Docs and Drive — so agents like Claude Code and Cursor can run the whole loop directly.
Which agents and clients does it work with?
Any MCP client. There are verified paths for Claude and Claude Desktop (paste the URL under Settings → Connectors), Claude Code and Codex (claude mcp add --transport http hermoso https://app.hermoso.ai/mcp), Cursor and VS Code (the one-click deeplinks above), plus Cline, OpenClaw and Hermes. Terminal agents can also shell out to the npm CLI instead of loading a tool manifest.
Can I use it from Claude.ai without installing anything?
Yes — pastehttps://app.hermoso.ai/mcpinto Claude → Settings → Connectors, approve with your Hermoso account, done. Or create an API key in the app (Settings → Agents & API) for Claude Code, Cursor and scripts.
Yes.npm install -g hermoso, thenhermoso auth loginopens a browser sign-in (loopback, likegh) and stores an owner-only key in~/.hermoso/config.json. The CLI covers the core loop as subprocess commands with--jsonoutput —capabilities,credits,brand,create,generate,competitors,ads,research,jobs,fetch— which is the token-cheap pattern for terminal agents: they shell out instead of carrying a large tool manifest. The same package also serves the full 650-tool MCP surface over stdio withhermoso mcp(ornpx -y hermoso mcp), so installing the CLI costs you nothing in coverage.
No. Every generation call authenticates and bills a real account — the connector refuses to run without verified identity.
Sign up free — no card, and you start with 250+ earnable free credits. After that it’s one credit system across research, image and video, with plans at $19, $49 and $149 a month; every feature is available on every plan, and plans differ only by monthly credits and per-credit rate. Exact per-render costs are published throughhermoso_capabilities.
Free MCP that drives an audit of your marketing. Your AI connects, adsOS digs through your ads, email and site, and hands back a growth plan you can run today.
Rendley’s MCP server gives your AI client a full video editor. Connect it once, then create and edit video by describing what you want, in the same chat you already work in.
Remote MCP server (streamable HTTP, OAuth 2.1) for AdMake AI. Generate Facebook, Instagram and TikTok ad creatives and UGC-style video ads, research competitor ads from the Meta Ad Library, and publish finished ads to Meta via the Marketing API. Connect at https://admakeai.com/api/mcp
Guides for making interactive videos & AI product demos that answer viewers' questions.
Generate on-brand image and video ads straight from your prompts.
Schedule, generate and publish social posts to X, LinkedIn, Instagram, Threads and YouTube from any MCP client.
Run reusable AI creative workflows for ecommerce product photography, UGC ads, image-to-video, text-to-video, asset uploads, and async generation results.
Render videos from JSON via the iLoveVideoEditor cloud API: motion-design templates, GPU effects, transitions, batch rendering, webhooks.
The most flexible and fun way to grow on social: a strategist, ghostwriter, scheduler and analyst in one — inside the AI you already use, so it has all your context: your real work, in your voice. Starting with LinkedIn, X and Substack.
Social media analytics for Instagram, TikTok, X, Facebook, LinkedIn and Threads.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



