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/connectorPaste 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:
- Call
yapper_create_asset_uploadwith the file's MIME type and optional name. PUTthe raw file bytes to the returneduploadUrl, including every returned header exactly.- Call
yapper_complete_asset_uploadwith the returnedassetId.
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
401response from/mcp/connectorbefore sign-in is expected. It includesWWW-Authenticatemetadata 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
initializeandtools/list.
Tools
| Tool | Purpose | Status |
|---|---|---|
yapper_load_skill | Load image or video prompting guidance | Live |
yapper_whoami | Show connected team, credential, and scopes | Live |
yapper_start_process | Start a generation process (spends credits) | Live |
yapper_generate_speech | Legacy synchronous speech (may spend credits) | Live |
yapper_get_process | Poll one process | Live |
yapper_list_processes | List recent processes | Live |
yapper_list_assets | List generated or imported assets | Live |
yapper_get_asset | Fetch one asset | Live |
yapper_import_asset | Import an external HTTP(S) asset | Live |
yapper_create_asset_upload | Create a hosted signed-upload ticket | Live |
yapper_complete_asset_upload | Finalize a hosted signed upload | Live |
yapper_upload_asset | Upload a local path in one call (local stdio only) | Live |
yapper_list_models | List available models and capabilities | Live |
yapper_get_model_schema | Fetch one model's authenticated input schema | Live |
yapper_list_audio_voices | List voices compatible with an audio model | Live |
yapper_get_credits | Check team credit balance | Live |
yapper_get_usage | Check team and acting-member usage | Live |
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_creditsbefore expensive work when the user asks about feasibility. - Call
yapper_whoamibefore mixing hosted and local connectors. - Prefer explicit user confirmation before spending credits on ambiguous prompts.
- Use idempotency keys for retried
yapper_start_processcalls. - 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.
AI Consumption Guide
How AI agents should discover and call the Yapper API.
Finalize a direct upload POST
Call after PUTting the bytes to uploadUrl. Probes the file (size limits, dimensions/duration), stores a normalized copy, and returns the finished asset. Idempotent: completing again returns the same asset.