Prompt
Look at design/exports/brand-refresh. Upload the 5 JPEGs in filename order with short alt text for each, then draft an Instagram carousel caption explaining the refresh: why we changed the logo, the new color, and the new type. Keep it under 900 characters. How to do it
- Connect Instagram and mint a key In https://app.socialhandoff.com, open Connections, connect an Instagram professional account (Business or Creator). Then create an agent key named Windsurf scoped to Instagram with draft and schedule permission.
- Add the server to Cascade Open the raw MCP config from the Cascade panel (~/.codeium/windsurf/mcp_config.json) and add an entry with serverUrl set to https://app.socialhandoff.com/mcp and a headers object with the bearer key.
- Attach media from the workspace Windsurf calls attach_media for the JPEG image, Reel, or carousel (up to 10 items): a public url, or the file as base64 data (up to 8 MB) with its mime type and alt text. Larger files go to POST https://app.socialhandoff.com/v1/media as multipart. The ids go into draft_post as mediaIds.
- Ask for the draft Give Cascade the prompt. It lists the files, writes alt text for each, and drafts the caption for your review.
- Review and approve Check the caption, hashtag count, and alt text on the approval card. On approval, the post publishes; if Instagram's daily quota is full, it is deferred by an hour.
Example draft
We refreshed our look. Swipe to see what changed and why: 1. The logo drops the outline so it reads at small sizes 2. One primary color instead of four 3. A new typeface built for screens 4. Icons redrawn on the same grid 5. The result, side by side with the old one Same product, easier to recognize. #branding #design #rebrand [Carousel: 5 JPEG slides from design/exports/brand-refresh, alt text on each]
Gotchas
- Carousels take up to 10 items. If the export folder has more, ask Cascade to pick the strongest 10 rather than splitting them into two posts that publish back to back.
- Images must be JPEG (up to 8 MB). A PNG screenshot is not accepted, so convert it before upload.
- Windsurf uses serverUrl, not url, for HTTP servers. The wrong key leaves the tools missing from Cascade with no error.
- Captions allow 2,200 characters, 30 hashtags, and 20 mentions. A thread is joined into one caption, so a 5-part draft becomes one long caption.
- Account type: Professional accounts only (Business or Creator). Personal accounts cannot publish through the API.
- Media: Every post needs an image or video. Text-only posts are not possible on Instagram.
- Image files: JPEG only, up to 8 MB. Convert PNG or WebP before posting.
- Reels: Video posts publish as Reels, from MP4 or MOV files.
Frequently asked questions
Does it work with a personal Instagram account?
No. Instagram only allows publishing through its API for professional accounts, Business or Creator. Switching is free in the Instagram app settings.
Does Windsurf need a restart after editing mcp_config.json?
Refresh the MCP servers list in Cascade. If the tools do not show, restart Windsurf.
Can I post Reels?
Yes. Attach an MP4 or MOV video and it publishes as a Reel with your caption.