A side-by-side look at the Mediamcp and Midjourney MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Mediamcp for multimedia process work as a local process; choose Midjourney MCP for multimedia process as a local process. You can also run both side by side in one mcpServers block.
OPENROUTER_API_KEY.generate_image, edit_image, generate_video.RUNAPI_API_KEY.login, edit_image, extend_video.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Multimedia Process | Multimedia Process |
| Quality signal | 64/100 · Good | 61/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | OPENROUTER_API_KEY | RUNAPI_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4 | 2 |
| Directory activity | 3 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 6 | 10 |
| Full listing | View Mediamcp | View Midjourney MCP |
generate_imageGenerate one or more images from a text prompt using a cloud AI model. Every image is saved to disk and its absolute path is returned, along with a small inline preview. Use edit_image instead when starting from an existing image.edit_imageEdit or transform existing image(s) with a text instruction — restyle, add or remove elements, change background, or combine several images into one scene. The result is saved to disk and its absolute path is returned, along with a small inline preview.generate_videoGenerate a video from a text prompt, and optionally from an input image (image-to-video). Async job: starts generation, then waits and polls. Video generation typically takes 1-5 minutes. The finished file is saved to disk and its absolute path is returned. If waiting times out, a polling_url is returned — pass it to check_video_status later instead of starting a new (billed) job. For image-to-video, pass first_frame_image so the clip animates from that exact picture (e.g. a still produced by generate_image). Image inputs require an image-to-video-capable model such as 'bytedance/seedance-2.0', 'bytedance/seedance-2.0-fast', or 'google/veo-3.1'.check_video_statusCheck a previously started video generation job (from generate_video's polling_url or video id). If the job has completed, downloads the video, saves it to disk, and returns the absolute path.list_modelsList image- and video-capable model slugs available on the configured endpoint, with pricing where known. Use this to pick a `model` value for generate_image, edit_image, or generate_video.check_configDiagnose the mediamcp server setup: endpoint, API key presence and validity, default models, and output directory writability. Run this first when any other mediamcp tool fails.loginAuthenticate RunAPI by opening a browser PKCE login flow and saving the API key to ~/.config/runapi/config.json.edit_imageCreate a Midjourney task on RunAPI (edit image). Returns a task id, status, and output URLs.extend_videoCreate a Midjourney task on RunAPI (extend video). Returns a task id, status, and output URLs.image_to_videoCreate a Midjourney task on RunAPI (image to video). Returns a task id, status, and output URLs.text_to_imageCreate a Midjourney task on RunAPI (text to image). Returns a task id, status, and output URLs.get_seedRun a synchronous Midjourney operation on RunAPI (get seed). Returns the operation result.image_to_promptRun a synchronous Midjourney operation on RunAPI (image to prompt). Returns the operation result.shorten_promptRun a synchronous Midjourney operation on RunAPI (shorten prompt). Returns the operation result.get_taskFetch the current status and latest result payload for a midjourney task.check_pricingLook up RunAPI pricing for the midjourney model line.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"legolev-mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
],
"env": {
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"midjourney-mcp": {
"command": "npx",
"args": [
"-y",
"@runapi.ai/midjourney-mcp"
],
"env": {
"RUNAPI_API_KEY": "YOUR_RUNAPI_API_KEY_HERE"
}
}
}
}