MCP server for video and image generation using RunwayML and Luma AI APIs, with prompt enhancement capabilities
The server demonstrates solid foundational quality with complete JSON schemas for all 10 tools and consistent descriptions. However, several patterns are underutilized: tool naming could be more specific (e.g., 'generate_text_to_video' vs 'text_to_video'), parameter descriptions lack detailed constraints and format guidance, output schemas are not documented, and error handling lacks recovery guidance. The enhance_prompt_tool shows good validation and error classification, but others (especially Luma tools) lack detailed parameter descriptions. No tool annotations present despite destructive operations (luma_delete_generation). Most parameters have enums where appropriate, which is positive, but descriptions for constrained parameters don't always restate the enum values for LLM clarity.
Uses an LLM (via OpenRouter) to refine a prompt for video generation.
Generates a video from an image using RunwayML or Luma AI.
Generates a video from text using RunwayML or Luma AI.
Adds audio to a specific Luma AI generation based on a prompt.
Deletes a specific Luma AI generation.
Generates an image using Luma AI.
Output schemas not documented. Tools return data but descriptions do not specify what fields are present in responses, limiting LLM's ability to plan downstream calls and extract relevant data.
Destructive operation (luma_delete_generation) lacks error handling guidance and confirmation/dry-run pattern. No tool annotations (destructiveHint) present despite WRITE/DESTRUCTIVE risk levels.
Parameter descriptions for Luma tools are minimal and don't restate enum constraints. For example, luma_get_camera_motions has empty input schema with no description of what it returns. luma_list_generations description is bare (missing information on what limit/offset do).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 55 | - | v1 |
Lists supported camera motions for Luma AI prompts.
Gets details for a specific Luma AI generation.
Lists previous Luma AI generations.
Upscales a specific Luma AI generation to a higher resolution.
Pagination not implemented consistently. luma_list_generations accepts limit/offset but no documentation of total count or next_cursor for large result sets. No cap on returned results specified.
Tool naming could be more verb-forward and specific. 'generate_text_to_video' vs 'text_to_video' or 'create_video_from_text'. Luma tools use 'luma_' prefix but don't clearly distinguish provider-specific variants from common operations.
Error handling lacks recovery guidance. No indication to LLM what to do if a generation fails (should it retry, check status, or call a different tool?). enhance_prompt_tool shows good error categorization, but other tools lack this pattern.