MCP (streamable HTTP)

Let Windsurf Cascade draft your social posts, with you approving

Cascade, the agent in Windsurf, can call tools from MCP servers listed in mcp_config.json. Add SocialHandoff there and Cascade can draft and preview posts about the code you ship, without being able to publish on its own.

How to do it

  1. Make a key for Windsurf In https://app.socialhandoff.com, open Connections, add an agent called Windsurf, and give it draft permission on selected networks.
  2. Open the MCP config In Windsurf, open the Cascade panel, choose the MCP servers or plugins menu, and click to view the raw config. The file is ~/.codeium/windsurf/mcp_config.json.
  3. Add a remote server Paste the entry below. Windsurf uses serverUrl for streamable HTTP servers and accepts a headers object.
  4. Refresh the server list Save the file and press refresh in the MCP panel. The SocialHandoff tools should appear, each with its own toggle.
  5. Run a draft Ask Cascade for a post about your latest change, then approve or edit it in the SocialHandoff inbox.
{
  "mcpServers": {
    "social": {
      "serverUrl": "https://app.socialhandoff.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_AGENT_KEY"
      }
    }
  }
}

What Cascade can do with SocialHandoff

Cascade plans multi-step work. When you ask for a launch post, it can read your changelog, call get_brand_memory for your voice rules, call draft_post once per network, and finish with preview_posts so you see the checks inline. Each call appears in the Cascade timeline. None of them publish.

Keep secrets out of the file

Windsurf supports environment variable interpolation in serverUrl and headers using its env: syntax. Put the key in an environment variable and reference it from the header value so the raw key never sits in mcp_config.json. Check the Windsurf MCP docs for the exact syntax your version expects, then restart Windsurf after changing the environment.

Prompts for Cascade

  • "Look at the files changed today. Draft a short X post and a longer LinkedIn post for users, with a docs link. Draft only."
  • "Plan a week of Mastodon posts from the open issues labeled good first issue, inviting contributors."
  • "Show me pending Bluesky drafts and fix any over 300 graphemes."
  • "Read brand memory and tell me which banned topics my draft touches."

Tool limits

Windsurf caps the total number of MCP tools Cascade can use at once. SocialHandoff exposes 11 tools. If you run several servers and hit the cap, turn off the ones you do not need for writing posts, such as get_insights, from the per-tool toggles in the MCP panel.

Permissions

Start with draft. Windsurf may run several tool calls in a row, so a per-account daily limit guardrail is a good backstop against a loop that drafts 40 posts. Promotion to auto-publish is per network and can be reversed; any guardrail failure demotes the agent immediately.

Troubleshooting

  • Server missing after edit: press refresh in the MCP panel; Windsurf does not always reload automatically.
  • Connection fails: make sure you used serverUrl for the remote entry and the URL ends in /mcp.
  • 401: header value must be Bearer plus a space plus the key.
  • Admin disabled MCP: team plans can turn MCP off or allowlist servers. Ask your admin to allow the SocialHandoff endpoint.

Per-network setup: Windsurf for X, Windsurf for LinkedIn, Windsurf for Bluesky, Windsurf for Mastodon, and Windsurf for Threads.

Frequently asked questions

Where is the Windsurf MCP config file?
On macOS and Linux it is ~/.codeium/windsurf/mcp_config.json. On Windows it is under %USERPROFILE%.codeium\windsurf. You can also open it from the MCP panel in Cascade.
Should I use serverUrl or a command entry?
Use serverUrl for the hosted endpoint. A command entry with npx and socialhandoff-mcp also works if you prefer the stdio server running locally.
Can Cascade approve posts?
No. Agent keys cannot approve their own drafts. Approval happens in the SocialHandoff inbox or with an owner key.

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