De ce aleg agenții (și oamenii lor) Hermoso: un singur connector este un magazin unic pentru peste 100 de modele de imagine, video, voce și scriere: Seedance, Veo, Kling, MiniMax H3 și Gemini Omni pentru video; Nano Banana, Imagen, Flux, Seedream și GPT Image pentru imagini statice; plus voci premium și modele de scriere de clasă Claude, Gemini și GPT, toate pe un singur contor de credite, fără chei API sau conturi separate la fiecare furnizor. Și dincolo de modelele brute, același connector acoperă întregul flux de reclame: cercetarea concurenței în bibliotecile de reclame Meta, Google și LinkedIn, planificarea creativă, randări finite cu branding, post-producție, scoring, publicare și managementul campaniilor. Costurile exacte în credite pentru fiecare randare sunt publicate în hermoso_capabilities, așa că un agent bine făcut îți poate spune un număr înainte să cheltuiască ceva.
Hermoso este MCP-ul de marketing care rulează întreaga buclă a reclamelor. Majoritatea MCP-urilor de marketing doar administrează campanii; Hermoso creează și publică și reclama. Conectează-l la agentul tău și cercetează, creează, publică și administrează reclame finite direct din prompturile tale, cu peste 922 de instrumente, contextul brandului salvat și creditele tale. Instalezi din npm (npm install -g hermoso). Este open source la github.com/hermoso-ai/hermoso.
Conectare dintr-un click: Deschide în ChatGPT · Adaugă în Cursor · Instalează în VS Code · Claude Code: claude plugin marketplace add hermoso-ai/hermoso && claude plugin install hermoso@hermoso (Codex, Gemini CLI și Cursor: câte o comandă fiecare, în configurarea de mai sus) · Claude.ai: lipește https://app.hermoso.ai/mcp la Settings → Connectors · Meta Muse: un singur mesaj în chat îl configurează, vezi Hermoso în Muse. Agenții pot descoperi automat cardul serverului la /.well-known/mcp.json. Este listat și în registrul oficial MCP (io.github.hermoso-ai/hermoso), pe Smithery și pe Glama.
Preferi studioul? Tot ce fac instrumentele există și în aplicația web, la app.hermoso.ai.
Trei lucruri de scris o dată, odată ce e conectat
Acestea sunt propoziții obișnuite, nu un limbaj special. Agentul alege instrumentele; tu aprobi cheltuielile.
- Cercetare. „Care sunt cei trei cei mai apropiați concurenți ai
oatly.comși care sunt reclamele lor Meta cel mai mult timp active? Spune-mi ce cârlig se repetă.” Asta parcurgefind_competitors→pull_competitor_ads→mine_angles. - Creare. „Fă-mi o reclamă UGC video 9:16 pentru brandul meu, folosind cârligul acela, cu fotografia reală a produsului meu și subtitrările arse în video.” Asta parcurge
get_brand→plan_ad→render_ad, și îți returnează URL-ul mp4-ului finit. - Livrare. „Programează-l pe Instagram și TikTok marți la 9:00 și construiește o campanie Meta în pauză în jurul lui, vizând SUA cu $30/zi.” Asta parcurge
schedule_post→create_meta_campaign→create_meta_ad.
Instrumentele, pe sarcini
Toate 922+ instrumente printr-un singur server protejat cu OAuth. Apelează oricare dintre ele din ChatGPT, Claude, Claude Desktop, Codex, Cursor, Cline, OpenClaw, Hermes, Grok Bot sau orice alt client MCP. Fiecare returnează un URL de asset durabil sau un rezultat structurat, nu o proză pe care modelul trebuie să o reanalizeze.
Cauți lista completă? Este în referința instrumentelor, cu schema reală a parametrilor fiecărui instrument și JSON citibil de mașină alături. Referința este generată: se construiește rulând serverul MCP care rulează în producție și citind înapoi tools/list printr-un transport real, deci este exact suprafața pe care o primește clientul tău. Categoriile de mai jos sunt un tur scris de mână al instrumentelor care merită cunoscute după nume. Când cele două diferă, referința este cea de încredere. Documentația completă pentru dezvoltatori: hermoso.ai/docs.
Cercetare și ad spy: find_competitors, competitor_teardown, pull_competitor_ads, research_ads, mine_angles, score_ad, check_ad_policy, analyze_video; biblioteci de reclame search_meta_ads, search_google_ads, search_linkedin_ads; social organic search_tiktok, search_instagram, search_youtube, search_reddit, search_threads, search_threads_keyword; fetch_social_data; manuale creative list_skills, get_skill, save_skill.
Creează reclame finite: brand draft_brand, get_brand, update_brand, use_brand, list_brands; planificare plan_ad, plan_variations; randare render_ad, generate_image, generate_video, generate_avatar, generate_voice, generate_text, make_template_ad (formate de reclamă HTML native, randate direct, deci tipul este exact la pixel), make_explainer, product_sizzle, make_thumbnail; editare și finisare remix_static, recast_motion, reframe_video, upscale_video, dub_video, change_voice, finish_video, fix_beat, post_edit, stitch_video, clip_video; active list_product_photos, set_product_image, list_library, fetch_asset, upload_file.
Publică și programează pe canalele tale: post_to_meta (Facebook / Instagram / Threads), post_to_tiktok, post_to_youtube, schedule_post (o singură coadă pentru Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram și 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 merge dincolo de încărcare: list_youtube_videos, update_youtube_video, set_youtube_thumbnail (pune o miniatură Hermoso pe o încărcare; este cel mai mare factor pentru click-through, iar YouTube altfel alege un cadru la întâmplare) și youtube_video_insights (vizualizări, timp de vizionare, procentul mediu vizionat, abonați câștigați). 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 (text, imagine, video, răspunsuri, postări citate, sondaje și fire întregi; 280 de caractere pe un cont obișnuit și până la 25.000 pe unul cu X Premium, citit din cont și nu presupus, și niciodată tăiat), post_x_article (Article-ul lung al X, scris în Markdown, cu titlurile, listele, citatele, blocurile de cod și tabelele păstrate), edit_x_post (rescrie o postare deja publicată, în intervalul de o oră pe care îl permite X), delete_x_post, x_post_metrics și x_post_insights (impresii, aprecieri, repostări, răspunsuri, citări, salvări), x_post_insights_historical (aceleași cifre ale advertiserilor pe orice interval de date, unde x_post_insights vede doar ultimele 28 de ore), x_mentions. X este singurul connector care facturează credite pe apel API, pentru că X ne taxează pe cerere, iar o postare care conține un link costă cam de 13× cât una fără; agentul tău primește prețul înainte să posteze. LinkedIn: list_linkedin_pages, post_to_linkedin_page, post_to_linkedin, manage_linkedin_post, linkedin_page_analytics (performanța organică a Paginii: urmăritori și câștigul de urmăritori, vizualizările Paginii, și impresiile, clicurile și engagementul postărilor, pentru totalul Paginii sau pe postare). Publicarea pe LinkedIn ține de Paginile de companie pe care le bifezi. Profilul tău personal este disponibil și el, dar rămâne oprit până îl împarți explicit. Pinterest: list_pinterest_boards, create_pinterest_board, post_to_pinterest (Pinuri cu imagine sau video pe un board ales de tine). Threads merge mai departe decât publicarea: list_threads_posts, list_threads_replies, reply_to_thread, hide_thread_reply, delete_thread, list_threads_mentions, threads_insights.
Citește și răspunde la DM-uri. list_inbox pune tot ce i-a spus cineva brandului într-o singură listă: comentarii pe Facebook și Instagram, răspunsuri și mențiuni pe Threads, comentarii pe YouTube și Reddit, recenzii Google, răspunsuri pe Bluesky și mențiuni pe X, plus mesaje directe pe Messenger, Instagram Direct, X, Bluesky și Telegram. reply_to_inbox_item răspunde oricăruia dintre ele după id și îl trimite pe canalul potrivit în locul tău, deci agentul nu trebuie să știe ce instrument de răspuns folosește fiecare platformă. Pe canal, când vrei tot firul și nu doar ultimul rând: 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; și pe WhatsApp send_whatsapp_message, send_whatsapp_broadcast, list_whatsapp_templates, create_whatsapp_template. instagram_profile transformă un @handle de Instagram în id-ul numeric al contului pe care Meta îl cere de fapt. Ce permite fiecare platformă diferă, iar Hermoso îți spune ce regulă ai în față, în loc să afli din refuzul unui răspuns: Meta permite un răspuns în 24 de ore de la mesajul persoanei, iar această fereastră se verifică gratuit înainte de orice trimitere; Telegram este o fereastră glisantă de 24 de ore, nu o cutie de inbox, pentru că Bot API nu publică niciun endpoint de istoric; X păstrează 30 de zile de mesaje directe și facturează per mesaj citit. WhatsApp merită înțeles separat, pentru că a răspunde acolo nu înseamnă un răspuns de inbox: Hermoso trimite pe WhatsApp prin send_whatsapp_message, fie un șablon aprobat de Meta pentru a deschide o conversație, fie un răspuns liber în fereastra de 24 de ore a serviciului clienți a Meta, iar înainte îți cere să confirmi exact textul și exact numărul, pentru că ajunge pe un telefon real, iar Meta facturează businessul pentru conversație. Meta nu publică nici un endpoint de istoric WhatsApp, deci o conversație de dinaintea conectării nu poate fi adusă, indiferent de preț. LinkedIn și Threads nu publică un API de mesaje directe utilizabil, deci nu sunt oferite.
Trimite un mesaj WhatsApp sau difuzează-l către toată lista. send_whatsapp_broadcast trimite un șablon aprobat către o listă de clienți, un segment sau un lansare și completează pentru fiecare persoană valorile proprii {{1}} și {{2}} pe măsură ce merge, așa că o mie de oameni primesc un mesaj care îi numește, nu aceeași trimitere în masă de o mie de ori. Meta nu publică un endpoint în masă, deci este o difuzare dozată, cu un mesaj per destinatar, și rulează ca job în coadă pe care îl interoghezi, nu ca un apel care așteaptă: numerele duplicate se elimină înainte de orice trimitere, un număr pe care Meta nu îl poate folosi este refuzat cu numele în loc să fie scăpat discret, iar fiecare destinatar își poartă propriul rezultat, așa că un eșec parțial este raportat ca eșec parțial și niciodată ca succes. Rulează întâi cu dryRun: asta nu costă nimic, nu trimite nimic și raportează numărul real de destinatari, categoria live a șablonului, ce va factura Meta pentru el și dacă lista încape în limita de mesagerie de 24 de ore a portofoliului tău de business. Meta îți facturează direct mesajele, per mesaj, la tarifele ei pe țară, deci o difuzare nu consumă credite Hermoso. Două reguli de acolo sunt ale Meta, nu ale noastre, și sunt permanente: o difuzare este întotdeauna un șablon aprobat, pentru că textul liber este legal doar în fereastra de 24 de ore care se deschide când persoana îți scrie prima; iar WhatsApp cere ca destinatarul să fi acceptat primirea, ceea ce niciun API nu impune și ce rămâne responsabilitatea businessului.
Un singur calendar de conținut pentru toate canalele: schedule_post pune în coadă o randare finită pe unul sau mai multe canale, la un moment ales, cu legende pe fiecare canal; list_scheduled citește ce este în coadă și ce s-a publicat deja, cu rezultate pe canal; cancel_scheduled retrage o postare înainte să plece. În studio, aceeași coadă este un calendar real, cu vizualizări pe lună, săptămână și listă, trageți o postare ca să o reprogramezi, editezi sau duplici orice intrare și ai intervale orare permanente în care poți pune lucrul. Hermoso publică la momentul stabilit; nu trebuie să rămână nimic deschis.
Rulează campanii de reclame Meta: 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. Obiectele se creează în pauză, iar fiecare cheltuială și fiecare ștergere cere confirmare. Înainte să se angajeze un buget: preview_meta_ad randează reclama reală pe fiecare plasare, ca un link pe care îl poți vedea, iar estimate_meta_reach spune câți oameni ajunge de fapt o specificație de targetare. Audiențe: list_meta_audiences și create_meta_audience construiesc retargeting cu pixel de site, audiențe de engagement de Pagină și Instagram și lookalike-uri, iar crearea uneia nu cheltuie nimic. meta_insights desparte performanța pe vârstă, gen, plasare și țară. Pagina Facebook Ads MCP parcurge fiecare instrument Meta și targetarea pe care o expune.
Rulează campanii Google Ads: 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). Tot arborele se construiește într-o singură operațiune atomică, apoi se citește înapoi de la Google înainte ca agentul să descrie ce a făcut. Dincolo de arbore: create_google_ads_conversion_action și list_google_ads_conversion_actions (ce numără Google drept rezultat; TARGET_CPA, TARGET_ROAS, MAXIMIZE_CONVERSIONS și fiecare campanie Performance Max nu pot fi livrate fără una, așa că Hermoso refuză să le construiască pe un cont care nu are niciuna), create_google_ads_performance_max_campaign (tipul de campanie cross-surface al Google), add_google_ads_assets (sitelinkuri, callout-uri și snippet-uri structurate, create și atașate, pentru că un asset neatașat nu apare nicăieri) și google_ads_keyword_ideas (Keyword Planner: volum de căutare lunar real, competiție și licitații din top-ul paginii, deci cuvintele cheie se aleg din date, nu se ghicesc).
Rulează LinkedIn, Pinterest, Microsoft, X, TikTok, Snapchat, ChatGPT, Apple Search Ads și AppLovin Ads: același model, în pauză implicit și cu confirmare, pe fiecare altă platformă plătită. 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 (transformă numele de țară, regiune și oraș în id-urile de locație Microsoft de care are nevoie o campanie; fără locații, o campanie Microsoft este creată pentru difuzare în toată lumea, ceea ce este implicit la Microsoft, iar citirea de verificare te avertizează tare). Reddit Ads, arborele complet al contului: list_reddit_ads_campaigns, reddit_ads_report, create_reddit_ads_campaign, create_reddit_ads_ad_group, create_reddit_ads_ad, create_reddit_ads_post (o reclamă Reddit promovează o postare, deci creativul este o postare), set_reddit_ads_status, plus planificare gratuită cu search_reddit_ads_targeting, reddit_ads_forecast și reddit_ads_bid_suggestion, urmărirea conversiilor prin list_reddit_ads_pixels și send_reddit_ads_conversions, retargeting și audiențe salvate, formulare de lead și reddit_ads_history. ChatGPT Ads (reclamele care rulează sub un răspuns ChatGPT), prin Advertiser API al OpenAI: 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 are exact un format creativ, un card cu text și imagine, și nu are video, deci agentul va scoate un cadru fix din filmul tău în loc să îți ofere o reclamă video acolo. X Ads, arborele complet de postări promovate, live din august 2026: list_x_ads_accounts, list_x_ads_funding_instruments, x_ads_report, create_x_ads_campaign, create_x_ads_line_item (numele X pentru un grup de reclame), 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. O reclamă X promovează o postare, deci creativul este o postare, aceeași pe care o publică post_to_x. TikTok Ads este o conexiune SEPARATĂ de connectorul de publicare TikTok și este singura platformă care creează obiecte ACTIVATE implicit, deci Hermoso forțează fiecare nivel în PAUZĂ fără excepție: 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. Bugetele sunt în micro-valută (1.000.000 = o unitate), titlul creativului are maximum 34 de caractere, iar o reclamă Snapchat indică un CREATIV, nu un id de media. Trei note de acces utile înainte să planifici un buget: LinkedIn și Pinterest limitează scrierile de reclame după nivelul de API pe care îl are contul tău publicitar. Raportarea și citirile sunt nelimitate, în timp ce crearea campaniilor depinde de accesul acordat contului tău de platformă. Meta, Google Ads, Microsoft Advertising, Reddit Ads și ChatGPT Ads nu au un astfel de nivel. X acordă accesul la Ads API per CONT PUBLICITAR, nu per aplicație, deci în loc de un buton OAuth adaugi utilizatorul X al Hermoso în contul tău publicitar la business.x.com → Account access, iar el apare în list_x_ads_accounts cu nivelul de permisiune pe care i l-a dat X. AppLovin Ads se conectează cu o cheie lipită: applovin_ads_report funcționează pe orice cont cu Reporting Key-ul lui, iar applovin_ads_pixel cu Event Key-ul lui, send_applovin_ads_events cere cheia Conversion API a AppLovin, iar list_applovin_ads_campaigns, create_applovin_ads_campaign, update_applovin_ads_campaign, set_applovin_ads_status, uneltele de seturi de creative și upload_applovin_ads_assets folosesc Campaign Management API al AppLovin, pe care AppLovin îl activează cont cu cont, la fel cum face și pentru cheia Conversion API. Cere echipei tale de cont AppLovin să le activeze, apoi lipește și cheile acelea.
Construiește reclame Apple Search Ads și citește-le până la termenul de căutare: reclame de căutare App Store, cap-coadă. Construiește: 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. Fiecare obiect se creează în pauză, fără excepție, activarea este singurul comutator care pornește cheltuiala reală și cere confirmare, iar fiecare rezumat este construit dintr-o citire a ceea ce a stocat efectiv Apple. Reclamele rulează pe plasarea tab-ul Search; o campanie de rezultate de căutare nu are nevoie de nicio reclamă și de niciun creativ, pentru că Apple randează singur pagina ta de produs din App Store, iar Hermoso îți spune asta gratuit în loc să lase Apple să respingă construcția. Citește: list_apple_ads_campaigns (status, status de difuzare, buget zilnic și total, țările în care rulează și motivul propriu spus de Apple când o campanie nu poate rula), list_apple_ads_ad_groups (licitația implicită și dacă Search Match-ul Apple este activ), list_apple_ads_keywords (cuvintele de targetare și cele negative, cu tipul de potrivire și licitația), apple_ads_report (impresii, atingeri, instalări, cheltuială, TTR, CPT și CPA, la nivel de campanie, grup de reclame, cuvânt cheie, termen de căutare sau reclamă), list_apple_ads_creatives, list_apple_ads_ads, list_apple_ads_assets, list_apple_ads_product_pages (pagina ta de listing din App Store și orice pagini de produs personalizate, cu conținutul lor pe fiecare limbă), search_apple_ads_apps și check_apple_ads_app_eligibility (ce plasări, țări și dispozitive îți poate reclama efectiv aplicația, lucru util de citit înainte să construiești) și list_apple_ads_orgs. Nu există buton OAuth pentru asta, pentru că Apple nu publică un flux OAuth: Hermoso generează cheia de semnare, tu lipești jumătatea ei publică în Apple Ads → Account Settings → API și lipești înapoi trei id-uri. Apple arată acest câmp doar unui utilizator cu un rol de API, deci un Account Admin invită sau trece întâi la unul. Ghidul connectorului Apple Search Ads parcurge tot procesul. Fiecare conexiune este fixată de organizația Apple Ads unică pe care ai ales-o când ai făcut-o.
Raportează și exportă: 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. Clienții potențiali ajung în CRM-ul tău prin MCP-ul HubSpot: sync_leads_to_hubspot trimite clienții potențiali din formularele de lead Meta și LinkedIn ca persoane de contact, iar hubspot_deals_report raportează afacerile pe etapă și sursă.
Memorie, profiluri, skill-uri și echipă: remember, forget, list_memory, store_get; profiluri create_brand, delete_brand, use_brand, list_brands, așa că o agenție poate prelua un client nou și îl poate șterge fără să deschidă aplicația, iar profilurile sunt nelimitate pe fiecare plan; skill-uri, acum o singură bibliotecă ce a absorbit vechiul depozit „AI employees”: save_skill, list_skills, get_skill, delete_skill; echipă invite_member, list_team, set_role, remove_member.
Cont, setări și connectori: hermoso_capabilities (verifică modelele și costurile exacte pe randare; apeleaz-o prima), hermoso_credits, buy_credits, billing_status, upgrade_plan, set_auto_reload, get_job, list_jobs, report_bug, request_feature; setări get_settings, update_settings (limba și aspectul, salvate în cont și nu în browser, ca un client care folosește doar agentul să nu rămână blocat în engleză); connectori list_connectors, list_connector_accounts, set_connector_accounts (alegi exact ce Pagini, conturi publicitare și board-uri pot fi folosite; instrumentul raportează citirea de verificare a serverului, niciodată cererea), disconnect_connector. Conectarea unui cont este un ecran de consimțământ OAuth, deci este singurul pas care mai cere un browser; tot ce vine după el poate fi apelat de agent.