{"id":"doriandarko-sora-mcp","name":"sora-mcp","homepage":null,"repo_url":"https://github.com/Doriandarko/sora-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","model-context-protocol","video-generation","sora","openai","typescript","stdio","http","automation"],"what_it_does":"Provides an MCP server (stdio for local clients and HTTP for remote clients) that wraps OpenAI Sora 2 video generation APIs. Exposes tools to create videos, check job status, list jobs with pagination, download/save completed videos, remix existing videos, and delete jobs/assets.","use_cases":["Generate videos from text prompts via an MCP client","Remix or iterate on previously generated videos using a new prompt","Monitor long-running video generation jobs (queued/processing/completed)","Batch manage generation jobs (list with pagination, delete)","Automate saving downloaded outputs to a local directory"],"not_for":["Directly serving end-user video content on the public internet without additional hardening","Use as a secure multi-tenant service without access controls and rate limiting","Workflows that require a formal OpenAPI/SDK client library beyond MCP tooling"],"best_when":"You want to drive Sora 2 video generation through an MCP-capable desktop/IDE client (Claude Desktop, VS Code, Cursor) with local stdio transport or a locally-hosted HTTP transport for testing.","avoid_when":"You need strong, documented auth/rate-limit guarantees for untrusted remote callers, or you require a standardized REST/OpenAPI surface with published error codes and retry semantics.","alternatives":["Use OpenAI Sora 2 API directly from your own backend","Build a thin MCP wrapper around the OpenAI video endpoints with explicit auth, rate limiting, and OpenAPI spec","Use other existing MCP servers (if available) that wrap video generation APIs"],"af_score":67.2,"security_score":39.8,"reliability_score":25.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:37:11.807373+00:00","interface":{"has_rest_api":true,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"http://localhost:3000/mcp (for HTTP mode, per README)","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Environment variable OPENAI_API_KEY passed to the server process"],"oauth":false,"scopes":false,"notes":"No user/auth layer is described for the HTTP MCP server; the README indicates the OpenAI API key is provided via server environment variables."},"pricing":{"model":"OpenAI Sora 2 (via OpenAI API)","free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Project README does not describe pricing. Costs depend on OpenAI API usage for video generation/remixing."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":67.2,"security_score":39.8,"reliability_score":25.0,"mcp_server_quality":80.0,"documentation_accuracy":75.0,"error_message_quality":null,"error_message_notes":"README claims 'comprehensive error handling' and mentions validation and detailed messages, but does not provide concrete error code formats or documented retry guidance for MCP tool responses.","auth_complexity":95.0,"rate_limit_clarity":20.0,"tls_enforcement":40.0,"auth_strength":30.0,"scope_granularity":20.0,"dependency_hygiene":55.0,"secret_handling":60.0,"security_notes":"HTTP mode is described as running on port 3000, but README does not document authentication/authorization, rate limiting, or TLS requirements. OpenAI API key is provided via environment variables for the server process; however, there is no explicit guarantee about how the server secures/avoids leaking that key to clients or logs. Dependencies listed (express, dotenv, zod, MCP SDK) suggest typical Node hygiene, but no lockfile/CVE information is provided to confirm low risk.","uptime_documented":0.0,"version_stability":50.0,"breaking_changes_history":0.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":"No explicit idempotency behavior is described for create/remix. Job creation likely creates new jobs each call.","pagination_style":"cursor-based via 'after' plus 'limit' and 'order' (asc/desc)","retry_guidance_documented":false,"known_agent_gotchas":["Remote HTTP mode is network accessible; without explicit auth/rate-limit documentation, agents may unintentionally stress the service or expose the OpenAI key indirectly if misconfigured.","Job-based tools are asynchronous: agents should expect queued/processing states and poll get-video-status until completed.","download-video provides a curl command; agents should ensure they handle the returned command safely and avoid logging sensitive artifacts.","save-video auto-downloads to a default local directory; agents should confirm output_path/filename to prevent overwriting or writing to unexpected locations."]}}