MCP Server for OpenAI Sora 2 video generation in Claude Desktop with advanced features
This server has 7 well-named, action-verb tools with clear descriptions and reasonable schemas. However, several critical gaps prevent a higher score: (1) Output schemas are completely undocumented, callers have no way to know what fields to expect from any tool; (2) Error handling is minimal, no recovery guidance, no field validation error messages; (3) Some parameters lack descriptions or constraints; (4) No pagination documented for list_videos despite potentially large result sets; (5) Security concerns: no mention of API key handling, file path validation for download_video and generate_video_with_reference. The server is above-average compared to typical community servers (which score 40-50), but falls short of production grade (70+) due to missing output documentation and error guidance.
Download a completed video to local storage
Generate a video using OpenAI Sora 2 model with text prompt. Uses sora-2 model by default.
Generate a video using a reference image. The image will be animated according to the prompt.
List available video generation presets and best practices
List all recent videos
Remix an existing video with a new prompt while maintaining visual consistency
Output schemas completely undocumented. LLM cannot plan downstream operations or extract return values. No fields documented for any tool response.
Error handling lacks recovery guidance. Code throws McpError for missing video_id, but returns empty/generic responses for API failures. LLM has no actionable error messages.
No input validation or error messages for constraints. 'seconds' parameter allows 4-20 per description, but no validation shown. Invalid enum values (model field) will silently fail at API.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Retrieve the status and details of a video generation job
File path parameters accept user input without validation (generate_video_with_reference reference_image, download_video output_path). Risk of path traversal attacks or file write to unexpected locations.
list_videos lacks pagination metadata. No documented limit enforcement (baseline is cap at 20-50 results). Returning thousands of video objects would exhaust context and degrade LLM reasoning.
generate_video_with_reference and download_video lack file format/size constraints in descriptions. LLM cannot reason about valid image formats or maximum download sizes.
OPENAI_API_KEY loaded from environment but no documentation of how secrets are injected. Parameter descriptions do not mention the dependency or warn about API rate limits.