mcp-luma-dream-machine
루마 AI MCP 서버 🎥
Luma AI의 Dream Machine API를 위한 모델 컨텍스트 프로토콜 서버입니다.
개요
이 MCP 서버는 Luma AI의 Dream Machine API(v1)와 통합되어 대규모 언어 모델(LML)을 통해 AI가 생성한 비디오 및 이미지를 생성, 관리 및 조작하는 도구를 제공합니다. 또한, 모델 컨텍스트 프로토콜(MCP)을 구현하여 AI 어시스턴트와 Luma의 크리에이티브 도구 간의 원활한 상호작용을 지원합니다.
Related MCP server: mcp-media-engine
특징 ✨
텍스트-비디오 생성
키프레임을 사용한 고급 비디오 생성
이미지-비디오 변환
비디오 확장 및 보간
참조 이미지를 사용한 이미지 생성
비디오에 오디오 추가
비디오 업스케일링
신용 관리
세대 추적 및 상태 확인
도구 🛠️
pingLuma API가 실행 중인지 확인하세요
매개변수가 필요하지 않습니다
create_generation새로운 비디오 세대를 만듭니다
입력:
prompt(문자열, 필수): 생성할 비디오의 텍스트 설명model(문자열, 선택 사항): 사용할 모델(기본값: "ray-2")사용 가능한 모델: "ray-1-6", "ray-2", "ray-flash-2"
resolution(문자열, 선택 사항): 비디오 해상도(선택 사항: "540p", "720p", "1080p", "4k")duration(문자열, 선택 사항): 비디오 지속 시간(현재 "5초"와 "9초"만 지원됨)aspect_ratio(문자열, 선택 사항): 비디오 종횡비(예: "16:9", "1:1", "9:16", "4:3", "3:4", "21:9", "9:21")loop(부울, 선택 사항): 비디오를 루프할지 여부keyframes(객체, 선택 사항): 고급 비디오 생성을 위한 시작 및 종료 프레임:frame0및/또는frame1중 하나:이미지 키프레임의 경우
{"type": "image", "url": "image_url"}비디오 키프레임의 경우
{"type": "generation", "id": "generation_id"}
get_generation세대의 상태를 가져옵니다
입력:
generation_id(문자열, 필수): 확인할 세대의 ID
출력에는 다음이 포함됩니다.
세대 ID
상태(대기, 꿈, 완료, 실패)
실패 이유(실패한 경우)
비디오 URL(완료된 경우)
list_generations모든 세대를 나열합니다
입력:
limit(숫자, 선택 사항): 반환할 최대 세대 수(기본값: 10)offset(숫자, 선택 사항): 건너뛸 세대 수
delete_generation세대를 삭제합니다
입력:
generation_id(문자열, 필수): 삭제할 세대의 ID
upscale_generation비디오 생성을 더 높은 해상도로 업스케일합니다.
입력:
generation_id(문자열, 필수): 업스케일할 세대의 IDresolution(문자열, 필수): 업스케일된 비디오의 대상 해상도("540p", "720p", "1080p" 또는 "4k" 중 하나)
메모:
업스케일링하려면 세대가 완료된 상태여야 합니다.
대상 해상도는 원래 세대의 해상도보다 높아야 합니다.
각 세대는 한 번만 확장할 수 있습니다.
add_audioAI가 생성한 오디오를 비디오 생성에 추가합니다.
입력:
generation_id(필수): 오디오를 추가할 세대의 IDprompt(필수): 오디오 생성을 위한 프롬프트negative_prompt(선택 사항): 오디오 생성을 위한 부정 프롬프트callback_url(선택 사항): 오디오 처리가 완료되면 알림을 보낼 URL
generate_image선택적 참조 이미지가 포함된 텍스트 프롬프트에서 이미지를 생성합니다.
입력:
prompt(문자열, 필수): 생성할 이미지에 대한 텍스트 설명model(문자열, 선택 사항): 이미지 생성에 사용할 모델(기본값: "photon-1")사용 가능한 모델: "photon-1", "photon-flash-1"
aspect_ratio(문자열, 선택 사항): 이미지 종횡비(비디오와 동일한 옵션)image_ref(배열, 선택 사항): 생성을 안내하는 참조 이미지각 참조:
{"url": "image_url", "weight": optional_float}
style_ref(배열, 선택 사항): 스타일 참조 이미지각 참조:
{"url": "image_url", "weight": optional_float}
character_ref(객체, 선택 사항): 캐릭터 참조 이미지형식:
{"identity_name": {"images": ["url1", "url2", ...]}}
modify_image_ref(객체, 선택 사항): 수정할 이미지형식:
{"url": "image_url", "weight": optional_float}
get_credits현재 사용자의 신용 정보를 가져옵니다.
매개변수가 필요하지 않습니다
사용 가능한 신용 잔액을 USD 센트로 반환합니다.
get_camera_motions
지원되는 모든 카메라 모션을 가져옵니다.
매개변수가 필요하지 않습니다
반환: 사용 가능한 카메라 모션 문자열 목록
Claude Desktop 설정 🖥️
Luma AI 에서 Luma API 키를 받으세요(가입하거나 로그인하여 API 키를 받으세요)
Claude Desktop 구성 파일에 다음을 추가하세요.
macOS의 경우:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows의 경우:
%APPDATA%\Claude\claude_desktop_config.json
지엑스피1
바꾸다:
/path/to/your/luma-ai-mcp-server서버 디렉토리의 실제 경로를 추가합니다.실제 Luma API 키와 함께
your-luma-api-key-here
Claude Desktop을 다시 시작하세요
이제 Claude Desktop 대화에서 Luma AI 도구를 바로 사용할 수 있습니다.
빠른 문제 해결 🛠️
문제가 있는 경우:
API 키가 올바른지 확인하세요
서버 경로가 올바른지 확인하세요
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log사용하여 로그를 확인하세요.
고급 비디오 생성 유형 🎬
Luma API는 키프레임을 통해 다양한 유형의 고급 비디오 생성을 지원합니다.
이미지에서 시작 :
frame0에type: "image"및 이미지 URL을 제공합니다.이미지로 마무리 :
frame1에type: "image"및 이미지 URL을 제공합니다.비디오 확장 :
frame0에type: "generation"과 세대 ID를 제공합니다.비디오 역방향 확장 :
frame1에type: "generation"과 세대 ID를 제공합니다.비디오 간 보간 :
frame0과frame1모두에type: "generation"과 세대 ID를 제공합니다.
API 제한 사항 및 참고 사항 📝
지속 시간 : 현재 API는 "5초" 또는 "9초"의 지속 시간만 지원합니다.
해상도 : 유효한 값은 "540p", "720p", "1080p" 및 "4k"입니다.
모델 :
비디오 생성:
"ray-2"(기본값) - 최상의 품질, 더 느림
"ray-flash-2" - 더 빠른 생성
"ray-1-6" - 레거시 모델
이미지 생성:
"photon-1"(기본값) - 최상의 품질, 느림
"photon-flash-1" - 더 빠른 생성
생성 유형 : 비디오, 이미지 및 고급(키프레임 포함)
화면 비율 : "1:1"(정사각형), "16:9"(가로), "9:16"(세로), "4:3"(표준), "3:4"(표준 세로), "21:9"(울트라와이드), "9:21"(울트라와이드 세로)
상태 : "대기 중", "꿈꾸는 중", "완료", "실패"
업스케일링 :
비디오 세대는 "완료" 상태일 때만 업스케일링할 수 있습니다.
대상 해상도는 원래 세대의 해상도보다 높아야 합니다.
각 세대는 한 번만 확장할 수 있습니다.
API 키 : 환경 변수에 필요함
API 버전 : Dream Machine API v1 사용
라이센스 📄
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
add_audio - First observed
create_generation - First observed
delete_generation - First observed
generate_image - First observed
get_camera_motions - First observed
get_credits - First observed
get_generation - First observed
list_generations - First observed
ping - First observed
upscale_generation
TDQS
Scored across 10 tools
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
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-
- AlicenseAqualityCmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1129 npmMIT
- 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.41413 npm9MIT
- 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-