MCP (streamable HTTP) · X

Queue X posts from VS Code agent mode

VS Code's agent mode can call MCP tools, which means the assistant that just helped you write a migration can also write the tweet about it. For maintainers who post short technical notes on X, that removes a context switch: the agent reads the workspace, drafts a post grounded in real code, and queues it in SocialHandoff. Nothing goes out until you approve, so you can let the agent write freely and edit the result on your own time.

Prompt

We just merged the PR that adds ESM support to our package. Read package.json and docs/esm.md, then draft one tweet for X telling users they can now import it natively, with a 2-line code example written as plain text. Schedule it for Tuesday 10:00 America/Los_Angeles.

How to do it

  1. Mint a key Create a key in https://app.socialhandoff.com > Connections scoped to X with draft and schedule permissions.
  2. Add .vscode/mcp.json Add a server under servers with type http, url https://app.socialhandoff.com/mcp, and an Authorization header. VS Code can prompt for the key through an input variable so it never sits in the file.
  3. Start the server Open the MCP view or the Start action above the entry, and confirm the tools appear in the agent mode tool picker.
  4. Prompt in agent mode Switch the chat to agent mode, reference the files, and ask for the draft and slot.
  5. Approve Review the pending post in the inbox or on your phone and approve it.

Example draft

Our package now ships native ESM. No more require shims:

import { parse } from "tinyparse"
parse(input, { strict: true })

CommonJS still works. Docs: https://example.com/docs/esm

Gotchas

  • Code in a tweet is plain text. X does not render monospace, and the URL still counts as 23 characters, so keep examples to one or two lines.
  • Use a VS Code input variable for the Authorization header so the key is stored in the editor's secret storage and not committed with .vscode/mcp.json.
  • Agent mode may bundle several tool calls. If it creates two drafts for one request, reject the extra in the inbox; duplicate protection stops identical text from publishing twice.
X
  • Character limit: 280 weighted characters for standard accounts. Most CJK characters and many emoji count as 2. Premium accounts can post longer, but SocialHandoff checks against 280.
  • Links: Every URL is wrapped by t.co and counts as 23 characters, whatever its real length.
  • Media per post: Up to 4 images, or 1 GIF, or 1 video.
  • File sizes: Images up to 5 MB, GIFs up to 15 MB, video up to 512 MB (uploaded in chunks).
Schedule tweets and X threads with a human approval step

Frequently asked questions

Do I need GitHub Copilot?
You need a VS Code chat agent that supports MCP tools, which today is agent mode. The server itself is a standard MCP server.
Can the agent read my X analytics?
Only if the key has the analytics permission. Then get_insights returns per-post metrics where X provides them.

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