MCP (streamable HTTP) · Threads

Draft and schedule Threads posts from VS Code

Teams that plan launches in the same repository as their code can draft social copy there too. In VS Code, Copilot's agent mode can read a launch brief in markdown and draft the Threads post through SocialHandoff's MCP tools. The draft stays under 500 characters and waits in the inbox, where marketing or a founder approves it. Reply-chain threads and carousels are supported, and approval is always a human step.

Prompt

Read launch/brief.md and draft a Threads post for Thursday's launch of our team calendar feature. Audience is small agency owners. Under 400 characters, one clear benefit, no emoji. Use schedule_post for Thursday 9am America/New_York.

How to do it

  1. Mint a Threads agent key In https://app.socialhandoff.com, open Connections, connect your Threads account, then create an agent key scoped to Threads with draft permission only. Copy the key when it is shown; only its hash is stored.
  2. Create .vscode/mcp.json Add a server of type http with url https://app.socialhandoff.com/mcp. Use an input variable for the Threads key so VS Code prompts for it once and stores it securely.
  3. Start the server Open the MCP server list from the Command Palette and start it. Copilot Chat in agent mode now shows the tools.
  4. Ask in agent mode Switch Copilot Chat to agent mode and ask for the Threads draft. Confirm the draft_post call when prompted; the post then waits in the approval inbox.

Example draft

Your team calendar now lives in the same place as your projects. See who is out, which deadlines overlap, and which client work is at risk, all in one view, without another tool to update. It is live today for every workspace.

Gotchas

  • Threads allows 250 posts per account in any 24 hours. The quota is checked before each publish, so a post that would go over it is stopped before it is sent rather than failing at the network.
  • Threads fetches images and video from your instance at signed, expiring URLs, so you do not need a separate public media host. The API itself must be reachable over public HTTPS; an instance that only runs on localhost cannot publish media to Threads.
  • Keep each Threads post within 500 characters, and remember that Threads counts emoji by their UTF-8 bytes, so a few emoji use more of the limit than they appear to. The per-network length guardrail flags longer drafts before they reach the inbox.
  • VS Code only calls MCP tools from agent mode. In ask or edit mode, Copilot Chat will describe a Threads post but never call draft_post.
Threads
  • Character limit: 500 characters per post. Emoji count as their UTF-8 bytes, so an emoji can use up to 4 characters of the limit.
  • Links: Up to 5 links per post. Threads generates a preview for the first one.
  • Carousels: 2 to 20 images or videos in one carousel post.
  • Image files: JPEG or PNG, up to 8 MB. Threads fetches each file from a URL at publish time.
Threads scheduler for agent drafts you approve first

Frequently asked questions

Does this need GitHub Copilot?
The MCP tools run inside Copilot Chat's agent mode in VS Code, so you need Copilot enabled. Any extension that speaks MCP, such as Cline, works too.
Can VS Code attach a screenshot to a Threads post?
Yes. Upload the image and SocialHandoff serves it to Threads at a signed, expiring URL, with alt text if you add it. The instance must be reachable over public HTTPS so Threads can fetch the file.
Can I post videos to Threads?
Yes. Threads takes a single video, or mixes videos and images in a carousel of 2 to 20 items. SocialHandoff serves the file at a signed URL, so the only requirement is that your API is reachable over public HTTPS.

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