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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Luma MCP Servergenerate a video of a cat playing piano in a jazz club"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Luma MCP Server
Luma AIのビデオ生成APIをModel Context Protocol (MCP)として提供するサーバー
🌟 概要
Luma MCP Serverは、Luma AIのビデオ生成機能をMCPサーバーとして提供します。テキストや画像からビデオを生成したり、既存のビデオを拡張・補間したりする機能を提供します。
Related MCP server: MCP Base
🏗️ プロジェクト構造
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⚙️ 環境設定
Luma APIキーの取得
Luma AI Developer PortalからAPIキーを取得してください。
環境変数の設定
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" // オプション
}
}🔧 開発者向け情報
アーキテクチャ
型定義 (:
schemas.ts: Zodを使用した入力バリデーションスキーマtypes.ts: 共通の型定義とインターフェース
ハンドラー (:
tool-handlers.ts: MCPツールのリクエスト処理
クライアント (:
luma-client.ts: Luma AI APIとの通信を担当
ユーティリティ (:
error-handler.ts: 統一的なエラー処理
設定 (:
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 ファイルを参照してください。