AI Video Generator MCP Server
AI Video Generator MCP Server
이 MCP(Model Context Protocol) 서버는 AI 이미지 생성 모델을 사용하여 텍스트 프롬프트와 이미지에서 동영상을 생성하는 도구를 제공합니다.
대응 모델
Luma Ray2 Flash - Luma의 최첨단 이미지 → 동영상 변환 모델
Kling v1.6 Pro - Kling의 고품질 이미지 → 동영상 변환 모델
Related MCP server: Video Edit MCP Server
기능
텍스트 프롬프트에서 동영상 생성
시작 및/또는 종료 이미지를 사용하여 동영상 생성
동영상 매개변수 제어(종횡비, 해상도, 길이, 루프)
생성 상태 확인
사용할 AI 모델 선택
설치
이 저장소를 복제합니다.
종속성을 설치합니다.
npm install.env파일을 만들고 FAL.AI API 키를 설정합니다.FAL_KEY=your_fal_key_hereAPI 키는 FAL.AI 에서 얻을 수 있습니다.
서버 빌드
npm run build서버 실행
서버를 직접 실행할 수 있습니다.
npm startClaude Desktop과의 통합
이 서버를 Claude Desktop에서 사용하려면 claude_desktop_config.json 파일에 다음과 같이 추가합니다.
{
"mcpServers": {
"video-generator": {
"command": "node",
"args": ["your_install_path/fal-mcp-server/build/index.js"],
"env": {
"FAL_KEY": "your_fal_key_here"
}
}
}
}사용 가능한 도구
generate-video
AI 모델을 사용하여 텍스트 프롬프트 및/또는 이미지에서 동영상을 생성합니다.
매개변수:
prompt(필수): 생성하려는 동영상의 내용 텍스트 설명image_url(선택사항): 동영상의 시작 이미지 URL(URL 또는 base64 데이터 URI)end_image_url(선택 사항): 동영상의 종료 이미지 URL(URL 또는 base64 데이터 URI)aspect_ratio(기본값 "16:9"): 동영상의 화면 비율("16:9", "9:16", "4:3", "3:4", "21:9", "9:21")resolution(기본값 "540p"): 동영상 해상도("540p", "720p", "1080p")duration(기본 "5s"): 동영상 길이("5s", "9s")loop(기본값 false): 동영상을 반복할지 여부model(기본 "luma"): 사용할 AI 모델("luma"=Ray2, "kling"=Kling v1.6 Pro)
check-video-status
동영상 생성 요청의 상태를 확인합니다.
매개변수:
request_id(필수): 확인할 요청 IDmodel(기본 "luma"): 요청에 사용된 AI 모델("luma"=Ray2, "kling"=Kling v1.6 Pro)
Claude에서의 사용 예
猫が毛糸玉で遊んでいる動画を生成してください。縦向きモードでお願いします。Klingモデルを使用してください。Claude는 적절한 매개 변수로 generate-video 도구를 호출하여 결과 동영상 URL을 제공합니다.
모델 비교
Luma Ray2 Flash : 부드러운 움직임과 현실적인 물리 거동이 뛰어나 자연스러운 결과를 얻을 수 있습니다.
Kling v1.6 Pro : 상세한 질감과 특수 효과가 뛰어나며 스타일화된 결과를 얻을 수 있습니다.
프롬프트와 원하는 결과에 따라 최적의 모델이 다를 수 있습니다.
제한사항
동영상을 생성하는 데 시간이 걸릴 수 있습니다(특히 고해상도인 경우).
유효한 FAL.AI API 키와 충분한 크레딧이 필요합니다.
고해상도 및 긴 동영상은 더 많은 크레딧을 소모합니다.
두 모델 모두 FAL.AI 크레딧을 소비합니다 (요금은 모델마다 다를 수 있음)
문제해결
API 키 오류
FAL_KEY 환경 변수가 올바르게 설정되었는지 확인합니다. Claude Desktop 구성 파일에서 직접 설정할 수도 있습니다.
동영상 생성 오류
동영상 생성 중에 오류가 발생하면 자세한 오류 메시지가 기록됩니다. 일반적인 문제는 :
API 키가 잘못되었거나 만료됨
계정 크레딧 부족
부적절한 프롬프트 또는 이미지
서버 측 임시 문제
오류가 계속되면 잠시 기다렸다가 다시 시도하거나 프롬프트를 변경해 보십시오.
라이센스
MIT
Available Tools
2 toolscheck-video-statusC
Check the status of a video generation request
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | AI model used for the request (luma=Ray2, kling=Kling) | luma |
| request_id | Yes | The request ID to check |
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 states what the tool does but reveals nothing about response format, error conditions, rate limits, authentication requirements, or whether this is a read-only operation (though implied by 'check'). For a status-checking tool with zero annotation coverage, this leaves significant behavioral 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 states the core purpose without any wasted words. It's appropriately sized and front-loaded with the essential information.
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 status-checking tool with no annotations and no output schema, the description is incomplete. It doesn't explain what status information will be returned, possible states (pending, completed, failed), or how to interpret results. The agent would need to guess about the tool's behavior and output format.
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 100%, so the schema already fully documents both parameters. The description doesn't add any parameter semantics beyond what's in the schema (like explaining the relationship between request_id and previous video generation). Baseline 3 is appropriate when the schema does all the parameter documentation work.
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 ('check') and resource ('video generation request'), making the purpose immediately understandable. However, it doesn't differentiate this status-checking tool from its sibling 'generate-video' tool, which would be helpful for an agent choosing between them.
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. There's no mention of prerequisites (like needing a request_id from a previous generation), nor does it explain the relationship with the sibling 'generate-video' tool, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate-videoB
Generate a video from text prompt and/or images using AI models (Luma or Kling)
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio of the video | 16:9 |
| duration | No | Duration of the video (9s costs 2x more) | 5s |
| end_image_url | No | Final image to end the video with (URL or base64 data URI) | |
| image_url | No | Initial image to start the video from (URL or base64 data URI) | |
| loop | No | Whether the video should loop (blend end with beginning) | |
| model | No | AI model to use (luma=Ray2, kling=Kling) | luma |
| prompt | Yes | Text description of the desired video content | |
| resolution | No | Resolution of the video (higher resolutions use more credits) | 540p |
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 mentions AI models but doesn't disclose important behavioral traits like: whether this is a synchronous or asynchronous operation, what permissions or authentication are needed, rate limits, credit costs (beyond the hint in the duration parameter schema), or what the output looks like. The description is minimal and lacks crucial operational context.
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 states the core purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information. Every word earns its place in this concise formulation.
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 complex video generation tool with 8 parameters and no annotations or output schema, the description is insufficient. It doesn't explain the operation's nature (async/sync), authentication requirements, cost implications beyond the duration hint, error conditions, or what happens after invocation. The combination of complexity and lack of structured metadata demands more comprehensive description.
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 100%, so the schema already documents all 8 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. The baseline score of 3 reflects adequate coverage through the schema alone, but the description doesn't enhance understanding of parameter usage or relationships.
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: 'Generate a video from text prompt and/or images using AI models (Luma or Kling)'. It specifies the verb ('generate'), resource ('video'), and input sources ('text prompt and/or images'), but doesn't differentiate from its sibling tool 'check-video-status' beyond the obvious generation vs. status check 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?
The description implies usage context by mentioning AI models (Luma or Kling), suggesting this is for AI-generated video creation. However, it doesn't provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. The sibling tool 'check-video-status' is clearly complementary rather than an alternative.
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.
2 tool updates
v1.0.0- First observed
check-video-status - First observed
generate-video
TDQS
Scored across 2 tools
The two tools have completely distinct purposes with no overlap: one checks status of existing requests, the other creates new videos. An agent would never confuse these functions as they operate on different stages of the video generation workflow.
Both tools follow a consistent verb-object naming pattern with hyphen separation: 'check-video-status' and 'generate-video'. The naming is predictable and follows the same convention throughout the set.
With only 2 tools for a video generation server, the surface feels severely limited. While the basic create+status pair covers minimal functionality, a video generation domain typically requires more operations like listing videos, canceling generations, or managing templates. The count is too low for the apparent scope.
The toolset provides only generation initiation and status checking, creating significant gaps. Missing are operations like listing existing videos, canceling pending generations, retrieving generated content, managing templates/presets, or configuring generation parameters. Agents will hit dead ends when trying to manage the video lifecycle beyond initial creation.
Maintenance
Related MCP Connectors
MCP server for Kling AI video generation
MCP server for Google Veo AI video generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Wan AI video generation
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA server that provides Luma AI's video generation API as the Model Context Protocol (MCP)3-
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables AI assistants to perform comprehensive video and audio editing operations including trimming, effects, overlays, audio processing, and YouTube downloads.28MIT
- AlicenseAqualityBmaintenanceFastMCP server for Google's gemini-omni-flash-preview video model, enabling text-to-video, image-to-video, and video editing with stateful interactions and batch generation.264 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for AI image and video generation using Midjourney through the AceDataCloud API.MIT