An MCP server for the WaveSpeed platform: run any model on the live catalog — image, video, audio, 3D — from Claude Code, Claude Desktop, Cursor, Cline, or any MCP client.
Built on the same design as the open-source @wavespeed/cli:
- No hardcoded models. The catalog comes from the live API (1h cache); new platform models work the day they ship.
- One generation verb.
run_modelexecutes anything;get_model_schematells the agent what inputs a model actually accepts, so it reads before it writes. - Inputs are never mutated. The one explicit transform is the
@pathmarker — a"@./photo.jpg"value insideinputuploads the file and substitutes its hosted URL. Bare paths are passed through untouched. - Honest pricing.
get_pricequotes before you spend and names the inputs the quote was blind to (unpriced_inputs) instead of presenting a formula's floor as "the" price.
| Tool | What it does |
|---|---|
list_models |
Search the live catalog by text or modality type |
get_model_schema |
A model's real input schema (required, properties, defaults) |
run_model |
Submit + wait; rejects input keys the model doesn't accept; @path inputs upload automatically; returns output URLs |
get_price |
Cost estimate with unpriced_inputs / at_base_price disclosure |
get_balance |
Account credit balance, with the top-up link |
list_predictions |
Run history (default last 24h); filter by model, status, time range |
list_billings |
Itemized charges and refunds (needs a Billing-access key) |
get_usage |
Spend, request counts and per-model breakdown (default last 7 days; needs a Billing-access key) |
delete_predictions |
Delete finished runs from the history (up to 100; needs confirm: true, cannot be undone from here) |
upload_file |
Local file → hosted URL (24h content-hash dedupe) |
get_prediction |
Status/outputs of any run by id; optional wait_seconds to wait for it |
Some generations take minutes to hours. run_model submits the run and returns the prediction id right away (done: false); the assistant then calls get_prediction with that id and wait_seconds (max 1800) until done is true. The task keeps running server-side, so a dropped connection loses nothing. Pass wait_seconds to run_model to wait for a quick model in the same call. While waiting, both tools send MCP progress notifications that carry the prediction id.
The same server is hosted at:
https://api.wavespeed.ai/mcp
- Claude on the web / ChatGPT: add a custom connector with that address and approve the connection on the WaveSpeed page that opens. Approving creates a dedicated API key (named
MCP · <app>) that you can delete on the API Keys page to disconnect. - Claude Code:
claude mcp add --transport http wavespeed https://api.wavespeed.ai/mcp - Cursor:
- VS Code:
code --add-mcp '{"name":"wavespeed","type":"http","url":"https://api.wavespeed.ai/mcp"}' - Any other client that sends request headers: point it at the URL with
Authorization: Bearer <your API key>.
The hosted server has the same tools, with one difference for files: it cannot read files on your computer, so pass public URLs, use create_upload from a tool that can send HTTP requests (it returns a temporary upload address and the download_url to use as an input), or, in ChatGPT, attach the file to the chat (the upload_attachment tool, which only ChatGPT can fill, imports it and returns a download_url). Full guide: wavespeed.ai/docs/mcp.
Auth resolves from WAVESPEED_API_KEY, or from the CLI's stored login (wavespeed login) — one login covers both tools. Keys: wavespeed.ai/accesskey.
Claude Code
claude mcp add wavespeed -- npx -y @wavespeed/mcpClaude Desktop / other clients (mcpServers config):
{
"mcpServers": {
"wavespeed": {
"command": "npx",
"args": ["-y", "@wavespeed/mcp"],
"env": { "WAVESPEED_API_KEY": "wsk_..." }
}
}
}- "Generate a 16:9 hero image of a cyberpunk skyline at golden hour."
- "Take ./photo.jpg and replace the background with a sunlit kitchen." (the agent passes
"@./photo.jpg") - "Animate ./hero.png with subtle parallax — check the price first."
npm install
npm run dev # run from source (stdio)
npm run lint # typecheck
npm run build # tsc → dist/WaveSpeed AI — AI image & video generation platform. Try it in the browser: Image generator · Video generator