publish_x_article_now
Publish a native X ARTICLE immediately -- the long-form rich-text format with a headline, NOT a regular post. If the user has switched on the publish confirmation dialog in Socialync settings (off by default) and their client supports MCP elicitation, Socialync shows the user a confirmation dialog with the headline and body before publishing (a decline comes back as success false with consent "declined"; never retry it; no answer within 40 seconds counts as the chat confirmation). On other clients there is NO dialog. Either way, before calling, show the user the exact headline and full body and get their explicit confirmation in chat, the same way you would before sending an email on their behalf. Returns the article id and the URL of the seed post that announces it. The user's connected X account must have an X Premium subscription (any tier) -- without it X refuses with a 403 at publish time. Supported markdown: # ## ### headings, bold, italic, - bullet and 1. numbered lists, > blockquotes, links. Images: a cover via coverImageUrl, or via coverMediaId for an image uploaded with create_media_upload and finalize_media_upload, and an image inside the body on its own line as (JPG, PNG or WEBP, up to 20 images including the cover; Socialync copies them into its own storage when the draft is made). Tables and code blocks degrade to plain text. To publish later, pass scheduledFor to create_x_article_draft and approve it; Socialync publishes it at that time. Articles count toward the same 10/day cap as posts.
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": {
"title": "<title>",
"markdown": "<markdown>"
},
"name": "publish_x_article_now"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The article headline, plain text (no markdown). | |
| markdown | Yes | The article body as markdown. Put each image on its own line as . See the tool description for the supported subset. | |
| profileId | No | The Socialync profile whose X account to publish from. Call list_profiles to see the profiles you can post to. Required only when this connection is authorized for more than one profile. | |
| coverMediaId | No | Optional cover image already in Socialync: the mediaId of ONE image from finalize_media_upload or list_media (e.g. "upload:abc123"). Use it for a cover you uploaded with create_media_upload. Pass only one of coverImageUrl and coverMediaId. | |
| coverImageUrl | No | Optional cover image: a public https URL to a JPG, PNG or WEBP. |