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サーバーとして提供します。テキストや画像からビデオを生成したり、既存のビデオを拡張・補間したりする機能を提供します。
🏗️ プロジェクト構造
Copy
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 - エントリーポイント
📦 インストール
Copy
npm install @sunwood-ai-labs/luma-mcp-server
⚙️ 環境設定
- Luma APIキーの取得
- Luma AI Developer PortalからAPIキーを取得してください。
- 環境変数の設定Copyexport LUMA_API_KEY=your_api_key_here
🛠️ 使用可能なツール
generate_video
テキストプロンプトからビデオを生成します。
Copy
{
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
画像を開始フレームとしてビデオを生成します。
Copy
{
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
既存のビデオを拡張します。
Copy
{
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つのビデオ間をスムーズに補間します。
Copy
{
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の利用制限に注意してください
🤝 コントリビューション
- このリポジトリをフォーク
- 新しいブランチを作成 (
git checkout -b feature/amazing-feature
) - 変更をコミット (
git commit -m '✨ feat: Add amazing feature'
) - ブランチをプッシュ (
git push origin feature/amazing-feature
) - プルリクエストを作成
📄 ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください。
A server that provides Luma AI's video generation API as the Model Context Protocol (MCP)