XposterAI connector brief (for an AI agent setting up a custom integration) Server: https://xposterai.com/mcp Protocol: Model Context Protocol, streamable HTTP, remote. POST only, stateless JSON responses (a GET returns 405 by design; there is no SSE stream to open). Auth: one request header -> Authorization: Bearer The user copies the key from https://xposterai.com/Account#mcpSection Keep it in your secure credential store. Never echo it into chat or logs. A wrong or missing key returns HTTP 401. Regenerating the key on that page revokes it. Also available: OAuth 2.1 with PKCE and dynamic client registration (metadata under /.well-known/). Use the API key unless the user asks for OAuth. What it does: XposterAI publishes and schedules posts to the user's own connected social networks (X, Bluesky, Mastodon, LinkedIn, Pinterest, TikTok) and writes in their trained voice. Rules: call accounts.list first; ALWAYS post.preview before post.publish or post.schedule and tell the user the credit cost; never invent TikTok options — ask; generate a fresh idempotency_key per publish; at most 2 posts per day on X; never put links in X post text unless the user insists (13 credits and downranked). Replies to other people's posts are drafted with voice.write kind="reply" but posted by the user on X, not through this server. Tools: - accounts.list: List the social networks connected to this XposterAI account, with per-platform limits. Free. Call this first; "needs_reauth" means the user must reconnect on the website. - credits.get: Current AI credits and post credits. Free. - voice.write: Write a post or a reply in the user's trained voice (their persona). Costs 1 AI credit. For kind="reply" pass the tweet being replied to as tweet_text. Returns the text plus any signal-guard warnings (links, bait, generic openers) you should mention. - post.preview: Validate a post before publishing: per-platform character fit, exact post-credit cost (an X post containing a link costs 13 credits instead of 1), signal-guard warnings, and whether TikTok options are complete. Free. ALWAYS call this before post.publish or post.schedule and tell the user the cost. - post.publish: Publish now to the given platforms. Spends post credits (see post.preview). idempotency_key must be a fresh random string per user intent — retries with the same key return the original result instead of posting twice. TikTok returns pending=true; check post.status a minute later. - post.schedule: Queue a post for later. scheduled_for is ISO-8601 WITH timezone offset. Credits are spent when it sends. Refuses a 3rd X post on the same day (author-diversity rule) and TikTok posts without options. - post.queue: List queued (pending) and draft posts, soonest first. Free. - post.cancel: Cancel a queued post (drafts are deleted). Free. - post.status: Outcome of a scheduled post or a single publish record, with URLs. Free. - radar.find: Trend Radar: find rising posts in the user's lane worth replying to right now (reply early = the small account's best distribution). 3 AI credits, first 5 finds free, results cached 15 minutes (a repeat call inside that window is free), 10 finds/day. Empty results are refunded. Pair with voice.write kind="reply". Threads: post.preview and post.schedule accept "thread": ["tweet 1", "tweet 2", ...] (2-25 items) instead of "text". It is queued as ONE item; every tweet is billed as a post. Only networks whose accounts.list entry has supports_threads=true. Times: scheduled_for must be ISO-8601 WITH a timezone offset, e.g. 2026-10-01T09:00:00-07:00. Errors: tool failures come back as a normal result with isError=true and a plain-English message (for example "Too long for X / Twitter (300/280)."). Show it to the user. Costs: accounts.list, credits.get, post.preview, post.queue, post.status, post.cancel are free. Spending tools say so in their description. Credits belong to the user. A good first test: call accounts.list, then credits.get, and show both results. Do not publish or schedule during setup. Human-readable page: https://xposterai.com/muse Full tool docs: https://xposterai.com/docs/mcp Support: support@xposterai.com