sora-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENAI_API_KEY | Yes | Your OpenAI API key with Sora access |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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. |
| 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. |
| get_video_statusA | Get the current status of a video generation job. Returns progress percentage and status (queued, in_progress, completed, failed). |
| download_videoA | Get a download URL for a completed video. The URL is valid for 1 hour. Only works for videos with 'completed' status. |
| list_videosA | List all video generation jobs for your account with pagination support. |
| delete_videoA | Delete a video from OpenAI's storage. This action cannot be undone. |
| 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. |
| 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. |
| save_videoB | Download and save a completed video to a local file. This handles authentication internally so the API key is not exposed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
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.
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.
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.
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.