MCP (streamable HTTP) · Instagram

Draft Instagram posts from Windsurf Cascade

Cascade is good at reading a whole project and summarizing it, which is most of the work in an Instagram caption about what you built. Connect SocialHandoff and Cascade can turn a folder of design exports into a carousel draft: upload the JPEGs, write a caption that walks through them, and save it for approval. Instagram will not take a post without media, so the upload is part of the job, and the inbox is where someone checks the order of the slides.

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

  1. 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.
  2. 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.
  3. 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.
  4. Ask for the draft Give Cascade the prompt. It lists the files, writes alt text for each, and drafts the caption for your review.
  5. 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.
Instagram
  • 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.
Schedule Instagram posts and Reels your agents draft

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.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial