Prompt
In media/bts, find the clip of the team whiteboarding the new pricing page. Write a TikTok caption in a casual behind-the-scenes tone, 3 hashtags, and create the TikTok draft with the uploaded video. How to do it
- Connect TikTok and mint a key In https://app.socialhandoff.com, open Connections, connect TikTok, then open TikTok settings on the account and choose visibility, comment/duet/stitch, and commercial disclosure. Then create an agent key named Windsurf scoped to TikTok 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 the video or up to 35 photos: 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 lists the folder, picks the clip, writes the caption, and runs the upload after you confirm.
- Approve with the consent text The approval screen shows the visibility and interaction settings chosen in Connections and TikTok's consent text. Approve, and it publishes; a video is sent to TikTok in chunks.
Example draft
How a pricing page actually gets made: 3 people, 1 whiteboard, and 40 minutes arguing about the word "unlimited". #behindthescenes #startuplife #saas [Video: whiteboard clip from media/bts, 34 seconds, vertical]
Gotchas
- Until TikTok audits your developer app, every post is private (visible only to the account), the posting account must be private, and only 5 accounts can post per day.
- Windsurf uses serverUrl, not url, for HTTP servers. The wrong key leaves the tools missing from Cascade with no error.
- Visibility has no default. Posts are refused until the owner picks it in TikTok settings under Connections, along with comment, duet, and stitch.
- Media: Every post needs one video or up to 35 photos. Text-only posts are not possible.
- Video upload: Videos upload in chunks of 5 to 64 MB; smaller files go in one piece. Maximum duration depends on the creator account.
- Photo posts: Up to 35 JPEG or WebP images, a title up to 90 characters, and a description up to 4,000 characters.
- Required choices: TikTok requires a visibility setting with no default, comment/duet/stitch toggles, and a commercial content disclosure.
Frequently asked questions
Where do I choose who can see the video?
In Connections, TikTok settings reads the creator's live options and asks for visibility, comment, duet, stitch, and commercial content disclosure. Those choices apply to every post from that account.
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.
What does the reviewer see before approving?
The approval screen shows the caption, the media, the account's chosen settings, and TikTok's consent text, so the person approving knows exactly what will be posted.