MCP (streamable HTTP) · Instagram

Draft Instagram launch posts from Cursor without leaving the editor

You finish a feature in Cursor, and the last thing you want is to open three apps to announce it. With SocialHandoff connected over MCP, Cursor can write the Instagram caption from the pull request you just merged, upload a screenshot from the build, and create a draft. Instagram needs media on every post, so the upload happens before the draft is created. Then the post waits for a person in the inbox, where the caption and image are reviewed together.

Prompt

We just merged the onboarding redesign. Take the screenshot at public/launch/onboarding.jpg, upload it with alt text, and create an Instagram draft that explains the change in 3 sentences for people who use the app, not developers. Add 3 hashtags.

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 Cursor scoped to Instagram with draft and schedule permission.
  2. Add the server to mcp.json Create .cursor/mcp.json in the repository with a url of https://app.socialhandoff.com/mcp and an Authorization header carrying the key. Cursor lists the tools under MCP in its settings once it connects.
  3. Attach media from the workspace Cursor 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 Ask Cursor in agent mode. It writes the caption from the merged diff and the PR description, then calls attach_media with the image and draft_post with its id.
  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

Getting started just got shorter. The new onboarding asks 3 questions instead of 9, remembers where you left off, and drops you into a sample project so you can see how it works before adding your own.

Update the app to try it.

#productdesign #onboarding #appupdate

[Image: onboarding.jpg, a phone screen showing the 3-question setup, alt text included]

Gotchas

  • Only professional accounts (Business or Creator) can connect. A personal account is refused at connect time with instructions to switch.
  • Base64 data for attach_media is capped at 8 MB. For a larger video, Cursor has to upload from its terminal; if the key lives only in your shell profile, make sure that terminal loads it, or the upload returns 401.
  • Instagram refuses text-only posts. A draft can be saved as text first, but approving or scheduling it is refused with a clear error until an image or video is attached.
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

Can I post Reels?
Yes. Attach an MP4 or MOV video and it publishes as a Reel with your caption.
Should mcp.json go in the repository?
Only without the key. Keep the key in an environment variable or in the global ~/.cursor/mcp.json so it never gets committed.
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.

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