Runs image, video, audio and 3D models from the live WaveSpeed catalog, with schema lookup, price estimates and run history.
Also known as WaveSpeedAI/mcp-server, mcp-server, @wavespeed/mcp
- Stars
- 37
- Tools
- 16
- Downloads, 30 days
- —
- Latest version
- 1.2.13
- Last commit
- Nov 10, 2026
- License
- MIT
What is WaveSpeed MCP?
WaveSpeed runs image, video, audio and 3D models from the live WaveSpeed catalog, with schema lookup, price estimates and run history. It exposes 16 tools, such as list_models, get_model_schema, run_model.
Summary generated from the project's README
About WaveSpeed MCP server
Running image, video, audio, and 3D models from a live catalog directly within your AI development environment is what WaveSpeed enables. Developers using Claude Desktop, Cursor, Claude Code, or Cline can access a wide variety of generative models without needing hardcoded configurations. The server connects to a live API that updates its catalog hourly, ensuring that new models are available as soon as they are released on the platform.
Users can interact with the catalog through general tools like run_model or specialized shortcuts such as generate_image, edit_video, and extend_video. The system handles file uploads automatically when using the @path marker for local files. To manage costs, the get_price tool provides estimates before any execution occurs. The server can be set up remotely via a hosted URL or locally using npx with a WAVESPEED_API_KEY. It also provides administrative capabilities like checking account balances, viewing run history through list_predictions, and reviewing itemized billing details.
What you can do with it
- 1Estimate generation costsAsk the AI to check how much a specific model run will cost before submitting the request.
- 2Automate local file uploadsProvide a local file path to the AI to have it automatically uploaded and used as a model input.
Written from the project's README. Every use case is checked against a quote from it.
How to install WaveSpeed MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall WaveSpeed MCP in Claude Code
$ claude mcp add --env 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' mcp-server -- npx -y @wavespeed/mcpInstall WaveSpeed MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@wavespeed/mcp"
],
"env": {
"WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
}
}
}
}Install WaveSpeed MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@wavespeed/mcp"
],
"env": {
"WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
}
}
}
}Install WaveSpeed MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","@wavespeed/mcp"],"env":{"WAVESPEED_API_KEY":"<YOUR_WAVESPEED_API_KEY>"}}'Install WaveSpeed MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@wavespeed/mcp"
],
"env": {
"WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
}
}
}
}Install WaveSpeed MCP in Codex
$ codex mcp add mcp-server --env 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' -- npx -y @wavespeed/mcpInstall WaveSpeed MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "@wavespeed/mcp"] [mcp_servers.mcp-server.env] WAVESPEED_API_KEY = "<YOUR_WAVESPEED_API_KEY>"
Install WaveSpeed MCP in Gemini CLI
$ gemini mcp add -s user -e 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' mcp-server npx -- -y @wavespeed/mcpInstall WaveSpeed MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@wavespeed/mcp"
],
"env": {
"WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
}
}
}
}WaveSpeed MCP tools 16
Detected from the READMElist_modelsget_model_schemarun_modelgenerate_imageedit_imagegenerate_videoedit_videoextend_videoget_priceget_balancelist_predictionslist_billings
| list_models | — | |
| get_model_schema | — | |
| run_model | — | |
| generate_image | — | |
| edit_image | — | |
| generate_video | — | |
| edit_video | — | |
| extend_video | — | |
| get_price | — | |
| get_balance | — | |
| list_predictions | — | |
| list_billings | — |
Show all 16 toolsShow fewer tools
get_usagedelete_predictionsupload_fileget_prediction
| get_usage | — | |
| delete_predictions | — | |
| upload_file | — | |
| get_prediction | — |
Configuration
WAVESPEED_API_KEYSecretWaveSpeed API key (https://wavespeed.ai/accesskey). Optional when the wavespeed CLI is logged in.
WAVESPEED_BASE_URLOverride the WaveSpeed API base URL. Defaults to https://api.wavespeed.ai.
WAVESPEED_CLIENT_NAMEOverride the client name reported for channel attribution. Defaults to wavespeed-mcp.
| Name | Description | |
|---|---|---|
| WAVESPEED_API_KEY | WaveSpeed API key (https://wavespeed.ai/accesskey). Optional when the wavespeed CLI is logged in. | Secret |
| WAVESPEED_BASE_URL | Override the WaveSpeed API base URL. Defaults to https://api.wavespeed.ai. | |
| WAVESPEED_CLIENT_NAME | Override the client name reported for channel attribution. Defaults to wavespeed-mcp. |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubWaveSpeed 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 for
run_model. The catalog comes from the live API (1h cache); new platform models work the day they ship. - One general verb, five shortcuts.
run_modelexecutes anything;get_model_schematells the agent what inputs a model actually accepts, so it reads before it writes.generate_image,edit_image,generate_video,edit_videoandextend_videoskip that: they use the same models as the WaveSpeed /chat page, pick the endpoint for what you give them and fit the request to its live schema. - 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. The shortcut tools (generate_imageetc.) are the exception: they pick the endpoint and fit the request to the model, and report what they changed innotes. - Quote before you spend.
get_pricetakes the same input asrun_modeland returns an estimate; the amount actually charged for a run is authoritative.
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), with a link to the model's playground page |
run_model |
Submit + wait; rejects input keys the model doesn't accept; @path inputs upload automatically; returns output URLs |
generate_image |
Image from a prompt with the /chat image models (default Seedream 5.5); reference images use the model's edit endpoint |
edit_image |
Edit, restyle or combine existing images with the same models |
generate_video |
Video from a prompt, a first/last frame or reference images/videos/audio, with the /chat video models (default Seedance 2.5); the mode (text, image, reference) is picked from the inputs |
edit_video |
Edit an existing video, optionally with reference images/audio |
extend_video |
Continue an existing video with new footage |
get_price |
Cost estimate for the inputs you pass (no charge), with a link to the model's playground page |
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 |
The five shortcut tools take wait_seconds like run_model, and estimate_only: true returns the price and the exact request that would run without submitting or charging anything. In their prompts, media is named @image 1, @video 1, @audio 1 (in the order given); it is renamed to what each model expects. Models and defaults follow /chat: an unknown model is rejected, and a named model is never switched.
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.
Setup
Remote (nothing to install)
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"}' -
Clients that only start local commands: connect through
mcp-remote, which opens the same browser approval on first start:{ "mcpServers": { "wavespeed": { "command": "npx", "args": ["-y", "mcp-remote", "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.
Local (npx)
@latest makes npx fetch the newest release on each start; without it, npx runs a globally installed @wavespeed/mcp if one exists, however old.
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@latest
Claude Desktop / other clients (mcpServers config):
{
"mcpServers": {
"wavespeed": {
"command": "npx",
"args": ["-y", "@wavespeed/mcp@latest"],
"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
WaveSpeed MCP questions
How do I add WaveSpeed MCP to Claude Code?
Run claude mcp add --env 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' mcp-server -- npx -y @wavespeed/mcp in your terminal. Add --scope user to make it available in every project.
How do I add WaveSpeed MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does WaveSpeed MCP provide?
It exposes 16 tools, including list_models, get_model_schema, run_model, generate_image, edit_image.
How do I authenticate with WaveSpeed MCP?
The local server reads a WaveSpeed API key from WAVESPEED_API_KEY or the stored CLI login; hosted clients approve a browser connection that creates a dedicated API key.
Can I check the cost of a generation before running it?
Yes, get_price returns an estimate for the same inputs you would pass to run_model, without charging anything. The amount actually charged for a run is authoritative.
How do I upload a local image to use as input?
Put an @path marker as the input value and the server uploads the file and substitutes its hosted URL. On the hosted server, use create_upload or attach the file in ChatGPT to get a download_url.
Which models can I run through this server?
Any model on the live WaveSpeed catalog, covering image, video, audio and 3D. The catalog comes from the live API with a 1-hour cache, so new models work the day they ship.