# WaveSpeed MCP server

> Runs image, video, audio and 3D models from the live WaveSpeed catalog, with schema lookup, price estimates and run history.

- Repository: https://github.com/WaveSpeedAI/mcp-server
- Page: https://hostedmcp.org/servers/wavespeedai/mcp-server
- Transport: stdio, remote
- Stars: 37
- License: MIT
- Latest version: 1.2.14

## Install

### Claude Code

```sh
claude mcp add --env 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' mcp-server -- npx -y @wavespeed/mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@wavespeed/mcp"
      ],
      "env": {
        "WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wavespeed/mcp"
      ],
      "env": {
        "WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","@wavespeed/mcp"],"env":{"WAVESPEED_API_KEY":"<YOUR_WAVESPEED_API_KEY>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@wavespeed/mcp"
      ],
      "env": {
        "WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add mcp-server --env 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' -- npx -y @wavespeed/mcp
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.mcp-server]
command = "npx"
args = ["-y", "@wavespeed/mcp"]

[mcp_servers.mcp-server.env]
WAVESPEED_API_KEY = "<YOUR_WAVESPEED_API_KEY>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'WAVESPEED_API_KEY=<YOUR_WAVESPEED_API_KEY>' mcp-server npx -- -y @wavespeed/mcp
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@wavespeed/mcp"
      ],
      "env": {
        "WAVESPEED_API_KEY": "<YOUR_WAVESPEED_API_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `WAVESPEED_API_KEY` | no | yes | WaveSpeed API key (https://wavespeed.ai/accesskey). Optional when the wavespeed CLI is logged in. |
| `WAVESPEED_BASE_URL` | no | no | Override the WaveSpeed API base URL. Defaults to https://api.wavespeed.ai. |
| `WAVESPEED_CLIENT_NAME` | no | no | Override the client name reported for channel attribution. Defaults to wavespeed-mcp. |

## Tools (16)

- `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`
- `get_usage`
- `delete_predictions`
- `upload_file`
- `get_prediction`

## FAQ

### 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.
