Luma MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows installation of the Luma MCP Server as an npm package for easy integration into projects.

  • Provides TypeScript type definitions and interfaces for type-safe interaction with the MCP server.

  • Uses Zod for input validation schemas to ensure properly formatted requests to the Luma AI API.

Luma MCP 서버

Luma AI의 비디오 생성 API를 Model Context Protocol (MCP)로 제공하는 서버

🌟 개요

Luma MCP Server는 Luma AI의 비디오 생성 기능을 MCP 서버로 제공합니다. 텍스트와 이미지에서 비디오를 생성하거나 기존 비디오를 확장하고 보간하는 기능을 제공합니다.

🏗️ 프로젝트 구조

src/ ├── types/ - 型定義 │ ├── schemas.ts - 入力スキーマ │ └── types.ts - 共通型定義 ├── services/ - ビジネスロジック ├── handlers/ - リクエストハンドラー │ └── tool-handlers.ts ├── clients/ - 外部APIクライアント │ └── luma-client.ts ├── utils/ - ユーティリティ │ └── error-handler.ts ├── config/ - 設定 │ └── server-config.ts └── index.ts - エントリーポイント

📦 설치

npm install @sunwood-ai-labs/luma-mcp-server

⚙️ 환경 설정

  1. Luma API 키 얻기
  2. 환경 변수 설정
    export LUMA_API_KEY=your_api_key_here

🛠️ 사용 가능한 도구

generate_video

텍스트 프롬프트에서 비디오를 생성합니다.

{ name: 'generate_video', arguments: { prompt: "A teddy bear in sunglasses playing electric guitar and dancing", loop: true, // オプション callback_url: "https://your-callback-url.com" // オプション } }

generate_video_from_image

이미지를 시작 프레임으로 비디오를 생성합니다.

{ name: 'generate_video_from_image', arguments: { prompt: "Low-angle shot of a majestic tiger prowling through a snowy landscape", image_url: "https://your-image-url.com/start-frame.jpg", loop: true, // オプション callback_url: "https://your-callback-url.com" // オプション } }

extend_video

기존 동영상을 확장합니다.

{ name: 'extend_video', arguments: { prompt: "Continue the dance sequence", source_generation_id: "existing-video-generation-id", loop: true, // オプション callback_url: "https://your-callback-url.com" // オプション } }

interpolate_videos

두 동영상 사이를 부드럽게 보간합니다.

{ name: 'interpolate_videos', arguments: { prompt: "Create a smooth transition between the videos", start_generation_id: "first-video-generation-id", end_generation_id: "second-video-generation-id", callback_url: "https://your-callback-url.com" // オプション } }

🔧 개발자 정보

아키텍처

  • 유형 정의 ( types/ ) :
    • schemas.ts : Zod를 사용한 입력 유효성 검사 스키마
    • types.ts : 공통 유형 정의 및 인터페이스
  • handlers/ ) :
    • tool-handlers.ts : MCP 도구 요청 처리
  • clients/ ) :
    • luma-client.ts : Luma AI API와의 통신 담당
  • utils/ ) :
    • error-handler.ts : 통일적인 오류 처리
  • 설정( config/ ) :
    • server-config.ts 중앙 집중식

오류 처리

  • 통일적인 오류 처리 시스템
  • MCP 오류 코드에 대한 적절한 매핑
  • 자세한 오류 메시지 및 로깅

📝 주의사항

  • 프롬프트는 영어로 작성하십시오.
  • 동영상을 생성하는 데 시간이 걸릴 수 있습니다.
  • API 이용 제한에 유의하세요.

🤝 기여

  1. 이 저장소를 포크
  2. 새로운 브랜치 만들기 ( git checkout -b feature/amazing-feature )
  3. 변경 커밋 ( git commit -m '✨ feat: Add amazing feature' )
  4. 브랜치 푸시 ( git push origin feature/amazing-feature )
  5. 끌어오기 요청 만들기

📄 라이센스

MIT License - 자세한 내용은 LICENSE 파일을 참조하십시오.

ID: ngjqwu3hyg