Affogato MCP server
Every Affogato model and tool from Claude, ChatGPT, Cursor, Claude Code and any other MCP client. Sign in with OAuth, spend the credits of the workspace you connect, set the limits yourself.
One URL, any client.
Add https://staging.api.affogato.ai/mcp as an HTTP MCP server. The first tool call opens an Affogato sign-in page where you pick the workspace and approve the agent.
Claude.ai
Settings → Connectors → Add custom connector → paste the MCP URL.
Claude Code
claude mcp add --transport http affogato https://staging.api.affogato.ai/mcpCursor
.cursor/mcp.json{
"mcpServers": {
"affogato": {
"url": "https://staging.api.affogato.ai/mcp"
}
}
}ChatGPT
Settings → Connectors → Add (developer mode) → paste the MCP URL.
VS Code
code --add-mcp '{"name":"affogato","type":"http","url":"https://staging.api.affogato.ai/mcp"}'Sign-in, credits, scopes, models.
OAuth, not keys
The client opens an Affogato sign-in page. You sign in as yourself and choose the workspace the agent may use. No API key is created or pasted anywhere.
Disconnect an agent any time from the Developers page of the app.
The workspace you connect
Generations spend the credits of the workspace you picked when you approved the agent: the same credits as the studios and the API.
The workspace needs a paid plan or purchased credits. switch_workspace moves a session to another workspace you belong to.
Three permissions
read List models and read your generations, files and account. generate Spends credits of the workspace you connect. files Add images, video and audio as inputs for generations.
The consent page lists exactly what the agent asked for.
The whole catalog
Every image, video and audio model the API serves, with the same ids, parameters and prices in credits. list_models and get_model are the catalog; estimate_cost quotes before anything is charged.
What the agent can call.
The tools mirror the REST API. The scope column is the permission each one needs.
| read | list_models | List the models you can call, with filters. |
| read | get_model | One model: parameters, input slots, price in credits. |
| read | estimate_cost | Quote a request in credits without charging. |
| generate | generate | Create a generation. Spends credits. |
| read | get_generation | Read a generation and its outputs. |
| read | wait_for_generation | Block until a generation reaches a terminal status. |
| read | list_generations | Recent generations, including failed and cancelled. |
| generate | cancel_generation | Cancel a queued or processing generation. |
| files | upload_file | Upload a file to use as a model input. |
| read | list_files | List uploaded files. |
| read | get_account | The connected workspace, plan and credit balance. |
| read | switch_workspace | Change which of your workspaces the session spends from. |
| read | enhance_prompt | Rewrite a prompt the way the studios do. |
| read | list_voices | Library voices for text_to_speech. |
| read | list_headshot_styles | Curated headshot styles and the control vocabulary. |
| read | list_talking_head_sets | Curated background sets for talking heads. |
| read | list_product_templates | Scene templates for product ad shots. |
| read | list_characters | Your saved characters. |
| generate | lipsync | Sync a video's mouth to an audio track. |
| generate | text_to_speech | Speech from text with a library or custom voice. |
| generate | talking_head_keyframe | Place a person on a set (talking head, step 1). |
| generate | talking_head_video | Animate a keyframe to a speech track (step 3). |
| generate | headshot | A professional headshot in a curated style. |
| generate | cast_swap | Replace the people in a clip with your photos. |
| generate | try_on | Garments worn by a person or a described model. |
| generate | product_shot | An ad photo of your product in a scene template. |
Agents spend inside limits you set.
Both limits are per workspace, set by its owners and admins on the Developers page.
Estimate first
estimate_cost quotes a request in credits and never charges; generate reports the charge in its result.
Confirmation above a threshold
A generation above the workspace's confirm threshold is not started until the agent confirms it with you.
Daily cap
Agents stop spending once they reach the daily credit cap set on the Developers page. The cap resets every day.
Failed and cancelled generations are refunded
Credits are charged up front and returned in full when a generation fails or is cancelled.
Bring Affogato to your agent.
Copy the URL, add it to your client, approve it once. Agents can read llms.txt; the REST API has an interactive reference.