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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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.