Prompt
I just finished docs/guides/webhooks.md. Write one X post that promises a specific outcome from reading it, under 220 characters plus the link. Use draft_post for X, then call preview_posts so I can see the card. How to do it
- Mint a key Create a Cline key in Connections, scoped to X, with the draft permission.
- Open MCP Servers In the Cline panel, open MCP Servers and edit cline_mcp_settings.json.
- Add the server Add a stdio entry running npx -y socialhandoff-mcp with your URL and key as arguments, or a remote entry pointing at https://app.socialhandoff.com/mcp with a bearer header.
- Approve the tool call in Cline Cline shows the draft_post arguments before running it. Check the text there, then allow it.
- Approve the post The draft appears in the inbox as pending. Approve it there to publish.
Example draft
Webhooks that fail quietly are worse than no webhooks. Our new guide shows how to verify signatures, retry safely, and replay a missed event in under 10 minutes: https://example.com/guides/webhooks
Gotchas
- Cline's auto-approve setting only covers the tool call in the editor. It does not approve the post; that still happens in the inbox.
- X counts the link as 23 characters, so the prompt's 220 plus the link fits comfortably. Blocked link shorteners fail the guardrail, so use the full URL.
- Cline can loop on a failing tool call. If draft_post returns a guardrail error, read the message rather than letting it retry the same text.
- 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).
Frequently asked questions
Which model does Cline use to write the tweet?
Whichever model you configured in Cline. The MCP server does not call a model for draft_post; it stores the text you send.
Can Cline see posts that other agents drafted?
list_posts returns posts visible to the key. Scope keys by network to keep agents to their own lane.