Hermoso is een marketing-MCP-server: 922+ tools via één OAuth-endpoint, waarmee een agent de advertenties kan onderzoeken die al in een markt draaien, afgewerkte beeld- en videoadvertenties kan genereren, ze kan publiceren en de betaalde campagnes erachter kan bouwen. Cursor bereikt dat alles via één verbinding. Deze pagina behandelt één stuk daarvan: wat Cursor echt op Instagram kan doen, en wat Instagram hem niet laat doen.
Hermoso verbinden met Cursor
- Installeren en inloggen.
Je browser opent één keer. Niets aan te maken en niets te plakken: de inloggegevens worden alleen voor de eigenaar opgeslagen innpm install -g hermoso && hermoso auth login~/.hermoso/config.json. Op een machine zonder browser neem je methermoso auth login --token hmk_…een sleutel uit MCP & CLI → Terminal & API-sleutels. - Voeg het toe aan
~/.cursor/mcp.json(of aan de.cursor/mcp.jsonvan het project). Er gaat geen sleutel in het bestand, omdathermoso mcpde inlog hierboven gebruikt:{ "mcpServers": { "hermoso": { "command": "npx", "args": ["-y", "hermoso", "mcp"] } } } - Of gebruik de installatie met één klik vanaf de MCP-pagina. Die deeplink installeert de gehoste URL en laat de authenticatie over aan de OAuth-flow van Cursor. Beide werken, ze hebben alleen andere voorwaarden.
- Vraag Cursor om iets. “Haal de langstlopende advertenties van mijn drie dichtstbijzijnde concurrenten op en zet de beste hook om in een 9:16-video,” of “plaats deze render op het kanaal.” De agent kiest de tools; jij keurt de uitgaven goed.
Het blok hierboven draait het gepubliceerde hermoso npm-pakket op je eigen machine. Daarom wordt er niets geplakt, en kost de toollijst niets zolang er geen tool wordt aangeroepen. Gebruik je de deeplink, dan doet Cursor een dynamische clientregistratie bij onze autorisatieserver, en heb je ook dan nooit zelf een sleutel.
Koppel daarna Instagram zelf, één keer, onder Instellingen → Connectors in Hermoso. Dat is een OAuth-toestemmingsscherm, dus het is de ene stap die een browser nodig heeft. Alles daarna is een toolaanroep.
De Instagram-tools die Cursor krijgt
post_to_meta: publiceert naar Instagram mettarget: "instagram". Instagram is een visueel kanaal en de API is het daarmee eens: een post heeft een afbeelding of een video nodig.schedule_post: zet hem in de gedeelde kalender, met een caption per kanaal als de tekst moet afwijken van je Facebook- of LinkedIn-versie.list_meta_comments / reply_to_meta_comment / moderate_meta_comment: lezen, antwoorden en modereren onder een post.meta_page_insights / meta_post_insights: bereik, vertoningen, opslaan en betrokkenheid, per account en per post.search_instagram: zoekt op trefwoord door openbare Instagram Reels, voor onderzoek en niet voor publicatie.
Twee Instagram-feiten om te weten voordat je iets automatiseert. In de API van Meta is er geen native Instagram-inplanning, dus een planning is de wachtrij van Hermoso en niet die van Instagram, en het doorgeven van Facebooks scheduleAt voor Instagram wordt geweigerd in plaats van stilletjes nu te posten. En een Instagram-caption kan niet worden bewerkt zodra de post live is: het enige wat Meta op een gepubliceerde post laat wijzigen, is of reacties aanstaan. Verwijderen kan wel: manage_meta_post verwijdert gewone posts, Stories, Reels en hele carrouselalbums, maar nooit één kaart uit een album.
Instagram-limieten om te weten voordat je iets automatiseert
| Tekst | Een Instagram-caption is beperkt tot 2.200 tekens. Die wordt afgedwongen bij het aanmaken of in de wachtrij zetten, dus een te lange post wordt geweigerd terwijl jij nog aanwezig bent om hem te repareren, in plaats van stilletjes ingekort te worden op weg naar buiten. |
|---|---|
| Zichtbaarheid | Alleen openbaar. De Content Publishing API van Meta publiceert direct of helemaal niet, en Instagram “heeft geen niet-vermelde, privé- of conceptpost.” Wil je een controlestap op Instagram, dan moet die vóór de aanroep gebeuren, niet erna. |
| Carrousel | 2 tot 10 dia's, en afbeeldingen en video mogen worden gemengd. Die bovengrens is van Meta zelf, geciteerd uit de capaciteitstabel die het afdwingt: “Carrousels zijn beperkt tot 10 afbeeldingen, video's of een mix van beide.” De ondergrens van 2 is van ons, want één dia is op geen enkel platform een carrousel. Een verzoek voor één dia wordt gepubliceerd als gewone post in plaats van geweigerd. |
| Welk account | pageId. Instagram publiceert via de verbonden Facebook-pagina, dus hetzelfde identiteitsveld kiest hem. |
Probeer het in Cursor
Vraag er in gewone taal om. Dit zijn gewone zinnen, geen DSL:
“Neem de zes exports in ./public/social, publiceer ze als carrousel naar Instagram in die volgorde, en voeg de permalink toe aan de lanceringschecklist.”
Dat loopt via search_instagram → plan_ad → render_ad → post_to_meta (target: "instagram"). Cursor toont elke toolaanroep in de composer voordat hij loopt, dus publiceren is een klik en geen bijeffect.
Cursor op Instagram: het deel dat pijn doet
De volgorde is in een carrousel het product, en het is het ding dat een editor makkelijk goed maakt. De bestanden staan voor je, en Hermoso behoudt de volgorde die je meegeeft precies. Alleen exacte herhalingen worden ontdubbeld. Tien slides is het maximum van Meta, niet van ons. Houd er rekening mee dat een Instagram-bijschrift niet meer bewerkt kan worden zodra het live staat, dus de controle gebeurt in de composer. De post zelf kan nog steeds worden verwijderd met manage_meta_post als een render verkeerd blijkt.
Zet de configuratie in de .cursor/mcp.json van het project in plaats van in de thuismap als een repo altijd met één merk moet werken. hermoso auth login legt anders de werkruimte vast.
Onderzoek Instagram voordat je post
search_meta_ads dekt Instagram-plaatsingen net zo goed als Facebook, omdat het één bibliotheek is. Voor organisch werk zoekt search_instagram openbare Reels op trefwoord, het oppervlak waar het formaat echt beweegt; profiel- en hashtag-pulls lopen via fetch_social_data en search_instagram_hashtag.
Het betaalde deel
Instagram-plaatsingen worden gekocht via dezelfde Meta-campagnestructuur als Facebook: create_meta_campaign → create_meta_adset → create_meta_ad, met plaatsingen die per platform en positie te kiezen zijn. preview_meta_ad toont de echte gerenderde advertentie per plaatsing voordat je uitgeeft, en meta_insights splitst de resultaten uit naar leeftijd, geslacht, plaatsing en land. Die uitsplitsing bepaalt het volgende creatief.
Wat Cursor niet zelfstandig kan
Een agent met een budget is alleen nuttig als de impact begrensd is, dus het hek zit in de server en niet in een prompt. Elke advertentiecampagne, adset, advertentiegroep en advertentie wordt gepauzeerd aangemaakt, en de statusschakelaars die echt geld in beweging zetten, weigeren te draaien zonder een uitdrukkelijke bevestigingsvlag. Elke render wordt vooraf geprijsd (hermoso_capabilities publiceert de exacte creditkosten van elk model voordat er iets wordt uitgegeven). Credits worden gereserveerd vóór de eerste aanroep naar de provider en daarna afgerekend op de exacte kosten, zodat een mislukte verzending wordt terugbetaald in plaats van dat je voor niets betaalt. Verwijderingen zijn ook bevestigingsbeveiligd, en elke campagnestructuur wordt teruggelezen uit het advertentieplatform voordat je agent vertelt wat hij heeft gebouwd.
Eén stap is bewust niet headless: een account koppelen is een OAuth-toestemmingsscherm, dus je koppelt het kanaal één keer in een browser. Alles daarna is een toolaanroep.
De rest van de matrix
Vanuit Cursor publiceren naar: Facebook · Threads · TikTok · YouTube · X · LinkedIn · Pinterest · Bluesky · Telegram. Of bekijk alles waarnaar Cursor kan publiceren.
Publiceren naar Instagram vanuit: Claude · ChatGPT · Claude Code · Codex · Cline · OpenClaw · Grok Bot · Hermes · Gemini CLI · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip
Veelgestelde vragen
Kan Cursor naar Instagram posten?
Ja, via de MCP-server van Hermoso. Voer npm install -g hermoso && hermoso auth login uit en wijs daarna ~/.cursor/mcp.json naar npx -y hermoso mcp. Het inloggen in de browser slaat de inloggegevens op, dus er gaat geen sleutel in het bestand. Cursor heeft daarna 922+ tools, inclusief de tools die naar Instagram publiceren, plus de tools die de advertenties onderzoeken die al in je markt lopen en de creatives maken.
Hoe koppel ik Instagram aan Cursor?
Twee stappen, elk één keer. Voer npm install -g hermoso && hermoso auth login uit en wijs daarna ~/.cursor/mcp.json naar npx -y hermoso mcp. Het inloggen in de browser slaat de inloggegevens op, dus er gaat geen sleutel in het bestand. Koppel daarna Instagram in Hermoso onder Instellingen → Connectors. Dat is een OAuth-toestemmingsscherm in een browser. Daarna publiceert Cursor naar Instagram als een gewone toolaanroep.
Wat is de Instagram-captionlimiet bij posten vanuit Cursor?
Een Instagram-caption is beperkt tot 2.200 tekens, en de limiet wordt afgedwongen bij het in de wachtrij zetten en niet op het moment van verzending. Hermoso dwingt hem af bij het maken of in de wachtrij zetten, dus Cursor hoort het meteen in plaats van later te falen wanneer niemand meekijkt.
Kan Cursor naast posten ook Instagram-advertenties draaien?
Ja, via de Meta-campagneboom. Instagram-plaatsingen worden gekozen binnen een Meta-advertentieset. preview_meta_ad toont de echte advertentie per plaatsing voordat je geld uitgeeft.
Kan Cursor privé of als concept naar Instagram posten?
Nee. De Content Publishing API van Instagram publiceert of doet niets. Er is geen niet-vermelde, privé- of concept-post. Een gepubliceerde caption kan ook niet meer worden bewerkt; het enige wat Meta op een live post laat wijzigen, is of reacties aan staan. Een post verwijderen wordt ondersteund, en dat geldt voor gewone posts, Stories, Reels en hele carrouselalbums. Hermoso weigert een zichtbaarheid die Instagram op het moment dat je erom vraagt niet kan honoreren, in plaats van stilletjes iets zwakkers te publiceren.
Kan Cursor Instagram onderzoeken voordat er gepost wordt?
Ja. search_meta_ads dekt Instagram-plaatsingen in de Meta-advertentiebibliotheek, en search_instagram zoekt publieke Reels op trefwoord.
Begin gratis met 30 credits bij aanmelding en verdien er 250+ bij. Elke functie zit in elk abonnement.
Gratis starten → Bekijk prijzen