{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_acedatacloud-mcp-mcp-sora","slug":"acedatacloud-mcp-mcp-sora","name":"mcp-sora","type":"mcp","url":"https://smithery.ai/servers/acedatacloud-mcp/mcp-sora","page_url":"https://unfragile.ai/acedatacloud-mcp-mcp-sora","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:acedatacloud-mcp/mcp-sora"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_acedatacloud-mcp-mcp-sora__cap_0","uri":"capability://tool.use.integration.openai.sora.video.generation.via.mcp.protocol","name":"openai sora video generation via mcp protocol","description":"Exposes OpenAI's Sora text-to-video API through the Model Context Protocol, allowing MCP clients (Claude Desktop, IDEs, agents) to invoke video generation by sending natural language prompts and receiving video URLs. Implements MCP's tool-calling schema to map Sora's generation parameters (prompt, duration, quality) into a standardized interface that any MCP-compatible host can consume without direct API key management.","intents":["I want to generate videos from text descriptions programmatically within my AI agent or IDE","I need to integrate Sora video generation into my MCP-based workflow without managing API credentials directly","I want to call Sora from Claude Desktop or other MCP clients as a native tool"],"best_for":["AI agent developers building multi-modal workflows with MCP","Teams using Claude Desktop who want native video generation capabilities","Developers building MCP servers that need video content creation as a composable service"],"limitations":["Depends on OpenAI API availability and Sora model access (limited beta/waitlist)","Video generation is asynchronous and may take 30-120 seconds; MCP server must handle polling or callback patterns","No built-in video processing or editing — only generation from text prompts","Rate limiting and quota enforcement depend on OpenAI account tier; no client-side throttling abstraction"],"requires":["OpenAI API key with Sora model access","MCP client implementation (Claude Desktop, mcp-cli, or custom MCP host)","Network connectivity to OpenAI API endpoints","Python 3.8+ or Node.js 16+ (depending on server implementation)"],"input_types":["text (natural language prompt)","optional: duration parameter (seconds)","optional: quality/resolution parameter"],"output_types":["video URL (HTTPS link to generated video)","structured metadata (generation ID, status, creation timestamp)"],"categories":["tool-use-integration","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_acedatacloud-mcp-mcp-sora__cap_1","uri":"capability://tool.use.integration.mcp.tool.schema.mapping.for.sora.parameters","name":"mcp tool schema mapping for sora parameters","description":"Translates OpenAI Sora's API parameters (prompt, duration, quality settings) into MCP's standardized tool-calling schema with JSON schema validation. Handles parameter validation, type coercion, and constraint enforcement (e.g., max prompt length, supported duration ranges) before forwarding requests to OpenAI, ensuring MCP clients receive clear error messages for invalid inputs.","intents":["I want to validate video generation parameters before sending them to OpenAI to avoid wasted API calls","I need to expose Sora's capabilities to MCP clients with clear documentation of what parameters are accepted","I want to enforce business rules (e.g., max video duration) at the MCP layer before hitting the API"],"best_for":["MCP server developers wrapping external APIs","Teams building guardrails around video generation (cost control, content policies)","Developers who want to extend Sora's parameter set with custom validation logic"],"limitations":["Schema validation is static — cannot adapt to OpenAI API changes without server redeploy","No built-in rate limiting or quota management; relies on OpenAI's account-level controls","Parameter constraints (e.g., prompt length) may drift from OpenAI's actual limits if not kept in sync"],"requires":["JSON schema validator (typically built into MCP SDK)","Knowledge of Sora's current API parameter specification","MCP server framework (e.g., mcp-python, mcp-node)"],"input_types":["JSON object with prompt, duration, quality fields"],"output_types":["validation result (pass/fail with error details)","normalized parameters ready for OpenAI API"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_acedatacloud-mcp-mcp-sora__cap_2","uri":"capability://automation.workflow.async.video.generation.with.polling.and.status.tracking","name":"async video generation with polling and status tracking","description":"Manages OpenAI Sora's asynchronous video generation workflow by initiating requests, polling for completion status, and returning video URLs once ready. Implements a polling loop with exponential backoff and timeout handling to abstract away Sora's async nature from MCP clients, which typically expect synchronous tool responses. Stores generation metadata (request ID, status, timestamps) to enable clients to check progress or retrieve results later.","intents":["I want to generate a video and wait for it to complete without managing polling logic myself","I need to check the status of a video generation that's still in progress","I want to retrieve a previously generated video URL using its generation ID"],"best_for":["MCP clients that can tolerate 30-120 second tool execution times","Agents that need to wait for video generation before proceeding to downstream tasks","Systems that need to track generation history and retrieve past results"],"limitations":["Polling adds latency — typical video generation takes 30-120 seconds, blocking the MCP tool call","No built-in persistence — generation metadata is lost if the server restarts; requires external state store for durability","Timeout handling is server-side only; if client disconnects during polling, the server may continue polling unnecessarily","Exponential backoff strategy is hardcoded; no configuration for different polling intervals or max retries"],"requires":["OpenAI API key with Sora access","Network connectivity to OpenAI endpoints","MCP client that supports long-running tool calls (>30 seconds)","Optional: persistent storage (Redis, database) for generation metadata if durability is needed"],"input_types":["text prompt","optional: generation ID (for status checks)"],"output_types":["video URL (when generation completes)","status object (generation_id, status, progress_percentage, created_at)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_acedatacloud-mcp-mcp-sora__cap_3","uri":"capability://tool.use.integration.mcp.protocol.transport.and.credential.isolation","name":"mcp protocol transport and credential isolation","description":"Implements the Model Context Protocol's server-side transport layer, handling incoming MCP requests from clients (Claude Desktop, custom agents, IDEs) and routing them to Sora API calls. Isolates OpenAI API credentials on the server side, so clients never see or manage keys directly — they invoke tools through MCP's standardized message format. Handles MCP protocol framing, request/response serialization, and error propagation back to clients.","intents":["I want to expose Sora video generation to multiple clients without sharing API keys","I need to run a centralized MCP server that multiple team members can connect to","I want to integrate Sora into Claude Desktop without hardcoding credentials in my client"],"best_for":["Teams sharing a single OpenAI account for video generation","Organizations that want centralized API credential management","Developers deploying MCP servers in shared environments (Docker, cloud)"],"limitations":["Credentials must be securely stored on the server (env vars, secrets manager); no client-side credential caching","MCP transport is typically stdio or HTTP; HTTP transport requires TLS/HTTPS for production security","No built-in authentication between MCP client and server — relies on network isolation or external auth layer","Server must be running and accessible for clients to invoke Sora; no offline capability"],"requires":["OpenAI API key stored securely (environment variable or secrets manager)","MCP server runtime (Python or Node.js)","MCP client that supports the transport protocol (stdio, HTTP, WebSocket)","Network connectivity between client and server"],"input_types":["MCP protocol messages (JSON-RPC format)"],"output_types":["MCP protocol responses (tool results, errors, status updates)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_acedatacloud-mcp-mcp-sora__cap_4","uri":"capability://automation.workflow.error.handling.and.api.failure.recovery","name":"error handling and api failure recovery","description":"Implements retry logic, timeout handling, and graceful error propagation for Sora API failures. Catches OpenAI API errors (rate limits, auth failures, service unavailability) and translates them into MCP-compatible error responses with actionable messages for clients. Includes exponential backoff for transient failures and circuit-breaker patterns to avoid cascading failures when Sora is unavailable.","intents":["I want my video generation to retry automatically if OpenAI's API is temporarily unavailable","I need clear error messages when video generation fails so I can debug or inform users","I want to avoid hammering OpenAI's API with retries if it's rate-limiting my account"],"best_for":["Production MCP servers that need resilience to transient API failures","Teams that want to provide better UX by retrying failed video generations","Systems that need detailed error logging for debugging and monitoring"],"limitations":["Retry logic is server-side only; if the client disconnects during retries, the server may continue retrying unnecessarily","Circuit breaker is in-memory; resets if the server restarts, potentially causing thundering herd on recovery","No exponential backoff configuration — retry strategy is hardcoded","Rate limit detection relies on parsing OpenAI error responses; if error format changes, detection may fail"],"requires":["OpenAI API key","MCP server framework with error handling support","Logging infrastructure (optional but recommended for monitoring retries)"],"input_types":["video generation request"],"output_types":["success response with video URL","error response with error code, message, and retry guidance"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":28,"verified":false,"data_access_risk":"high","permissions":["OpenAI API key with Sora model access","MCP client implementation (Claude Desktop, mcp-cli, or custom MCP host)","Network connectivity to OpenAI API endpoints","Python 3.8+ or Node.js 16+ (depending on server implementation)","JSON schema validator (typically built into MCP SDK)","Knowledge of Sora's current API parameter specification","MCP server framework (e.g., mcp-python, mcp-node)","OpenAI API key with Sora access","Network connectivity to OpenAI endpoints","MCP client that supports long-running tool calls (>30 seconds)"],"failure_modes":["Depends on OpenAI API availability and Sora model access (limited beta/waitlist)","Video generation is asynchronous and may take 30-120 seconds; MCP server must handle polling or callback patterns","No built-in video processing or editing — only generation from text prompts","Rate limiting and quota enforcement depend on OpenAI account tier; no client-side throttling abstraction","Schema validation is static — cannot adapt to OpenAI API changes without server redeploy","No built-in rate limiting or quota management; relies on OpenAI's account-level controls","Parameter constraints (e.g., prompt length) may drift from OpenAI's actual limits if not kept in sync","Polling adds latency — typical video generation takes 30-120 seconds, blocking the MCP tool call","No built-in persistence — generation metadata is lost if the server restarts; requires external state store for durability","Timeout handling is server-side only; if client disconnects during polling, the server may continue polling unnecessarily","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.2032283391607138,"quality":0.2,"ecosystem":0.38999999999999996,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.061Z","last_scraped_at":"2026-05-03T15:18:36.653Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=acedatacloud-mcp-mcp-sora","compare_url":"https://unfragile.ai/compare?artifact=acedatacloud-mcp-mcp-sora"}},"signature":"cOacTXMhgsXoJdoE2leMoyRMFI8YDtreGK9T/bJgNlkj6e99Bq3VeJF7dbr7D8Lh0WkJ6XveWzXzVzwY+8K+BQ==","signedAt":"2026-06-19T09:56:25.392Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/acedatacloud-mcp-mcp-sora","artifact":"https://unfragile.ai/acedatacloud-mcp-mcp-sora","verify":"https://unfragile.ai/api/v1/verify?slug=acedatacloud-mcp-mcp-sora","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}