mcp-luma-dream-machine
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-luma-dream-machinecreate a 5-second video of a cat chasing a laser pointer in space"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Luma AI MCP Server 🎥
A Model Context Protocol server for Luma AI's Dream Machine API.
Overview
This MCP server integrates with Luma AI's Dream Machine API (v1) to provide tools for generating, managing, and manipulating AI-generated videos and images via Large Language Models. It implements the Model Context Protocol (MCP) to enable seamless interaction between AI assistants and Luma's creative tools.
Related MCP server: mcp-media-engine
Features ✨
Text-to-video generation
Advanced video generation with keyframes
Image-to-video conversion
Video extension and interpolation
Image generation with reference images
Audio addition to videos
Video upscaling
Credit management
Generation tracking and status checking
Tools 🛠️
pingCheck if the Luma API is running
No parameters required
create_generationCreates a new video generation
Input:
prompt(string, required): Text description of the video to generatemodel(string, optional): Model to use (default: "ray-2")Available models: "ray-1-6", "ray-2", "ray-flash-2"
resolution(string, optional): Video resolution (choices: "540p", "720p", "1080p", "4k")duration(string, optional): Video duration (only "5s" and "9s" are currently supported)aspect_ratio(string, optional): Video aspect ratio (e.g., "16:9", "1:1", "9:16", "4:3", "3:4", "21:9", "9:21")loop(boolean, optional): Whether to make the video loopkeyframes(object, optional): Start and end frames for advanced video generation:frame0and/orframe1with either:{"type": "image", "url": "image_url"}for image keyframes{"type": "generation", "id": "generation_id"}for video keyframes
get_generationGets the status of a generation
Input:
generation_id(string, required): ID of the generation to check
Output includes:
Generation ID
State (queued, dreaming, completed, failed)
Failure reason (if failed)
Video URL (if completed)
list_generationsLists all generations
Input:
limit(number, optional): Maximum number of generations to return (default: 10)offset(number, optional): Number of generations to skip
delete_generationDeletes a generation
Input:
generation_id(string, required): ID of the generation to delete
upscale_generationUpscales a video generation to higher resolution
Input:
generation_id(string, required): ID of the generation to upscaleresolution(string, required): Target resolution for the upscaled video (one of "540p", "720p", "1080p", or "4k")
Note:
The generation must be in a completed state to be upscaled
The target resolution must be higher than the original generation's resolution
Each generation can only be upscaled once
add_audioAdds AI-generated audio to a video generation
Input:
generation_id(required): The ID of the generation to add audio toprompt(required): The prompt for the audio generationnegative_prompt(optional): The negative prompt for the audio generationcallback_url(optional): URL to notify when the audio processing is complete
generate_imageGenerates an image from a text prompt with optional reference images
Input:
prompt(string, required): Text description of the image to generatemodel(string, optional): Model to use for image generation (default: "photon-1")Available models: "photon-1", "photon-flash-1"
aspect_ratio(string, optional): Image aspect ratio (same options as video)image_ref(array, optional): Reference images to guide generationEach ref:
{"url": "image_url", "weight": optional_float}
style_ref(array, optional): Style reference imagesEach ref:
{"url": "image_url", "weight": optional_float}
character_ref(object, optional): Character reference imagesFormat:
{"identity_name": {"images": ["url1", "url2", ...]}}
modify_image_ref(object, optional): Image to modifyFormat:
{"url": "image_url", "weight": optional_float}
get_creditsGets credit information for the current user
No parameters required
Returns available credit balance in USD cents
get_camera_motionsGets all supported camera motions
No parameters required
Returns: List of available camera motion strings
Setup for Claude Desktop 🖥️
Get your Luma API key from Luma AI (sign up or log in to get your API key)
Add this to your Claude Desktop configuration file:
On macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonOn Windows:
%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "luma": { "command": "uv", "args": [ "run", "--project", "/path/to/your/luma-ai-mcp-server", "-m", "luma_ai_mcp_server" ], "env": { "LUMA_API_KEY": "your-luma-api-key-here" } } } }Replace:
/path/to/your/luma-ai-mcp-serverwith the actual path to your server directoryyour-luma-api-key-herewith your actual Luma API key
Restart Claude Desktop
That's it! You can now use Luma AI tools directly in Claude Desktop conversations.
Quick Troubleshooting 🛠️
If you're having issues:
Check your API key is correct
Make sure the path to the server is correct
View logs with:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Advanced Video Generation Types 🎬
The Luma API supports various types of advanced video generation through keyframes:
Starting from an image: Provide
frame0withtype: "image"and an image URLEnding with an image: Provide
frame1withtype: "image"and an image URLExtending a video: Provide
frame0withtype: "generation"and a generation IDReverse extending a video: Provide
frame1withtype: "generation"and a generation IDInterpolating between videos: Provide both
frame0andframe1withtype: "generation"and generation IDs
API Limitations and Notes 📝
Duration: Currently, the API only supports durations of "5s" or "9s"
Resolution: Valid values are "540p", "720p", "1080p", and "4k"
Models:
Video generation:
"ray-2" (default) - Best quality, slower
"ray-flash-2" - Faster generation
"ray-1-6" - Legacy model
Image generation:
"photon-1" (default) - Best quality, slower
"photon-flash-1" - Faster generation
Generation types: Video, image, and advanced (with keyframes)
Aspect Ratios: "1:1" (square), "16:9" (landscape), "9:16" (portrait), "4:3" (standard), "3:4" (standard portrait), "21:9" (ultrawide), "9:21" (ultrawide portrait)
States: "queued", "dreaming", "completed", "failed"
Upscaling:
Video generations can only be upscaled when they're in a "complete" state
Target resolution must be higher than the original generation's resolution
Each generation can only be upscaled once
API Key: Required in environment variables
API Version: Uses Dream Machine API v1
License 📄
MIT
Available Tools
10 toolsadd_audioC
Adds audio to a video generation
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes | ||
| prompt | Yes | ||
| negative_prompt | No | ||
| callback_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('adds audio') but doesn't describe key traits: whether this is a mutation (likely, given 'adds'), what permissions or credits might be required, if it's asynchronous (hinted by 'callback_url' but not explained), or what happens on failure. This leaves significant gaps for a tool with 4 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without fluff. It's appropriately sized for a simple action, though it could be more front-loaded with key details. No wasted words, but it risks under-specification due to brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a mutation tool with 4 parameters, 0% schema coverage, no annotations, and no output schema), the description is incomplete. It doesn't explain the tool's behavior, parameter roles, or expected outcomes, making it inadequate for an AI agent to use correctly without guesswork. More context is needed to compensate for the lack of structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'audio' and 'video generation' but doesn't explain any parameters: e.g., what 'generation_id' refers to, how 'prompt' relates to audio generation, the purpose of 'negative_prompt' or 'callback_url'. This adds minimal meaning beyond the schema's basic titles, failing to address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Adds audio to a video generation' states the basic action (add audio) and resource (video generation), but it's vague about what this entails—does it generate audio from a prompt, upload existing audio, or something else? It distinguishes from siblings like 'create_generation' or 'upscale_generation' by focusing on audio addition, but lacks specificity on the verb's mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't clarify if this is for adding audio to an existing video generation (implied by 'generation_id') or how it relates to other tools like 'create_generation'. There's no mention of prerequisites, exclusions, or typical workflows, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_generationC
Creates a new video generation from text, image, or existing video
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| model | No | ray-2 | |
| resolution | No | ||
| duration | No | ||
| aspect_ratio | No | ||
| loop | No | ||
| keyframes | No | ||
| callback_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It lacks information on permissions, rate limits, whether it's asynchronous (suggested by 'callback_url' parameter), or what happens upon creation, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every word contributing to clarity, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain the creation process, output format, error handling, or how parameters interact, leaving the agent with inadequate context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter details. It mentions input types (text, image, video) but doesn't explain how they map to parameters like 'prompt' or 'keyframes', failing to provide meaningful semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('creates') and resource ('new video generation'), specifying it can be created from text, image, or existing video. However, it doesn't differentiate from sibling tools like 'generate_image' or 'upscale_generation' which also create visual content, missing explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'generate_image' for images or 'upscale_generation' for enhancements. The description implies creation but offers no context on prerequisites, timing, or exclusions, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_generationC
Deletes a generation
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Deletes') but fails to describe critical traits such as whether deletion is permanent, requires specific permissions, has side effects (e.g., affecting credits), or provides confirmation feedback. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, 'Deletes a generation', which is front-loaded and wastes no words. However, this conciseness comes at the cost of under-specification, but structurally it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a deletion operation, lack of annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. It does not address behavioral risks, parameter details, or expected outcomes, making it insufficient for safe and effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description does not add any meaning beyond the schema. It does not explain what 'generation_id' represents, its format, or how to obtain it, leaving the single required parameter undocumented. This fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Deletes a generation' restates the tool name 'delete_generation' with minimal elaboration, making it tautological. While it specifies the resource ('generation'), it lacks detail about what a 'generation' represents in this context or how this deletion differs from other operations on generations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an existing generation), exclusions, or comparisons to sibling tools like 'create_generation', 'get_generation', or 'upscale_generation', leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageC
Generates an image from a text prompt
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| model | No | photon-1 | |
| aspect_ratio | No | ||
| callback_url | No | ||
| image_ref | No | ||
| style_ref | No | ||
| character_ref | No | ||
| modify_image_ref | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the basic function without mentioning any behavioral traits: no information about rate limits, authentication requirements, whether it's a synchronous or asynchronous operation, what happens on failure, or what the output format looks like. For a complex tool with 8 parameters, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 6 words: 'Generates an image from a text prompt'. It's front-loaded with the core purpose and contains no unnecessary words. However, this conciseness comes at the cost of completeness for such a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, 0% schema coverage, no annotations, no output schema), the description is completely inadequate. It doesn't explain what the tool returns, how to interpret results, error conditions, or the purpose of most parameters. For an image generation tool with multiple advanced features like style references and character references, this minimal description fails to provide necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning none of the 8 parameters have descriptions in the schema. The tool description provides no information about any parameters beyond the required 'prompt' field. It doesn't explain what 'model', 'aspect_ratio', 'callback_url', 'image_ref', 'style_ref', 'character_ref', or 'modify_image_ref' do or when to use them. This leaves most parameters completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generates an image from a text prompt'. It specifies the verb ('generates'), resource ('image'), and input source ('text prompt'). However, it doesn't differentiate from sibling tools like 'create_generation' or 'upscale_generation', which might have overlapping functionality in image generation workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'create_generation' (which might be for video) or 'upscale_generation' (which might enhance existing images). There's no context about prerequisites, limitations, or typical use cases for this specific image generation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_camera_motionsB
Gets all supported camera motions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it 'Gets' data, implying a read operation, but doesn't specify if it's safe, requires authentication, has rate limits, or what the return format might be. This leaves significant behavioral gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a read operation with no parameters) and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'camera motions' are in this context, what the return data looks like, or any behavioral traits, leaving the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema description coverage is 100% (though empty). The description adds no parameter information, which is appropriate here. A baseline of 4 is given for zero-parameter tools, as there's nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Gets') and resource ('all supported camera motions'), making the purpose immediately understandable. It doesn't distinguish from siblings (like 'get_generation' or 'list_generations'), but it's specific enough to understand what it retrieves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for camera motions, or how it differs from other 'get' or 'list' tools in the sibling set, leaving the agent with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsB
Gets credit information for the current user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it 'gets' information, implying a read-only operation, but doesn't clarify aspects like authentication needs, rate limits, error conditions, or what 'credit information' entails (e.g., balance, history). This leaves significant gaps for a tool with no structured safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's function without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema) and lack of annotations, the description is minimal. It doesn't explain what 'credit information' includes (e.g., format, units) or behavioral traits like response structure, which could be helpful for an agent to interpret results effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The description correctly avoids redundant parameter information, earning a high baseline score for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('gets') and resource ('credit information for the current user'), making the tool's purpose understandable. However, it doesn't differentiate from sibling tools like 'get_generation' or 'list_generations' in terms of what specific data it retrieves, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., after certain actions), or exclusions, leaving the agent with minimal usage cues beyond the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_generationC
Gets the status of a generation
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Gets'), implying it's non-destructive, but doesn't cover other traits like authentication needs, rate limits, error handling, or what 'status' includes (e.g., progress, completion, errors). This leaves significant gaps for a tool that likely interacts with asynchronous processes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, though this conciseness comes at the cost of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (likely checking status of an asynchronous generation process), no annotations, no output schema, and low parameter coverage, the description is incomplete. It doesn't explain what 'status' means, what the return values are, or how this fits into workflows with siblings like 'create_generation'. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the tool description adds no information about the 'generation_id' parameter. It doesn't explain what a generation_id is, how to obtain it, its format, or its relationship to other tools (e.g., from 'create_generation'). This fails to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets the status of a generation' clearly states the verb ('Gets') and resource ('a generation'), but it's vague about what 'status' entails and doesn't differentiate from sibling tools like 'list_generations' or 'create_generation'. It's adequate but lacks specificity about the scope of information retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a generation_id from a prior operation), exclusions, or comparisons to siblings like 'list_generations' for bulk retrieval or 'create_generation' for initiating processes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_generationsD
Lists all generations
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to mention that this is a read-only operation, how pagination works with 'limit' and 'offset', potential rate limits, or what the output format looks like. This leaves critical behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly concise to the point of under-specification. While it uses only two words, it does not front-load essential information or structure it effectively, as it omits key details needed for tool selection and usage, making it inefficient rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of listing operations, lack of annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. It does not address what 'generations' are, how results are returned, or any contextual details, leaving the agent with insufficient information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description does not mention or explain the parameters 'limit' and 'offset'. It adds no meaning beyond the schema, failing to compensate for the lack of coverage, which is inadequate for a tool with 2 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists all generations' restates the tool name 'list_generations' with minimal elaboration, making it tautological. It specifies the verb 'lists' and resource 'generations' but lacks detail on what 'generations' refers to or how it differs from sibling tools like 'get_generation' or 'create_generation', leaving the purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'get_generation' for a specific generation or 'create_generation' for creating new ones. There is no mention of context, prerequisites, or exclusions, making it misleading for an agent to select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingB
Check if the Luma API is running
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Check' implies a read-only operation, it doesn't specify what 'running' means (e.g., returns status code, latency, version), whether it requires authentication, or what happens on failure. This leaves significant behavioral gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero wasted words. It's perfectly front-loaded and communicates the essential purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health-check tool with no parameters and no output schema, the description is minimally adequate but incomplete. It doesn't explain what the check returns (e.g., success/failure, status details) or how to interpret results, leaving the agent guessing about the tool's output behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't waste space discussing parameters that don't exist, which is efficient and correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Check if the Luma API is running' with a specific verb ('Check') and target ('Luma API'), making it immediately understandable. However, it doesn't differentiate from sibling tools (which are unrelated to API status checks), so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it relates to other tools in the server (like checking API status before attempting generation operations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upscale_generationC
Upscales a video generation to higher resolution
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes | ||
| resolution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as whether this is a mutation (likely), permissions required, rate limits, side effects, or what the output looks like (e.g., returns a new generation ID).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple tool and front-loaded with the core action, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks crucial context like output format, error conditions, or behavioral details, leaving significant gaps for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter details. It mentions 'higher resolution' but doesn't explain the 'resolution' enum values or what 'generation_id' refers to, leaving both parameters semantically unclear beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('upscales') and resource ('a video generation'), specifying the purpose as increasing resolution. It doesn't differentiate from siblings like 'create_generation' or 'get_generation', but the verb+resource combination is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing generation), exclusions, or how it relates to siblings like 'create_generation' or 'get_generation'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but there is some potential overlap between 'create_generation' (for video from text/image/video) and 'generate_image' (for image from text), which could cause confusion about when to use each. Otherwise, tools like 'add_audio', 'upscale_generation', and 'get_camera_motions' are clearly differentiated.
All tools follow a consistent verb_noun pattern with snake_case, such as 'create_generation', 'delete_generation', 'get_camera_motions', and 'upscale_generation'. The naming is predictable and uniform across the set.
With 10 tools, the count is well-scoped for a video/image generation API. It covers core operations like creation, retrieval, listing, deletion, and enhancement, without being overwhelming or too sparse.
The toolset provides good coverage for video and image generation workflows, including CRUD operations for generations and additional features like audio addition and upscaling. A minor gap is the lack of tools for modifying existing generations (e.g., update or edit), but agents can work around this by recreating or upscaling.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Luma Dream Machine AI video generation
Generate AI images and videos from any compatible MCP client.
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Google Veo AI video generation
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA server that provides Luma AI's video generation API as the Model Context Protocol (MCP)3
- AlicenseAqualityBmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1164MIT
- AlicenseBqualityDmaintenanceMCP server for generating and editing images using OpenAI, and creating videos using OpenAI Sora and Google Veo. Enables fetching media from URLs or disk with smart output placement.14289MIT
- FlicenseBqualityDmaintenanceA production-ready MCP server that enables Claude and other LLMs to generate images and videos using Google's Gemini AI models (Gemini 2.0 Flash and Veo 2.0).32
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bobtista/luma-ai-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server