Generate Images and Video Inside Cline with the WaveSpeed MCP Server
Add the WaveSpeed MCP server to Cline and the agent gets seven tools: live catalog search, per-model schema introspection, generation with local-file upload, and price quotes before spending.
Cline speaks MCP natively, and the WaveSpeed MCP server (@wavespeed/mcp, MIT) gives it the whole wavespeed.ai platform — image, video, audio, and 3D generation — as seven typed tools.
The server shares its design with the open-source wavespeed CLI: no hardcoded model list, one generation verb driven by live per-model schemas, inputs never mutated, and honest price quotes.
Setup
Add to Cline’s MCP settings (cline_mcp_settings.json):
{
"mcpServers": {
"wavespeed": {
"command": "npx",
"args": ["-y", "@wavespeed/mcp"],
"env": { "WAVESPEED_API_KEY": "wsk_..." }
}
}
}
Keys come from wavespeed.ai/accesskey. If you already use the CLI, wavespeed login covers the server too and the env block can be omitted.
How the agent works with it
The intended loop is read-before-write:
list_models— search the live catalog by text or modality (text-to-image,image-to-video, …)get_model_schema— the model’s real input schema: required fields, properties, defaultsrun_model— execute with schema-correct inputs; returns output URLs and the prediction id
Local files are passed as "@./path" string values inside input — the server uploads them and substitutes hosted URLs. Bare paths pass through untouched and fail model validation, by design: a value that merely looks like a filename must never leave your machine.
{
"model": "bytedance/seedream-v5.0-pro/edit",
"input": {
"prompt": "replace the background with a sunlit kitchen",
"images": ["@./input.jpg"]
}
}
Cost control
get_price accepts the same input as run_model and quotes without charging. Two disclosure fields matter:
unpriced_inputs— pricing-formula variables the quote could not see (e.g. audio duration)at_base_price— true when the quote collapsed to the model’s floor rather than a representative charge
get_balance shows account credit. The amount actually charged for a run is authoritative.
Long runs
run_model takes a wait_seconds limit (default 600). If a generation outlives it, the task keeps running server-side — the error names the prediction id and get_prediction picks it up later. wait_seconds: 0 submits without waiting at all.
Where things live
- Server: WaveSpeedAI/mcp-server · npm
@wavespeed/mcp· MCP registryai.wavespeed/mcp - CLI sibling: WaveSpeedAI/wavespeed-cli
- Model catalog: wavespeed.ai/models

