putty
MCPSocial

Social

Connect a social account, draft a post, and read its status. Nothing here publishes on its own.

The Social category runs on the caller's own Zernio account, through the caller's own stored key. Putty has no Zernio account of its own and pays nothing, so connected accounts and every post are billed to the caller's Zernio account.

Without a stored key, a tool in this category answers with { code: "integration_required" } and makes no call.

Nothing publishes itself

This is the category's one rule. social_post_draft creates a draft and returns an approveUrl for a human to open. It never publishes, and it 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, the same way a transaction needs a signature.

social_connect_account is built the same way. It returns a dashboard link to open in a browser the user is watching, deliberately not Zernio's raw OAuth URL, so an agent cannot run a connect flow out of the user's view.

The six tools

  • social_accounts_list — the connected accounts on the chosen Zernio profile. profileCandidates is non-null only when the account has several profiles and none has been chosen; with one it is used automatically.
  • social_connect_account — start a connect flow, get the dashboard link.
  • social_post_draft — create a draft, get the approve link.
  • social_post_status — one post's status, its Zernio id once it exists, any error text, and the per-platform targets. The status moves draft → approved → scheduled / published as the user approves and Zernio publishes. partial means some platforms took it and some did not.
  • social_post_cancel — cancel a post that has not gone out. A draft is marked cancelled locally and never reached Zernio; a scheduled post is also deleted there, so it will not publish.
  • social_analytics — post analytics for one connected account over a window. since is an inclusive YYYY-MM-DD lower bound, at most 366 days. The metric set differs per platform, so the rows come back in Zernio's own shape.

Not-founds do not leak

A post belonging to another user answers the same not-found as one that does not exist, and Zernio does not let a published post be deleted, so a published post answers that same not-found rather than admitting it exists.

On this page