# Runway ML

This MCP server connects Runway tools to Claude Code for media generation and task control. It needs a Runway API key and Node.js 20+.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Author: mindstone
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mindstone/mcp-servers/tree/HEAD/connectors/runway
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/runway-ml

## What it does

An agent can ask Runway to make videos from text or still images, transform existing video, and produce images from prompts with optional references. Audio tools cover speech, sound effects, dubbing, and voice processing. Custom voice management is included.

Other tools track generation jobs, wait for completion, stop a job, and save an output to a local file. The server can also send media to Runway's temporary storage and report account balance or credit usage. It runs through `npx`.

For Claude Code, add it as an stdio MCP server and provide `RUNWAYML_API_SECRET`. Node.js 20+ and npm are required; without the Runway API key, the generation tools cannot access the service.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `RUNWAYML_API_SECRET`, `RUNWAY_REQUEST_TIMEOUT_MS`, `RUNWAY_UPLOAD_TIMEOUT_MS`, `RUNWAY_ALLOWED_ROOT`, `RUNWAY_DOWNLOAD_ROOT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env RUNWAYML_API_SECRET=<RUNWAYML_API_SECRET> --env RUNWAY_REQUEST_TIMEOUT_MS=<RUNWAY_REQUEST_TIMEOUT_MS> --env RUNWAY_UPLOAD_TIMEOUT_MS=<RUNWAY_UPLOAD_TIMEOUT_MS> --env RUNWAY_ALLOWED_ROOT=<RUNWAY_ALLOWED_ROOT> --env RUNWAY_DOWNLOAD_ROOT=<RUNWAY_DOWNLOAD_ROOT> --transport stdio runway -- npx -y @mindstone/mcp-server-runway
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add runway --env RUNWAYML_API_SECRET=<RUNWAYML_API_SECRET> --env RUNWAY_REQUEST_TIMEOUT_MS=<RUNWAY_REQUEST_TIMEOUT_MS> --env RUNWAY_UPLOAD_TIMEOUT_MS=<RUNWAY_UPLOAD_TIMEOUT_MS> --env RUNWAY_ALLOWED_ROOT=<RUNWAY_ALLOWED_ROOT> --env RUNWAY_DOWNLOAD_ROOT=<RUNWAY_DOWNLOAD_ROOT> -- npx -y @mindstone/mcp-server-runway
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "runway": {
            "command": "npx",
            "args": [
                "-y",
                "@mindstone/mcp-server-runway"
            ],
            "env": {
                "RUNWAYML_API_SECRET": "<RUNWAYML_API_SECRET>",
                "RUNWAY_REQUEST_TIMEOUT_MS": "<RUNWAY_REQUEST_TIMEOUT_MS>",
                "RUNWAY_UPLOAD_TIMEOUT_MS": "<RUNWAY_UPLOAD_TIMEOUT_MS>",
                "RUNWAY_ALLOWED_ROOT": "<RUNWAY_ALLOWED_ROOT>",
                "RUNWAY_DOWNLOAD_ROOT": "<RUNWAY_DOWNLOAD_ROOT>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "runway": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@mindstone/mcp-server-runway"
            ],
            "env": {
                "RUNWAYML_API_SECRET": "<RUNWAYML_API_SECRET>",
                "RUNWAY_REQUEST_TIMEOUT_MS": "<RUNWAY_REQUEST_TIMEOUT_MS>",
                "RUNWAY_UPLOAD_TIMEOUT_MS": "<RUNWAY_UPLOAD_TIMEOUT_MS>",
                "RUNWAY_ALLOWED_ROOT": "<RUNWAY_ALLOWED_ROOT>",
                "RUNWAY_DOWNLOAD_ROOT": "<RUNWAY_DOWNLOAD_ROOT>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e RUNWAYML_API_SECRET=<RUNWAYML_API_SECRET> -e RUNWAY_REQUEST_TIMEOUT_MS=<RUNWAY_REQUEST_TIMEOUT_MS> -e RUNWAY_UPLOAD_TIMEOUT_MS=<RUNWAY_UPLOAD_TIMEOUT_MS> -e RUNWAY_ALLOWED_ROOT=<RUNWAY_ALLOWED_ROOT> -e RUNWAY_DOWNLOAD_ROOT=<RUNWAY_DOWNLOAD_ROOT> runway npx -y @mindstone/mcp-server-runway
```
Replace <…> with your own values

## When to use it
- turn a text prompt into a video
- animate a still image
- generate an image with optional reference images
- create spoken audio or a sound effect
- check a generation job and save its output locally

## Example prompts
- Make a video from this description and check when the job finishes.
- Animate `poster.png` and save the resulting file locally.
- Generate speech for this text, then check my Runway credit balance.

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107701
- [Agent Skills Search Server](https://affpapa.org/en/nevibecode/mcp/agent-skills-search-server.md) — MCP server · ★ 26673
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23283
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9369
- [PraisonAI](https://affpapa.org/en/nevibecode/mcp/praisonai.md) — MCP server · ★ 9298

From the same set: [mindstone/mcp-servers](https://affpapa.org/en/nevibecode/by/mindstone/mcp-servers.md) — 24 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
