Yapper API

MCP Guide

The Yapper hosted MCP connector — a thin client over the public API.

Status: live. The API endpoints behind every tool are live.

The Yapper hosted MCP connector is a thin client over the public API. It contains no provider logic, Firebase reads, credit accounting, model routing, or private serializers.

Install

Hosted connector (recommended):

https://yapper.so/mcp/connector

Paste that URL into an MCP client that supports hosted HTTP connectors, then sign in with your Yapper account when prompted.

The hosted connector supports local files through a signed-upload handshake. A remote server cannot open a path on your computer itself, so the MCP client does the byte transfer locally:

  1. Call yapper_create_asset_upload with the file's MIME type and optional name.
  2. PUT the raw file bytes to the returned uploadUrl, including every returned header exactly.
  3. Call yapper_complete_asset_upload with the returned assetId.

The completed asset's hosted URL can then be passed to a generation. Local stdio clients can use yapper_upload_asset instead; it performs all three steps in one call. Use yapper_import_asset only for media that already has a public HTTP(S) URL. Agents should never send users to the Yapper UI just to upload a local file.

Client integration rules

  • Use the exact HTTPS connector URL above. Do not rewrite it to http://.
  • A 401 response from /mcp/connector before sign-in is expected. It includes WWW-Authenticate metadata that points the MCP client to the OAuth protected resource metadata.
  • Do not configure /api/mcp/oauth/* as the MCP server URL. Those routes are only the OAuth registration, authorization, approval, and token endpoints.
  • Do not treat an unauthenticated JSON-RPC call as a connector failure. Complete the hosted MCP OAuth flow first, then call initialize and tools/list.

Tools

ToolPurposeStatus
yapper_load_skillLoad image or video prompting guidanceLive
yapper_whoamiShow connected team, credential, and scopesLive
yapper_start_processStart a generation process (spends credits)Live
yapper_generate_speechLegacy synchronous speech (may spend credits)Live
yapper_get_processPoll one processLive
yapper_list_processesList recent processesLive
yapper_list_assetsList generated or imported assetsLive
yapper_get_assetFetch one assetLive
yapper_import_assetImport an external HTTP(S) assetLive
yapper_create_asset_uploadCreate a hosted signed-upload ticketLive
yapper_complete_asset_uploadFinalize a hosted signed uploadLive
yapper_upload_assetUpload a local path in one call (local stdio only)Live
yapper_list_modelsList available models and capabilitiesLive
yapper_get_model_schemaFetch one model's authenticated input schemaLive
yapper_list_audio_voicesList voices compatible with an audio modelLive
yapper_get_creditsCheck team credit balanceLive
yapper_get_usageCheck team and acting-member usageLive

Resources

yapper://processes/{processId}
yapper://assets/{assetId}

Use resources/templates/list to discover these templates and resources/read to fetch one process or asset as JSON.

Agent behavior

  • Call yapper_get_credits before expensive work when the user asks about feasibility.
  • Call yapper_whoami before mixing hosted and local connectors.
  • Prefer explicit user confirmation before spending credits on ambiguous prompts.
  • Use idempotency keys for retried yapper_start_process calls.
  • Poll process status instead of assuming immediate completion.
  • Return asset ids and URLs from the public response shape only.

Security boundary

The hosted MCP connector uses 24-hour ymcp_ access tokens plus rotating 90-day refresh tokens from the Yapper OAuth flow. Active clients renew the refresh window automatically. Local stdio MCP clients receive credentials from local config or environment. MCP clients should never request browser session cookies or Firebase credentials.

On this page