The Runware MCP connector routes your AI agent's tool calls to Runware's own MCP server through Scalekit. Each user signs in to Runware once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 12 tools.
- Tools
- 12
- What they doRead · write · destructive
- 9 · 2 · 19 read2 write1 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Runware MCP connection
In AgentKit > Connections, create a Runware MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Runware MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'runwaremcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Runware MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'runwaremcp_list_capabilities',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "runwaremcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Runware MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="runwaremcp_list_capabilities",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolrunwaremcp_accountRetrieve Runware account information including balance and usage.Read-onlyAccount
Retrieve Runware account information including balance and usage.
Inputs
operationstringrequired- Which account operation to perform. Currently only "getDetails" is supported.one of
getDetails includeCostboolean- Include cost information
runwaremcp_get_task_detailsRetrieve the original request and response for a previously executed task.Read-onlyGetTaskDetails
Retrieve the original request and response for a previously executed task. Useful for recovering results or auditing past generations.
Inputs
taskUUIDstringrequired- UUID of the task to retrieve
runwaremcp_list_capabilitiesList every model capability Runware supports, with their human-readable labels.Read-onlyList Capabilities
List every model capability Runware supports, with their human-readable labels. Use this to discover the taxonomy (e.g. "io:text-to-image", "op:upscale") before filtering list_models by capability, or to answer "what can Runware do?".
Inputs
This tool takes no inputs.
runwaremcp_list_modelsList Runware's official, curated model integrations.Read-onlyList Models
List Runware's official, curated model integrations. Returns each model's name, AIR identifier, headline, capabilities, and pricing. Call this FIRST whenever the user names or asks about a model that could be first-party (e.g. "FLUX 2 dev", "SDXL", "Veo 3", "Gemma", "Wan 2.5", "Z-Image"), and also for open-ended "what models are available?" questions. Match the user's named model against the returned names. Only fall through to model_search if no curated entry matches.
Inputs
capabilitystring- Optional capability filter (e.g. "io:text-to-image", "op:upscale"). Use list_capabilities first to discover valid ids.
categorystring- Optional output-modality filterone of
imagevideoaudiotext3d creatorstring- Optional creator id filter (e.g. "google", "alibaba")
searchstring- Optional free-text search across name, AIR, creator, capabilities
runwaremcp_model_detailsGet the full curated metadata for a single Runware model by AIR identifier — name, headline, description, capabilities, pricing, and creator.Read-onlyGet Model Details
Get the full curated metadata for a single Runware model by AIR identifier — name, headline, description, capabilities, pricing, and creator. Use this when the user wants more depth on a model already surfaced by list_models, or to confirm an AIR matches what the user named.
Inputs
airstringrequired- Model AIR identifier (e.g. "runware:400@1")
runwaremcp_model_examplesGet sample input/output examples for a curated Runware model.Read-onlyGet Model Examples
Get sample input/output examples for a curated Runware model. Useful when the user wants to see what a model produces, or to crib a working request shape before constructing a run() call.
Inputs
airstringrequired- Model AIR identifier
capabilitystring- Optional capability filter (e.g. "io:text-to-image")
runwaremcp_model_pricingGet pricing details for a curated Runware model — overview text plus example configurations with prices (e.g.Read-onlyGet Model Pricing
Get pricing details for a curated Runware model — overview text plus example configurations with prices (e.g. "1024×1024 = $0.0032"). Use this when the user asks how much a specific model will cost.
Inputs
airstringrequired- Model AIR identifier
runwaremcp_model_schemaGet the parameter schema for a specific model.Read-onlyGet Model Schema
Get the parameter schema for a specific model. Returns the JSON Schema describing all accepted parameters, their types, defaults, and constraints. ALWAYS call this before calling run() with a model you haven't used before, so you know what parameters to pass.
Inputs
modelstringrequired- Model AIR identifier (e.g., "runware:400@1", "google:3@3", "google:gemma@4-31b")
runwaremcp_model_searchSearch Runware's Civitai mirror and community-uploaded models — third-party fine-tunes, user uploads, style LoRAs, custom checkpoints.Read-onlyModelSearch
Search Runware's Civitai mirror and community-uploaded models — third-party fine-tunes, user uploads, style LoRAs, custom checkpoints. ONLY use this AFTER list_models has been checked and the user's named model is not in the curated catalog, OR when the user explicitly asks for a Civitai or community model. Do NOT use this for first-party models like FLUX, SDXL, Veo, Imagen, Gemma, Wan, Z-Image — those live in list_models.
Inputs
searchstringrequired- Search query (name, description, or AIR ID)
architecturestring- Filter by architecture (e.g. "flux-1-dev", "sdxl")
categorystring- Filter by model categoryone of
checkpointloralycorisvaeembeddings tagsarray- Filter by tags
typestring- Filter checkpoints by type (only when category=checkpoint)one of
baseinpaintingrefiner
runwaremcp_model_uploadUpload a custom AI model to Runware (checkpoint, LoRA, VAE, embeddings, etc.).WriteModelUpload
Upload a custom AI model to Runware (checkpoint, LoRA, VAE, embeddings, etc.). Returns the AIR identifier once the upload completes.
Inputs
architecturestringrequired- Model architecture (e.g. "flux-1-dev", "sdxl")
categorystringrequired- Model categoryone of
checkpointloralycorisvaeembeddings downloadURLstringrequired- URL where the model weights can be downloaded from
formatstringrequired- Weight file formatone of
safetensors namestringrequired- Display name for the model
versionstringrequired- Model version
airstring- Optional AIR identifier (format: provider:model@version)
runwaremcp_runRun an AI inference task on Runware.WriteRun
Run an AI inference task on Runware. Supports image generation, video generation, audio generation, 3D generation, upscaling, background removal, captioning, and more. Pass a model AIR identifier and task-specific parameters. Example: { "model": "runware:400@1", "positivePrompt": "a cat", "width": 1024, "height": 1024 }
Inputs
modelstringrequired- Model AIR identifier (e.g., "runware:400@1" for image, "google:3@3" for video, "google:gemma@4-31b" for LLM)
runwaremcp_media_storageStore or delete media (images, video, audio, 3D models) in your Runware account.DestructiveMedia storage
Store or delete media (images, video, audio, 3D models) in your Runware account. Upload returns a media UUID you can reuse as input (seedImage, referenceImages, etc.); delete removes previously stored media by its media UUID.
Inputs
mediastringrequired- For upload: URL, data URI, or base64 of the media. For delete: the media UUID to remove
operationstringrequired- Whether to upload new media or delete stored mediaone of
uploaddelete
No tools match.