MCP (streamable HTTP)

Write launch posts inside Cursor and approve them before they publish

Cursor's agent can call MCP tools while it works on your code. Add SocialHandoff in .cursor/mcp.json and the agent can draft the post that goes with the feature it just helped you build, then leave it in your approval inbox.

How to do it

  1. Create a Cursor agent key In https://app.socialhandoff.com, open Connections and add an agent named Cursor. Choose its networks and keep it on draft permission.
  2. Pick project or global config Create .cursor/mcp.json in the project root for one repository, or ~/.cursor/mcp.json to use the server in every project.
  3. Paste the server entry Add the mcpServers block below with the url and the Authorization header, then replace YOUR_AGENT_KEY.
  4. Enable it in settings Open Cursor Settings, then the MCP or Tools section. The server should show a green status and list its tools. Toggle it on if needed.
  5. Prompt the agent In the agent chat, ask for a draft about the change you just made. Review it in the SocialHandoff inbox.
{
  "mcpServers": {
    "social": {
      "url": "https://app.socialhandoff.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_AGENT_KEY"
      }
    }
  }
}

How the Cursor agent uses SocialHandoff

Cursor reads .cursor/mcp.json, connects to the remote endpoint over streamable HTTP, and exposes the SocialHandoff tools to its agent. From there the agent can decide to call a tool mid-task, the same way it calls a terminal command. You will see each tool call in the chat and can approve or skip it before it runs.

Cursor is a natural place to write developer-facing posts because the context is already open: the diff, the test that proves the fix, the docs page you edited. A draft written from that context is specific, and a specific post is easier to approve.

Prompts that suit Cursor

  • "Summarize the changes in this branch for users. Draft an X post and a Bluesky post, each under the network limit, and link the docs page I edited."
  • "Draft a LinkedIn post announcing the new CLI flag. Use brand memory for tone. Save it as a draft only."
  • "Before I merge, list pending posts that mention the old flag name so I can update them."
  • "Preview the pending Mastodon thread and fix any part over 500 characters."

The agent calls get_brand_memory, draft_post, list_posts, and preview_posts for these.

Keep the key out of git

A project-level .cursor/mcp.json is easy to commit by accident. Add it to .gitignore, or keep a copy with a placeholder in the repo and the real key only in your global file. If a key does leak, revoke it in Connections; the old one stops working at once because only its hash was stored.

Permissions and trust

Draft-only is the right start. Cursor can make many tool calls in one run, and a per-account daily limit guardrail caps how many a single agent can queue. When the drafts are consistently clean, promote Cursor on the network where you post most, not all of them at once.

Troubleshooting

  • Red status dot: the JSON has a trailing comma or the URL is missing /mcp.
  • Tools listed but calls fail with 401: the header name must be exactly Authorization with the value Bearer followed by the key.
  • Agent never calls the tools: mention the server by name in the prompt, for example "use the social tools".
  • Too many tools enabled: Cursor limits how many tools it sends to the model. Turn off servers you are not using.

Step-by-step per network: Cursor for X, Cursor for LinkedIn, Cursor for Bluesky, Cursor for Mastodon, and Cursor for Threads.

Frequently asked questions

Where does Cursor look for MCP servers?
In .cursor/mcp.json in the project root and in ~/.cursor/mcp.json for global servers. Both use the mcpServers key.
Does Cursor need Node.js for SocialHandoff?
Not with the remote url entry shown here, because the server runs in SocialHandoff. Node.js is only needed if you choose the stdio form with npx.
Can the Cursor agent publish posts?
It can draft and, with permission, schedule. It cannot approve its own draft, so a person still signs off in the inbox.

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