MCP (streamable HTTP) via MCPServerAdapter · X

A CrewAI crew for X, with the final say kept human

CrewAI splits work across roles: a researcher, a writer, an editor. That mirrors how a real content team works, except that none of the roles should hold the publish button. With the SocialHandoff MCP tools loaded through MCPServerAdapter, only the last agent in the crew calls draft_post. Everything the crew produces arrives in one inbox, and you act as the editor-in-chief who approves or sends it back.

Prompt

Task for the Social Writer agent: using the Researcher's notes on our new pricing page test, write one X post that shares what we learned, including the percentage change. Hand it to the Editor. Task for the Editor: check facts against the notes, trim to under 250 characters, then call draft_post for X.

How to do it

  1. Mint one key per crew Create a CrewAI key scoped to X with the draft permission. One key per crew keeps the audit trail readable.
  2. Load the tools Use MCPServerAdapter from crewai-tools with a streamable HTTP server config pointing at https://app.socialhandoff.com/mcp and your bearer header.
  3. Give tools to one agent Attach draft_post and preview_posts only to the Editor agent. Researcher and Writer get no posting tools.
  4. Run the crew Kick off the crew. The Editor calls draft_post once the text passes its checks.
  5. Approve Review the pending post in the inbox and approve, edit, or reject.

Example draft

We tested a pricing page that shows the annual price first. Trial starts went down 4%. Paid conversions went up 11%. Fewer, better sign-ups. We are keeping it.

Gotchas

  • If every agent in the crew has draft_post, you get several drafts per run. Give it to one role.
  • Numbers in the post should come from the notes, not the model. Ask the Editor to quote the source line, and reject drafts that cannot.
  • X's weighted count treats some characters as 2. Let the preview card be the final check on length.
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

Can the crew schedule posts?
Yes, if the key has the schedule permission. schedule_post sets a timezone-correct slot; the post still waits for approval unless the key was promoted.
Can I use REST instead of MCP?
Yes. Wrap POST https://app.socialhandoff.com/v1/posts in a custom CrewAI tool with body, networks, and mode submit.

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