Prompt
We deploy the new mobile checkout tonight. Write a Facebook Page post for customers: what changes, that saved cards carry over, and that checkout will be down from 23:00 to 23:30. Draft for Facebook and schedule it for 17:00 today. How to do it
- Connect Facebook and mint a key In https://app.socialhandoff.com, open Connections, sign in with Facebook and pick the Pages to connect; each Page becomes its own channel. Then create an agent key named Cursor scoped to Facebook 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 photos (up to 10, each with alt text) or one video: 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 calls draft_post with networks set to facebook and schedule_post for the time you named.
- Approve for the right Page The card shows which Page the post goes to. Approve on desktop or in the phone swipe stack, and it publishes to that Page at the scheduled time.
Example draft
Tonight we are updating checkout on our mobile app. You will see a shorter, 2-step checkout with Apple Pay and Google Pay. Your saved cards and addresses carry over, so there is nothing to set up again. Checkout will be unavailable from 23:00 to 23:30 while we switch over. Thanks for your patience.
Gotchas
- Only Facebook Pages can be connected, not personal profiles. Every Page you grant at sign-in becomes its own channel, so check which Page the card names before approving.
- 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.
- A Page post can carry up to 10 photos or one video, not both. Each photo should have alt text, or the missing-alt-text guardrail flags it.
- Where you can post: Facebook Pages only. The API does not allow posting to personal profiles or to Groups through SocialHandoff.
- Page access: You need a role on the Page that allows creating content.
- Photos: One photo with alt text, or up to 10 photos in one post.
- Video: One video per post.
Frequently asked questions
Why can only testers post at first?
Meta requires App Review and Business Verification before your own developer app can post for people outside its tester list. Until then, add people under App Roles.
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.
Can one agent post to several Pages?
Yes. Every Page granted at sign-in connects as its own channel, and a key scoped to Facebook can draft for them. Each post names its Page on the approval card.