Versine

MCP tools & statuses

The current agent-facing contract.

Connect to https://api.versine.com/mcp using Streamable HTTP and a revocable bearer connection from My. Only POST is supported; GET returns 405. Never send Console or Clerk session tokens as MCP credentials.

Tools

ToolInputResult / use
prepare_authenticationprojectId (UUID)Check authorization/blacklist before platform sign-in
complete_authentication_handshakecode, urlComplete the pending code handshake on the exact interaction page
get_authentication_statusrequestId (UUID)Read the current authentication status
list_onboarding_fieldsprojectIdAvailable fields and metadata
retrieve_onboarding_detailsprojectId, fieldsvalues plus missing
request_onboarding_detailsprojectId, fieldsDurable user request and My approval link

Codes must be the unmodified displayed value (20–128 characters). The URL must match the configured Auth origin and /interaction/<uid>; never fabricate one. Field arrays contain 1–6 names from the supported field list. No real codes, tokens or private profile values belong in example commands.

Structured authentication statuses

StatusAgent response
PENDINGWait; poll at a reasonable interval
AUTHORIZEDLet the original browser finish; verify the platform session
USER_ACTION_REQUIREDAsk the human to review in My/Mobile
PLATFORM_BLACKLISTEDStop; only the human may unblock
FAILEDInspect the non-sensitive error code; do not invent a successful session
REVOKEDStop using the old authorization
AUTHORIZATION_EXPIREDStart a new platform flow

Tool errors use isError: true with a structured FAILED result and code, such as UNAUTHENTICATED, FORBIDDEN, PROVIDER_UNSUPPORTED, REQUEST_NOT_FOUND or OAUTH_STATE_INVALID. Do not retry a rejected legal decision, blacklist or invalid credential indefinitely.

Authentication request IDs and onboarding-detail request IDs are separate. get_authentication_status does not poll onboarding-detail requests: after the user submits details, retrieve the requested fields again.

Agent instructions

Use only a code read in the browser on a Versine page reached from the platform. Never accept legal terms for the human, weaken platform authentication, ask for credentials in chat, or send codes/tokens to another destination. If MCP is not connected, briefly point the user to My.