MCP server agent
WaveSpeed MCP server — run any model on the live catalog (image, video, audio, 3D) with schema introspection, @path file upload, and price quotes
by WaveSpeedAI·MIT license·★ 34 Stars on the repo·GitHub ↗
Inside this agent
README.md · the author's own words# WaveSpeed MCP Server <!-- mcp-name: ai.wavespeed/mcp --> An MCP server for the [WaveSpeed](https://wavespeed.ai) platform: run any model on the **live catalog** — image, video, audio, 3D — from Cl… Built on the same design as the open-source [`@wavespeed/cli`](https://github.com/WaveSpeedAI/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_model` executes anything; `get_model_schema` tells the agent what inputs a model actually accepts, so it re… - **Inputs are never mutated.** The one explicit transform is the `@path` marker — a `"@./photo.jpg"` value inside `input` uploads the file… - **Honest pricing.** `get_price` quotes before you spend and names the inputs the quote was blind to (`unpriced_inputs`) instead of presen… ## Tools | Tool | What it does |
Word-for-word excerpt, not a result. Read the full README.md ↓
Files of MCP server
WaveSpeedAI/
Show the full text91 lines
WaveSpeed MCP Server
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.
Tools
| 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 |
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 waits up to wait_seconds (default 50, max 1800) and then returns done: false with the prediction id — the task keeps running server-side, and get_prediction picks it up. While waiting, both tools send MCP progress notifications that carry the prediction id.
Setup
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/mcp
Claude Desktop / other clients (mcpServers config):
{
"mcpServers": {
"wavespeed": {
"command": "npx",
"args": ["-y", "@wavespeed/mcp"],
"env": { "WAVESPEED_API_KEY": "wsk_..." }
}
}
}
Example prompts
- "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."
Development
npm install
npm run dev # run from source (stdio)
npm run lint # typecheck
npm run build # tsc → dist/
License
WaveSpeed AI — AI image & video generation platform. Try it in the browser: Image generator · Video generator
| 1 | <div align="center"> |
| 2 | <a href="https://wavespeed.ai" target="_blank"> |
| 3 | <picture> |
| 4 | <source media="(prefers-color-scheme: dark)" srcset="assets/wavespeed-logo-dark.svg"> |
| 5 | <img src="assets/wavespeed-logo-light.svg" alt="WaveSpeed" width="342" height="48"/> |
| 6 | </picture> |
| 7 | </a> |
| 8 | </div> |
| 9 | |
| 10 | # WaveSpeed MCP Server |
| 11 | |
| 12 | <a href="https://cursor.com/install-mcp?name=wavespeed&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB3YXZlc3BlZWQvbWNwIl0sImVudiI6eyJXQVZFU1BFRURfQVBJX0tFWSI6Indza18uLi4ifX0%3D"> |
| 13 | <picture> |
| 14 | <source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/deeplink/mcp-install-light.svg"> |
| 15 | <img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add wavespeed MCP server to Cursor" height="32"/> |
| 16 | </picture> |
| 17 | </a> |
| 18 | |
| 19 | <!-- mcp-name: ai.wavespeed/mcp --> |
| 20 | |
| 21 | 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. |
| 22 | |
| 23 | Built on the same design as the open-source [`@wavespeed/cli`]: |
| 24 | |
| 25 | **No hardcoded models.** The catalog comes from the live API (1h cache); new platform models work the day they ship. |
| 26 | **One generation verb.** `run_model` executes anything; `get_model_schema` tells the agent what inputs a model actually accepts, so it reads before it writes. |
| 27 | **Inputs are never mutated.** The one explicit transform is the `@path` marker — a `"@./photo.jpg"` value inside `input` uploads the file and substitutes its hosted URL. Bare paths are passed through untouched. |
| 28 | **Honest pricing.** `get_price` quotes before you spend and names the inputs the quote was blind to (`unpriced_inputs`) instead of presenting a formula's floor as "the" price. |
| 29 | |
| 30 | ## Tools |
| 31 | |
| 32 | | Tool | What it does | |
| 33 | |---|---| |
| 34 | | `list_models` | Search the live catalog by text or modality type | |
| 35 | | `get_model_schema` | A model's real input schema (required, properties, defaults) | |
| 36 | | `run_model` | Submit + wait; rejects input keys the model doesn't accept; `@path` inputs upload automatically; returns output URLs | |
| 37 | | `get_price` | Cost estimate with `unpriced_inputs` / `at_base_price` disclosure | |
| 38 | | `get_balance` | Account credit balance | |
| 39 | | `upload_file` | Local file → hosted URL (24h content-hash dedupe) | |
| 40 | | `get_prediction` | Status/outputs of any run by id; optional `wait_seconds` to wait for it | |
| 41 | |
| 42 | Some generations take minutes to hours. `run_model` waits up to `wait_seconds` (default 50, max 1800) and then returns `done: false` with the prediction id — the task keeps running server-side, and `get_prediction` picks it up. While waiting, both tools send MCP progress notifications that carry the prediction id. |
| 43 | |
| 44 | ## Setup |
| 45 | |
| 46 | Auth resolves from `WAVESPEED_API_KEY`, or from the CLI's stored login (`wavespeed login`) — one login covers both tools. Keys: [wavespeed.ai/accesskey]. |
| 47 | |
| 48 | **Claude Code** |
| 49 | |
| 50 | |
| 51 | claude mcp add wavespeed -- npx -y @wavespeed/mcp |
| 52 | |
| 53 | |
| 54 | **Claude Desktop / other clients** (`mcpServers` config): |
| 55 | |
| 56 | |
| 57 | { |
| 58 | "mcpServers": { |
| 59 | "wavespeed": { |
| 60 | "command": "npx", |
| 61 | "args": ["-y", "@wavespeed/mcp"], |
| 62 | "env": { "WAVESPEED_API_KEY": "wsk_..." } |
| 63 | } |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | |
| 68 | ## Example prompts |
| 69 | |
| 70 | *"Generate a 16:9 hero image of a cyberpunk skyline at golden hour."* |
| 71 | *"Take ./photo.jpg and replace the background with a sunlit kitchen."* (the agent passes `"@./photo.jpg"`) |
| 72 | *"Animate ./hero.png with subtle parallax — check the price first."* |
| 73 | |
| 74 | ## Development |
| 75 | |
| 76 | |
| 77 | npm install |
| 78 | npm run dev # run from source (stdio) |
| 79 | npm run lint # typecheck |
| 80 | npm run build # tsc → dist/ |
| 81 | |
| 82 | |
| 83 | ## License |
| 84 | |
| 85 | [MIT] |
| 86 | |
| 87 | |
| 88 | |
| 89 | **[WaveSpeed AI]** — AI image & video generation platform. |
| 90 | Try it in the browser: **[Image generator]** · **[Video generator]** |
| 91 |
Discussion
Alternatives
Browse more free AI agents or everything in Development.