Skip to main content
Glama

Sora MCP Server

An MCP (Model Context Protocol) server for OpenAI's Sora video generation API. This server allows AI assistants to generate, manage, and download AI-generated videos using OpenAI's Sora models.

Features

  • Create videos from text prompts using Sora-2 or Sora-2-Pro models

  • Image-to-video generation using reference images

  • Remix existing videos with targeted modifications

  • Monitor video generation progress

  • Download completed videos, thumbnails, and spritesheets

  • List and manage your video library

Related MCP server: Sora MCP Server

Prerequisites

  • Node.js 18+

  • OpenAI API key with Sora access

Installation

npm install
npm run build

Configuration

Set your OpenAI API key as an environment variable:

export OPENAI_API_KEY=your-api-key-here

Usage with Claude Code

claude mcp add-json sora '{
  "command": "node",
  "args": ["/path/to/sora-mcp-server/dist/index.js"],
  "env": {
    "OPENAI_API_KEY": "your-api-key-here"
  }
}'

Available Tools

create_video

Create a new video from a text prompt.

Parameters:

  • prompt (required): Text description of the video

  • model: sora-2 (faster) or sora-2-pro (higher quality)

  • size: Resolution (1920x1080, 1080x1920, 1280x720, 720x1280, 1024x1024)

  • seconds: Duration (5, 10, 15, or 20)

Example:

Create a video of a cat playing piano on stage

create_video_with_image

Create a video using an image as the first frame.

Parameters:

  • prompt (required): Description of the motion/action

  • image_url: URL of the reference image

  • image_base64: Base64-encoded image (alternative to URL)

  • model, size, seconds: Same as create_video

get_video_status

Check the status of a video generation job.

Parameters:

  • video_id (required): The video job ID

download_video

Get download URL for a completed video.

Parameters:

  • video_id (required): The video job ID

  • variant: video (MP4), thumbnail, or spritesheet

list_videos

List all your video generation jobs.

Parameters:

  • limit: Number of results (1-100)

  • order: asc or desc

  • after: Pagination cursor

delete_video

Delete a video from OpenAI's storage.

Parameters:

  • video_id (required): The video job ID

remix_video

Create a variation of an existing video.

Parameters:

  • video_id (required): The completed video to remix

  • prompt (required): Description of changes to apply

wait_for_video

Poll until a video completes or fails.

Parameters:

  • video_id (required): The video job ID

  • poll_interval_seconds: Time between checks (default: 10)

  • timeout_seconds: Maximum wait time (default: 600)

Prompting Tips

For best results with Sora, describe:

  • Shot type: Wide shot, close-up, tracking shot

  • Subject: What/who is in the video

  • Action: What is happening

  • Setting: Where it takes place

  • Lighting: Time of day, mood

Example: "Wide tracking shot of a teal coupe driving through a desert highway, heat ripples visible, hard sun overhead."

Content Restrictions

The Sora API enforces these restrictions:

  • Content must be suitable for audiences under 18

  • No copyrighted characters or music

  • No real people or public figures

  • No human faces in reference images

Models

Model

Best For

Speed

Quality

sora-2

Prototyping, iteration

Fast

Good

sora-2-pro

Production, final output

Slow

Excellent

License

MIT

Available Tools

9 tools
create_videoA

Create a new video generation job using OpenAI's Sora model. Returns a job ID that can be used to check status and download the video when complete. Video generation is asynchronous and may take several minutes.

Inputs: prompt (required), size, model, seconds.

create_video_with_imageB

Create a video using an image as the first frame reference. The image guides the visual style and composition of the generated video.

Inputs: prompt (required), size, model, seconds, +2 more.

delete_videoA

Delete a video from OpenAI's storage. This action cannot be undone.

Inputs: video_id (required).

download_videoA

Get a download URL for a completed video. The URL is valid for 1 hour. Only works for videos with 'completed' status.

Inputs: video_id (required), variant.

get_video_statusA

Get the current status of a video generation job. Returns progress percentage and status (queued, in_progress, completed, failed).

Inputs: video_id (required).

list_videosA

List all video generation jobs for your account with pagination support.

Inputs: after, limit, order.

remix_videoA

Create a variation of an existing completed video with targeted adjustments. Preserves the original structure while applying the specified changes. Best for single, well-defined modifications.

Inputs: prompt (required), video_id (required).

save_videoB

Download and save a completed video to a local file. This handles authentication internally so the API key is not exposed.

Inputs: video_id (required), variant, output_path.

wait_for_videoA

Poll a video job until it completes or fails. Returns the final status. Useful for waiting on video generation without manual polling.

Inputs: video_id (required), timeout_seconds, poll_interval_seconds.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct operation: creation (with and without image), status checking (one-time and polling), retrieval (URL and local save), listing, deletion, and remixing. The overlapping pairs like wait_for_video vs get_video_status and download_video vs save_video are clearly differentiated by their descriptions.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case, such as create_video, get_video_status, download_video, and delete_video. The only deviation, create_video_with_image, still follows the same structural convention with a descriptive modifier, maintaining overall consistency.

    Tool Count5/5

    With 9 tools, the server is well-scoped for its domain of video generation. Each tool serves a clear purpose in the workflow—creation, status monitoring, retrieval, management, and remixing—without bloat or redundancy.

    Completeness5/5

    The tool set covers the entire video generation lifecycle: create (both text and image-based), wait for completion, check status, list, download (via URL or local save), delete, and remix. No significant gaps are apparent; the only potential addition would be cancellation, but this is likely unsupported by the underlying API.

    Related MCP Connectors

    Related MCP Servers