Luma MCP Server

<div align="center"> <img src="assets/header2.svg" alt="Luma MCP Server" width="100%" />

Luma MCP Server

Luma AIのビデオ生成APIをModel Context Protocol (MCP)として提供するサーバー

</div>

🌟 概要

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

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