Prompt
Read events/2025-hackathon/README.md and the photos in that folder. Write a Facebook Page recap: winners, number of teams, a thank-you to sponsors. Upload the 4 best photos with alt text and create the Facebook draft with them. 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 Windsurf scoped to Facebook 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 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 Give Cascade the prompt. It reads the notes, chooses photos, and creates the draft with the uploaded ids.
- 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
That is a wrap on the autumn hackathon. 23 teams, 48 hours, and a lot of pizza. Congratulations to Team Lantern, who built an offline map for hikers, and to the runners-up, Team Ledger. Thank you to our sponsors for the venue, the prizes, and the coffee. See you in spring. [4 photos from the event folder, each with alt text]
Gotchas
- Facebook Page tokens do not expire, but removing the app's access in Facebook disconnects the Page. Reconnect it in Connections.
- Windsurf uses serverUrl, not url, for HTTP servers. The wrong key leaves the tools missing from Cascade with no error.
- 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.
- 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
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.
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.
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.