✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more
Luma MCP Server# Luma MCP ServerLuma 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キーの取得
  1. 環境変数の設定
   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"  // オプション
  }
}

generatevideofrom_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

2つのビデオ間をスムーズに補間します。

{
  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 ファイルを参照してください。

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.