Check a post before sending it
preview_postDry run: what would happen if you sent this post, without saving or posting anything. Returns ok (would it go out), problems (fix these first) and warnings, character counts per network and part the way each network counts (X: links 23, emoji/CJK 2; Bluesky: graphemes), X units it would use vs what's left this month, media checks per network (counts, video, missing alt text), which connected account each network would post as, and guardrails (this connection's daily limit, same text posted recently, blocked terms that would hold it for approval).
Takes the same arguments as create_post. Call it before a create_post / schedule_post / queue_post you're unsure about.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"content": "<content>",
"platforms": "<platforms>"
},
"name": "preview_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| poll | No | Poll, as on create_post. | |
| content | Yes | The post text. | |
| accounts | No | Optional. Which account per network when a platform has several, e.g. {"twitter": "@handle"}. See create_post. | |
| segments | No | Thread reply segments, as on create_post. | |
| variants | No | Optional. A different version per network, e.g. {"linkedin": {"content": "..."}}; what it leaves out comes from the main post. See create_post. | |
| platforms | Yes | Networks it would go to. | |
| video_url | No | Optional video URL. | |
| media_urls | No | Media it would carry: URLs or {url, alt}. See create_post. | |
| first_comment | No | First comment, as on create_post. Its character counts per network are checked too. | |
| allow_duplicate | No | Optional. true to send text already sent to that network within 7 days (refused otherwise). See create_post. |