social_post_status
Read one of the caller's own social posts by id: its status, the Zernio post id once it exists, any error text, and the per-platform targets. A post belonging to another user answers the same not-found as one that does not exist. The status moves `draft` → `approved` → `scheduled`/`published` as the user approves and Zernio publishes; `partial` means some platforms took it, `failed` and `cancelled` are terminal. This tool only reads the caller's own store — it makes no Zernio call, so it works without a stored key.
Read one of the caller's own social posts by id: its status, the Zernio post id once it exists, any error text, and the per-platform targets.
Input
The tool takes a single JSON object. Every field, its type, and an example are on the generated reference at GET /mcp/tools, under this tool's name.
Calling it
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "social_post_status", "arguments": {} }
}Put your arguments in place of the empty object. A call that fails comes back as a normal result carrying isError: true and a message naming what went wrong, not as a JSON-RPC protocol error.
Notes
A post belonging to another user answers the same not-found as one that does not exist. The status moves draft → approved → scheduled/published as the user approves and Zernio publishes; partial means some platforms took it, failed and cancelled are terminal. This tool only reads the caller's own store — it makes no Zernio call, so it works without a stored key.
The full request and response shape, and a live playground, live on the generated reference at GET /mcp/tools.
social_post_draft
Create a social post **draft** on the caller's own Zernio account and return an `approveUrl` for the user to click. This tool never publishes and has no argument that could make it publish — Zernio's create-post is only ever called from the approve route, on the user's own click, exactly like signing a transaction. The user sees a per-platform preview at the link, edits or schedules it, and approves. Pass `scheduledFor` to have Zernio publish at that time once approved; omit it to publish as soon as they approve. `text` is one caption for every target, `perPlatformText` a caption per platform slug, and every target without an entry falls back to `text`. Media are putty asset ids and travel to Zernio as short-lived signed Garage URLs minted at approval. Runs on the caller's own stored Zernio key; without one the result is `{ code: "integration_required" }` and no call is made.
social_post_cancel
Cancel one of the caller's own posts that has not gone out yet. A draft is marked `cancelled` locally (it never reached Zernio); a scheduled post is also deleted in Zernio, so it will not publish. A post that already published, or one belonging to another user, answers the same not-found as a missing one — Zernio does not let a published post be deleted, and putty does not expose unpublishing. Cancellation is terminal. Runs on the caller's own stored Zernio key; without one the result is `{ code: "integration_required" }` and no call is made.