Hvorfor agenter (og deres mennesker) vælger Hermoso: én connector er et one-stop-shop for 100+ billed-, video-, stemme- og skriftmodeller: Seedance, Veo, Kling, MiniMax H3 og Gemini Omni til video; Nano Banana, Imagen, Flux, Seedream og GPT Image til stillbilleder; plus premium-stemmer og skrivemodeller i Claude-, Gemini- og GPT-klassen, alt på en enkelt creditmåler, uden API-nøgler eller konti hos hver leverandør. Og ud over de rå modeller dækker den samme connector hele annonceflowet: konkurrentanalyse på tværs af Meta-, Google- og LinkedIn-annoncebiblioteker, kreativ planlægning, færdige renders med brandet, efterbehandling, scoring, publicering og kampagnestyring. Præcise credit-omkostninger pr. render står i hermoso_capabilities, så en velopdragen agent kan give dig et tal, før den bruger noget.
Hermoso er markedsførings-MCP'en, der kører hele annonceloopet. De fleste marketing-MCP'er administrerer kun kampagner; Hermoso laver og publicerer også annoncen. Forbind den til din agent, og undersøg, lav, publicer og administrer færdige annoncer direkte fra dine prompts, med 922+ værktøjer, din gemte brandkontekst og dine credits. Installer fra npm (npm install -g hermoso). Den er open source på github.com/hermoso-ai/hermoso.
Forbind med ét klik: Åbn i ChatGPT · Tilføj til Cursor · Installer i VS Code · Claude Code: claude plugin marketplace add hermoso-ai/hermoso && claude plugin install hermoso@hermoso (Codex, Gemini CLI og Cursor: én kommando hver, i opsætningen ovenfor) · Claude.ai: indsæt https://app.hermoso.ai/mcp under Indstillinger → Connectors · Meta Muse: én chatbesked sætter det op, se Hermoso i Muse. Agenter kan selv finde serverkortet på /.well-known/mcp.json. Den står også i det officielle MCP-register (io.github.hermoso-ai/hermoso), på Smithery og på Glama.
Foretrækker du studiet? Alt det, værktøjerne gør, findes også i webappen, på app.hermoso.ai.
Tre ting, du skriver én gang, når den er forbundet
Det er almindelige sætninger, ikke et DSL. Agenten vælger værktøjerne; du godkender forbruget.
- Research. “Hvem er
oatly.coms tre nærmeste konkurrenter, og hvilke af deres annoncer har kørt længst på Meta? Fortæl mig, hvilken hook der bliver ved med at gå igen.” Det går gennemfind_competitors→pull_competitor_ads→mine_angles. - Lav. “Lav en 9:16 UGC-videoannonce til mit brand med den hook, med mit rigtige produktfoto og undertekster brændt ind.” Det går gennem
get_brand→plan_ad→render_ad, og giver dig den færdige mp4-URL. - Send af sted. “Planlæg den til Instagram og TikTok tirsdag kl. 9, og byg en pauset Meta-kampagne omkring den, rettet mod USA til $30/dag.” Det går gennem
schedule_post→create_meta_campaign→create_meta_ad.
Værktøjerne, efter opgave
Alle 922+ værktøjer bag én OAuth-godkendt server. Kald dem fra ChatGPT, Claude, Claude Desktop, Codex, Cursor, Cline, OpenClaw, Hermes, Grok Bot eller enhver anden MCP-klient. Hvert værktøj returnerer en varig asset-URL eller et struktureret resultat, ikke prosa, som modellen skal parse igen.
Leder du efter den fulde liste? Den findes i værktøjsreferencen, med hvert værktøjs rigtige parameterskema og maskinlæsbar JSON ved siden af. Referencen er genereret: den bygges ved at køre den MCP-server, der er i drift, og læse tools/list tilbage over en rigtig transport, så det er præcis den flade, din klient modtager. Kategorierne nedenfor er en håndskrevet rundvisning i de værktøjer, det er værd at kende ved navn. Hvis de to er uenige, er det referencen, du skal stole på. Fuld udviklerdokumentation: hermoso.ai/docs.
Research og annonce-spionage: find_competitors, competitor_teardown, pull_competitor_ads, research_ads, mine_angles, score_ad, check_ad_policy, analyze_video; annoncebiblioteker search_meta_ads, search_google_ads, search_linkedin_ads; organisk social search_tiktok, search_instagram, search_youtube, search_reddit, search_threads, search_threads_keyword; fetch_social_data; kreative playbooks list_skills, get_skill, save_skill.
Lav færdige annoncer: brand draft_brand, get_brand, update_brand, use_brand, list_brands; planlægning plan_ad, plan_variations; render render_ad, generate_image, generate_video, generate_avatar, generate_voice, generate_text, make_template_ad (native HTML-annonceformater, renderet direkte, så formatet er pixelpræcist), make_explainer, product_sizzle, make_thumbnail; redigér og færdiggør remix_static, recast_motion, reframe_video, upscale_video, dub_video, change_voice, finish_video, fix_beat, post_edit, stitch_video, clip_video; assets list_product_photos, set_product_image, list_library, fetch_asset, upload_file.
Publicer og planlæg på dine kanaler: post_to_meta (Facebook / Instagram / Threads), post_to_tiktok, post_to_youtube, schedule_post (én kø på tværs af Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram og Google Business Profile), list_scheduled, cancel_scheduled, manage_meta_post, update_youtube_video, upload_meta_asset, list_meta_pages, youtube_channel, tiktok_account, list_tiktok_videos. YouTube går længere end upload: list_youtube_videos, update_youtube_video, set_youtube_thumbnail (sætter en Hermoso-thumbnail på en upload; det er det enkelte største løftestang for klikrate, og YouTube vælger ellers et billede tilfældigt) og youtube_video_insights (visninger, seertid, gennemsnitlig visningsprocent, nye abonnenter). Engagement: list_meta_comments, reply_to_meta_comment, moderate_meta_comment, list_threads_replies, reply_to_thread, list_youtube_comments, reply_to_youtube_comment. X / Twitter: post_to_x (tekst, billede, video, svar, citatopslag, afstemninger og hele tråde; 280 tegn på en almindelig konto og op til 25.000 på en konto med X Premium, læst fra kontoen og ikke antaget, og aldrig afkortet), post_x_article (X's egen lange artikel, skrevet i Markdown, med overskrifter, lister, citater, kodeblokke og tabeller bevaret), edit_x_post (omskriv et opslag, du allerede har publiceret, inden for den time X tillader), delete_x_post, x_post_metrics og x_post_insights (visninger, likes, reposts, svar, citater, bogmærker), x_post_insights_historical (de samme annoncørtal over ethvert datointerval, hvor x_post_insights kun ser de sidste 28 timer), x_mentions. X er den eneste connector, der tager credits pr. API-kald, fordi X tager betaling for hver forespørgsel, og et opslag med et link koster omkring 13× et uden; din agent får prisen oplyst, før den poster. LinkedIn: list_linkedin_pages, post_to_linkedin_page, post_to_linkedin, manage_linkedin_post, linkedin_page_analytics (organisk Page-performance: følgere og følgertilvækst, Page-visninger og opslagsvisninger, klik og engagement, for hele Siden eller pr. opslag). LinkedIn-publicering går til de virksomhedssider, du sætter kryds ved. Din personlige profil er også tilgængelig, men den forbliver fra, indtil du udtrykkeligt deler den. Pinterest: list_pinterest_boards, create_pinterest_board, post_to_pinterest (billede- eller video-Pins på en board, du vælger). Threads går længere end publicering: list_threads_posts, list_threads_replies, reply_to_thread, hide_thread_reply, delete_thread, list_threads_mentions, threads_insights.
Læs og svar på DM'erne. list_inbox samler alt, folk har sagt til brandet, på én liste: Facebook- og Instagram-kommentarer, Threads-svar og -omtaler, YouTube- og Reddit-kommentarer, Google-anmeldelser, Bluesky-svar og X-omtaler, plus direkte beskeder på Messenger, Instagram Direct, X, Bluesky og Telegram. reply_to_inbox_item svarer på hvilken som helst af dem med id og sender til den rigtige kanal for dig, så agenten aldrig behøver at vide, hvilket svarværktøj en platform bruger. Pr. kanal, når du vil have hele tråden i stedet for den nyeste linje: list_meta_conversations, read_meta_conversation, reply_to_meta_message; list_x_dms, send_x_dm; list_bluesky_convos, read_bluesky_dm, send_bluesky_dm, mark_bluesky_convo_read; list_telegram_dms, list_telegram_chats, post_to_telegram; og på WhatsApp send_whatsapp_message, send_whatsapp_broadcast, list_whatsapp_templates, create_whatsapp_template. instagram_profile omsætter et Instagram-@handle til det numeriske konto-id, Meta faktisk vil have. Hvad hver platform tillader, varierer, og Hermoso siger, hvilken regel du står over for, i stedet for at lade dig finde ud af det via en afvisning: Meta tillader et svar inden for 24 timer efter, at personen skrev, og det vindue tjekkes gratis, før noget sendes; Telegram er et glidende 24-timers vindue og ikke en indbakke, fordi Bot API'et slet ikke har et endpoint for historik; X gemmer 30 dage med direkte beskeder og tager betaling pr. læst besked. WhatsApp er værd at kende separat, fordi det at svare der ikke er et indbakkesvar: Hermoso sender på WhatsApp med send_whatsapp_message, enten en Meta-godkendt skabelon for at åbne en samtale eller et frit svar inden for Metas 24-timers kundeservicevindue, og den beder dig bekræfte den præcise ordlyd og det præcise nummer først, fordi den når en rigtig telefon, og Meta opkræver virksomheden for samtalen. Meta publicerer også intet WhatsApp-historikendpoint, så en samtale fra før, du forbandt, kan ikke hentes for nogen pris. LinkedIn og Threads har ingen brugbar API til direkte beskeder, så ingen af dem tilbydes.
Send én WhatsApp-besked, eller udsend til hele listen. send_whatsapp_broadcast sender én godkendt skabelon ud til en kundeliste, et segment eller en lancering, og udfylder hver persons egne værdier for {{1}} og {{2}} undervejs, så tusind personer får en besked, der nævner dem, i stedet for den samme udsendelse tusind gange. Meta publicerer intet bulk-endpoint, så det er en tempostyret udsendelse med én besked pr. modtager, og den kører som et job i kø, du spørger efter, i stedet for et kald, der venter: dublerede numre fjernes, før noget sendes, et nummer Meta ikke kan bruge afvises med navn i stedet for at blive droppet stille, og hver modtager har sit eget udfald i resultatet, så en delvis fejl rapporteres som en delvis fejl og aldrig som en succes. Kør den først med dryRun: det koster intet, sender intet og oplyser det rigtige antal modtagere, skabelonens aktuelle kategori, hvad Meta vil opkræve for den, og om listen passer inden for din forretningsportefølges løbende 24-timers beskedgrænse. Meta opkræver dig direkte for beskederne, pr. besked, til deres egne satser pr. land, så en udsendelse bruger ingen Hermoso-credits. To regler dér er Metas og ikke vores, og begge er permanente: en udsendelse er altid en godkendt skabelon, fordi fri tekst kun er lovlig inden for 24-timers vinduet, der åbner, når personen skriver til dig først; og WhatsApp kræver, at modtageren har givet samtykke, hvilket ingen del af API'et håndhæver, og som fortsat er virksomhedens ansvar.
Én indholdskalender på tværs af alle kanaler: schedule_post sætter en færdig render i kø til en eller flere kanaler på et valgt tidspunkt med kanalspecifikke billedtekster; list_scheduled læser, hvad der står i kø, og hvad der allerede er udsendt, med udfald pr. kanal; cancel_scheduled trækker et opslag tilbage, før det går ud. I studiet er den samme kø en rigtig kalender med måneds-, uge- og listevisning, træk et opslag for at flytte det, rediger eller dupliker enhver post, og faste tidsslots, du kan slippe arbejde ned i. Hermoso publicerer på det aftalte tidspunkt; intet skal være åbent.
Kør Meta-annoncekampagner: 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. Objekter oprettes pausede, og hvert forbrug og hver sletning kræver bekræftelse. Før et budget forpligtes: preview_meta_ad renderer den rigtige annonce pr. placering som et link, du kan kigge på, og estimate_meta_reach oplyser, hvor mange personer en målgruppespecifikation faktisk når. Målgrupper: list_meta_audiences og create_meta_audience bygger retargeting for hjemmesidepixel, Page- og Instagram-engagementmålgrupper og lookalikes, og oprettelse af en koster intet. meta_insights opdeler performance efter alder, køn, placering og land. Siden Facebook Ads MCP går igennem alle Meta-værktøjerne og den målretning, de giver adgang til.
Kør Google Ads-kampagner: 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). Hele træet bygges i én atomar handling og læses derefter tilbage fra Google, før agenten beskriver, hvad den lavede. Ud over træet: create_google_ads_conversion_action og list_google_ads_conversion_actions (det Google tæller som et resultat; TARGET_CPA, TARGET_ROAS, MAXIMIZE_CONVERSIONS og alle Performance Max-kampagner kan ikke leveres uden det, så Hermoso nægter at bygge dem på en konto, der ikke har det), create_google_ads_performance_max_campaign (Googles kampagnetype på tværs af flader), add_google_ads_assets (sitelinks, callouts og strukturerede uddrag, oprettet og tilknyttet, for en ikke-tilknyttet asset vises intet) og google_ads_keyword_ideas (Keyword Planner: reel månedlig søgevolumen, konkurrence og bud for toppen af siden, så søgeord vælges ud fra data og ikke gættes).
Kør LinkedIn, Pinterest, Microsoft, X, TikTok, Snapchat, ChatGPT, Apple Search Ads og AppLovin Ads: det samme mønster med pausede kampagner som standard og bekræftelseskrav på alle andre betalte platforme. 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 (omsæt land-, region- og bynavne til de Microsoft-lokations-id'er, en kampagne har brug for; uden lokationer oprettes en Microsoft-kampagne til at vise verden over, hvilket er Microsofts egen standard, og læsningen efter oprettelse advarer dig højlydt). Reddit Ads, hele kontotræet: list_reddit_ads_campaigns, reddit_ads_report, create_reddit_ads_campaign, create_reddit_ads_ad_group, create_reddit_ads_ad, create_reddit_ads_post (en Reddit-annonce promoverer et opslag, så kreativet er et opslag), set_reddit_ads_status, plus gratis planlægning med search_reddit_ads_targeting, reddit_ads_forecast og reddit_ads_bid_suggestion, konverteringssporing via list_reddit_ads_pixels og send_reddit_ads_conversions, retargeting og gemte målgrupper, lead-formularer og reddit_ads_history. ChatGPT Ads (annoncerne, der kører under et ChatGPT-svar), 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 har præcis ét kreativt format, et tekst-plus-billedkort, og ingen video, så agenten henter et stillbillede fra din film i stedet for at tilbyde dig en videoannonce der. X Ads, det fulde træ for promoverede opslag, live siden 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 navn for en annoncegruppe), 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. En X-annonce promoverer et opslag, så kreativet er et opslag, det samme som post_to_x publicerer. TikTok Ads er en ANDEN forbindelse end TikTok-publiceringsconnectoren, og det er den eneste platform, der opretter objekter AKTIVERET som standard, så Hermoso tvinger hvert niveau til PAUSET uden undtagelse: 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. Budgetter er i mikrovaluta (1.000.000 = én enhed), overskriften på et kreativ er begrænset til 34 tegn, og en Snapchat-annonce peger på et KREATIV og ikke et medie-id. Tre adgangsnoter, du bør have, før du planlægger et budget: LinkedIn og Pinterest begrænser begge annonceskrivninger efter det API-niveau, din egen annoncekonto har. Læsninger og rapporter er ubegrænsede, mens oprettelse af kampagner afhænger af den adgang, din konto har fået af platformen. Meta, Google Ads, Microsoft Advertising, Reddit Ads og ChatGPT Ads har ikke et sådant niveau. X giver Ads API-adgang pr. ANNONCEKONTO og ikke pr. app, så i stedet for en OAuth-knap tilføjer du Hermoso's X-bruger til din annoncekonto på business.x.com → Account access, og den dukker op i list_x_ads_accounts med det tilladelsesniveau, X har givet den. AppLovin Ads forbindes med en indsat nøgle: applovin_ads_report virker på enhver konto med dens Reporting Key, og applovin_ads_pixel med dens Event Key, send_applovin_ads_events kræver AppLovins Conversion API-nøgle, og list_applovin_ads_campaigns, create_applovin_ads_campaign, update_applovin_ads_campaign, set_applovin_ads_status, creative-set-værktøjerne og upload_applovin_ads_assets bruger AppLovins Campaign Management API, som AppLovin aktiverer konto for konto, ligesom Conversion API-nøglen. Bed din AppLovin-kontaktperson om at slå dem til, og indsæt derefter også disse nøgler.
Byg Apple Search Ads, og læs dem helt ned til søgeordet: App Store-søgeannoncer, fra start til slut. Byg: 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. Hvert objekt oprettes pauset uden undtagelse, aktivering er den ene kontakt, der tænder for reelt forbrug, og den kræver bekræftelse, og hvert resumé bygges ud fra en læsning af det, Apple faktisk har gemt. Annoncer kører i placeringen Search-fanen; en Search results-kampagne har brug for hverken annonce eller kreativ, fordi Apple selv renderer din App Store-produktside, og Hermoso siger det gratis i stedet for at lade Apple afvise opbygningen. Læs: list_apple_ads_campaigns (status, serveringsstatus, dagligt og samlet budget, de lande den kører i, og Apples egen angivne grund, når en kampagne ikke kan køre), list_apple_ads_ad_groups (standardbud, og om Apples Search Match er slået til), list_apple_ads_keywords (målretning og negative, med matchtype og bud), apple_ads_report (visninger, tryk, installationer, forbrug, TTR, CPT og CPA, på kampagne-, annoncegruppe-, søgeords-, søgeterm- eller annonceniveau), list_apple_ads_creatives, list_apple_ads_ads, list_apple_ads_assets, list_apple_ads_product_pages (din App Store-liste og eventuelle brugerdefinerede produktsider, med deres indhold pr. sprog), search_apple_ads_apps og check_apple_ads_app_eligibility (hvilke placeringer, lande og enheder din app faktisk må annoncere på, værd at læse, før du bygger) og list_apple_ads_orgs. Der er ingen OAuth-knap til det, fordi Apple ikke udgiver et OAuth-flow: Hermoso genererer signeringsnøglen, du indsætter dens offentlige halvdel i Apple Ads → Account Settings → API og indsætter tre id'er tilbage. Apple viser kun det felt for en bruger med en API-rolle, så en Account Admin inviterer eller skifter til en sådan først. Guiden Apple Search Ads-connector gennemgår hele processen. Hver forbindelse er fastlåst til den ene Apple Ads-organisation, du valgte, da du oprettede den.
Rapporter og eksporter: Google Drive save_to_drive, list_drive_files, get_drive_file, update_drive_file, delete_drive_file, create_drive_folder; Sheets create_sheet, append_to_sheet, read_sheet; Docs create_doc, append_to_doc, read_doc; Microsoft OneDrive save_to_onedrive, list_onedrive_files, get_onedrive_file, update_onedrive_file, create_onedrive_folder, delete_onedrive_file. Leads går ind i dit CRM via HubSpot MCP: sync_leads_to_hubspot sender Meta- og LinkedIn-lead-formular-leads ind som kontakter, og hubspot_deals_report rapporterer handler efter fase og kilde.
Hukommelse, profiler, skills og team: remember, forget, list_memory, store_get; profiler create_brand, delete_brand, use_brand, list_brands, så et bureau kan tage en ny kunde og fjerne en igen uden at åbne appen, og profiler er ubegrænsede på alle planer; skills, nu ét bibliotek, der har absorberet den gamle "AI-medarbejdere"-butik: save_skill, list_skills, get_skill, delete_skill; team invite_member, list_team, set_role, remove_member.
Konto, indstillinger og connectors: hermoso_capabilities (undersøg modeller og præcise omkostninger pr. render; kald den først), hermoso_credits, buy_credits, billing_status, upgrade_plan, set_auto_reload, get_job, list_jobs, report_bug, request_feature; indstillinger get_settings, update_settings (sprog og udseende, gemt på kontoen og ikke i en browser, så en kunde, der kun bruger agenten, ikke sidder fast på engelsk); connectors list_connectors, list_connector_accounts, set_connector_accounts (vælg præcis hvilke Pages, annoncekonti og boards der må bruges; værktøjet rapporterer serverens læsning tilbage, aldrig forespørgslen), disconnect_connector. At forbinde en konto er et OAuth-samtykkebillede, så det er det ene trin, der stadig kræver en browser; alt efter det kan agenten kalde.