mcpField
M
multimodal

multimodal

ローカル
github.com/rsmdtメディア・デザイン234 週間前に更新

multimodal について

multimodalは、複数のプロバイダーを統一インターフェースで利用し、画像・動画・音声の生成と文字起こしを行うMCPサーバーです。AIクライアントでメディア機能を使いたいユーザー向けで、プロバイダーの自動選択やファイル保存に対応します。

主な機能

  1. 01画像の生成と編集
  2. 02動画の生成
  3. 03音声と効果音の作成
  4. 04音声のテキスト変換
  5. 05設定済みプロバイダーの検出
  6. 06メディアファイルの保存

活用シーン

  1. 01テキストプロンプトから画像や動画を作成
  2. 02テキストを音声や効果音に変換
  3. 03音声ファイル内の発話を文字起こし
  4. 041つのワークフローで複数プロバイダーを利用

MCP 対応

画像生成・編集、動画と音声の生成、文字起こし、プロバイダー検索のツールをクライアントに公開します。プロバイダーは自動選択するか、リクエストごとに指定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rsmdt-multimodal": {
"command": "npx",
"args": [
"-y",
"@r16t/multimodal-mcp"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"XAI_API_KEY": "<XAI_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"ELEVENLABS_API_KEY": "<ELEVENLABS_API_KEY>",
"BFL_API_KEY": "<BFL_API_KEY>",
"MEDIA_OUTPUT_DIR": "<MEDIA_OUTPUT_DIR>"
}
}
}
}
起動コマンドnpx -y @r16t/multimodal-mcp
設定が必要な環境変数
OPENAI_API_KEYシークレットOpenAI API key for image, video, audio generation and transcription
XAI_API_KEYシークレットxAI API key for image and video generation
GEMINI_API_KEYシークレットGoogle Gemini API key for image, video, and audio generation
ELEVENLABS_API_KEYシークレットElevenLabs API key for audio generation and transcription
BFL_API_KEYシークレットBFL API key for FLUX image generation and editing
MEDIA_OUTPUT_DIRDirectory for saved media files (defaults to cwd)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@r16t/multimodal-mcp1.3.1

ツール

6

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
promptstringはい生成する画像のテキスト説明
qualitystringいいえ品質レベル:low、standard、high
providerstringいいえ使用するプロバイダー:openai、xai、google、bfl。省略した場合は自動選択されます。
aspectRatiostringいいえアスペクト比:1:1、16:9、9:16、4:3、3:4
outputDirectorystringいいえ生成ファイルの保存先ディレクトリ。絶対パスまたは相対パスに対応します(cwd を基準に解決)。既定値は MEDIA_OUTPUT_DIR 環境変数、未設定の場合は cwd です。
providerOptionsobjectいいえプロバイダー固有のパラメーターをそのまま渡します

詳細

multimodal-mcp

複数プロバイダーに対応したメディア生成 MCP サーバーです。OpenAI、xAI、Gemini、ElevenLabs、BFL(FLUX)を利用し、統一されたインターフェースからテキストプロンプトで画像、動画、音声の生成と文字起こしを行います。

特長

  • 🎨 画像生成 — OpenAI(gpt-image-1)、xAI(grok-imagine-image)、Gemini(imagen-4)、または BFL(FLUX Pro 1.1)を使って画像を生成します
  • ✏️ 画像編集 — OpenAI、xAI、Gemini、または BFL(FLUX Kontext)を使って画像を編集します
  • 🎬 動画生成 — OpenAI(sora-2)、xAI(grok-imagine-video)、または Gemini(veo-3.1)を使って動画を生成します
  • 🔊 音声生成 — OpenAI(tts-1)、Gemini、または ElevenLabs(Flash v2.5)を使ったテキスト読み上げに対応しています。ElevenLabs を使って効果音も生成できます
  • 🎙️ 音声の文字起こし — OpenAI(Whisper)または ElevenLabs(Scribe)を使った音声テキスト変換に対応しています
  • 🔄 自動検出 — 環境変数から設定済みのプロバイダーを自動的に検出します
  • 🎯 プロバイダーの選択 — リクエストごとにプロバイダーを自動選択するか、明示的に指定できます
  • 📁 ファイル出力 — 生成したすべてのメディアを、内容がわかりやすいファイル名でディスクに保存します

クイックスタート

少なくとも1つのプロバイダーの API キーを設定します。ほとんどの場合、必要なのは1つだけです。追加のプロバイダーを利用するには、キーを追加してください。

# Using OpenAI
claude mcp add multimodal-mcp -e OPENAI_API_KEY=sk-... -- npx -y @r16t/multimodal-mcp@latest

# Or using xAI
# claude mcp add multimodal-mcp -e XAI_API_KEY=xai-... -- npx -y @r16t/multimodal-mcp@latest

# Or using Gemini
# claude mcp add multimodal-mcp -e GEMINI_API_KEY=AIza... -- npx -y @r16t/multimodal-mcp@latest

# Or using ElevenLabs (audio + transcription)
# claude mcp add multimodal-mcp -e ELEVENLABS_API_KEY=xi-... -- npx -y @r16t/multimodal-mcp@latest

# Or using BFL/FLUX (images)
# claude mcp add multimodal-mcp -e BFL_API_KEY=... -- npx -y @r16t/multimodal-mcp@latest

別のエディターを使用していますか?Claude Desktop、Cursor、VS Code、Windsurf、Cline のセットアップ手順をご覧ください。

環境変数

変数必須説明
OPENAI_API_KEY少なくとも1つのプロバイダーキーOpenAI API キー — gpt-image-1、sora-2、tts-1、whisper-1 を使った画像・動画・音声の生成と文字起こしが有効になります
XAI_API_KEY少なくとも1つのプロバイダーキーxAI API キー — grok-imagine-image と grok-imagine-video を使った画像・動画の生成が有効になります
GEMINI_API_KEY少なくとも1つのプロバイダーキーGemini API キー — imagen-4、veo-3.1、gemini-2.5-flash-preview-tts を使った画像・動画・音声の生成が有効になります
GOOGLE_API_KEY—GEMINI_API_KEY の別名です。どちらの名前も使用できます
ELEVENLABS_API_KEY少なくとも1つのプロバイダーキーElevenLabs API キー — Flash v2.5 と Scribe v1 を使った音声生成(TTS、効果音)と文字起こしが有効になります
BFL_API_KEY少なくとも1つのプロバイダーキーBFL API キー — FLUX Pro 1.1 と FLUX Kontext を使った画像生成と編集が有効になります
MEDIA_OUTPUT_DIRいいえメディアファイルの保存先ディレクトリです。デフォルトは現在の作業ディレクトリです

利用可能なツール

generate_image

テキストプロンプトから画像を生成します。

パラメーター型必須説明
promptstringはい生成する画像のテキストによる説明
providerstringいいえ使用するプロバイダー:openai、xai、google、bfl。省略すると自動選択されます
aspectRatiostringいいえアスペクト比:1:1、16:9、9:16、4:3、3:4
qualitystringいいえ品質レベル:low、standard、high
outputDirectorystringいいえ生成したファイルの保存先ディレクトリです。絶対パスまたは相対パスを指定します。デフォルトは MEDIA_OUTPUT_DIR または cwd です
providerOptionsobjectいいえプロバイダー固有のパラメーターをそのまま渡します
generate_video

テキストプロンプトから動画を生成します。動画生成は非同期で、完了まで数分かかる場合があります。

パラメーター型必須説明
promptstringはい生成する動画のテキストによる説明
providerstringいいえ使用するプロバイダー:openai、xai、google。省略すると自動選択されます
durationnumberいいえ動画の長さ(秒)。プロバイダーごとの制限が適用されます
aspectRatiostringいいえアスペクト比:16:9、9:16、1:1
resolutionstringいいえ解像度:480p、720p、1080p
outputDirectorystringいいえ生成したファイルの保存先ディレクトリです。絶対パスまたは相対パスを指定します。デフォルトは MEDIA_OUTPUT_DIR または cwd です
providerOptionsobjectいいえプロバイダー固有のパラメーターをそのまま渡します
generate_audio

テキストから音声を生成します。テキスト読み上げと効果音に対応しています。音声生成は同期的に行われます。

ParameterTypeRequiredDescription
textstringYes音声に変換するテキスト、または生成する効果音の説明
providerstringNo使用するプロバイダー:openai、google、elevenlabs。省略した場合は自動選択されます
voicestringNo音声名(プロバイダー固有)。OpenAI:alloy、ash、coral、echo、fable、nova、onyx、sage、shimmer。Google:Kore、Charon、Fenrir、Aoede、Puck など。ElevenLabs:音声 ID
speednumberNo読み上げ速度の倍率(OpenAI のみ):0.25~4.0
formatstringNo出力形式(OpenAI のみ):mp3、opus、aac、flac、wav、pcm
outputDirectorystringNo生成ファイルの保存先ディレクトリ。絶対パスまたは相対パスを指定します。デフォルトは MEDIA_OUTPUT_DIR または cwd です
providerOptionsobjectNoプロバイダー固有のパラメーターをそのまま渡します。ElevenLabs:効果音を生成するには mode: "sound-effect" を、TTS モデルを選択するには model を設定します
transcribe_audio

音声をテキストに文字起こしします(音声認識)。

ParameterTypeRequiredDescription
audioPathstringYes文字起こしする音声ファイルの絶対パス
providerstringNo使用するプロバイダー:openai、elevenlabs。省略した場合は自動選択されます
languagestringNo文字起こしする言語のヒントとして指定する言語コード(例:en、fr、es)
providerOptionsobjectNoプロバイダー固有のパラメーターをそのまま渡します
list_providers

設定済みのメディア生成プロバイダーとその機能をすべて一覧表示します。パラメーターは不要です。

プロバイダーの機能

ProviderImageImage EditingVideoAudioTranscriptionKey Models
OpenAI✅✅✅✅✅gpt-image-1, sora-2, tts-1, whisper-1
xAI✅✅✅——grok-imagine-image, grok-imagine-video
Gemini✅✅✅✅—imagen-4, veo-3.1, gemini-2.5-flash-preview-tts
ElevenLabs———✅✅eleven_flash_v2_5, scribe_v1
BFL✅✅———flux-pro-1.1, flux-kontext-pro
画像のアスペクト比
Provider1:116:99:164:33:4
OpenAI✅✅✅✅✅
xAI✅✅✅✅✅
Gemini✅✅✅✅✅
BFL✅✅✅✅✅
動画のアスペクト比と解像度
Provider16:99:161:1480p720p1080p
OpenAI✅✅✅✅✅✅
xAI✅✅✅—✅✅
Gemini✅✅——✅✅
音声形式
Providermp3opusaacflacwavpcm
OpenAI✅✅✅✅✅✅
Gemini————✅—
ElevenLabs✅✅———✅

トラブルシューティング

プロバイダーが設定されていない
[config] No provider API keys detected

MCP サーバーの env ブロックで、OPENAI_API_KEY、XAI_API_KEY、GEMINI_API_KEY、ELEVENLABS_API_KEY、BFL_API_KEY のいずれかを設定してください。

要求されたメディアタイプに対応するプロバイダーが利用できない

プロバイダーによって対応するメディアタイプは異なります(プロバイダーの機能を参照)。設定されていない(API キーがない)プロバイダーや、要求されたメディアタイプに対応していないプロバイダーを provider に指定すると、エラーが返されます。設定済みのプロバイダーから自動選択するには、provider パラメーターを省略してください。

動画生成のタイムアウト

動画生成では最大 10 分間、完了するまでポーリングします。この時間内に動画が完成しない場合、リクエストはタイムアウトエラーで失敗します。duration を短くするか、より簡単な prompt を試してください。

xAI の画像生成でデータが返されない

これは、xAI API が空のレスポンスを返したことを示しています。XAI_API_KEY が有効であること、およびプロンプトが xAI のコンテンツポリシーに違反していないことを確認してください。

Gemini の画像/動画生成に失敗しました:403

Google Cloud Console で GEMINI_API_KEY の Generative Language API が有効になっていることを確認してください。

開発

npm run build      # Compile TypeScript to build/
npm test           # Run tests with Vitest
npm run lint       # Lint and auto-fix with ESLint
npm run typecheck  # Type-check without emitting
npm run dev        # Watch mode for TypeScript compilation

エディターの設定

OPENAI_API_KEY を任意のプロバイダーに置き換えてください(XAI_API_KEY、GEMINI_API_KEY、ELEVENLABS_API_KEY、BFL_API_KEY)。複数のプロバイダーを有効にするには、複数のキーを設定できます。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "multimodal-mcp": {
      "command": "npx",
      "args": ["@r16t/multimodal-mcp@latest"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
Cursor

プロジェクトルートの .cursor/mcp.json(またはグローバル設定の ~/.cursor/mcp.json)に追加します:

{
  "mcpServers": {
    "multimodal-mcp": {
      "command": "npx",
      "args": ["@r16t/multimodal-mcp@latest"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
VS Code(GitHub Copilot)

プロジェクトルートの .vscode/mcp.json に追加します:

{
  "servers": {
    "multimodal-mcp": {
      "command": "npx",
      "args": ["@r16t/multimodal-mcp@latest"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "multimodal-mcp": {
      "command": "npx",
      "args": ["@r16t/multimodal-mcp@latest"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
Cline

~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json に追加します:

{
  "mcpServers": {
    "multimodal-mcp": {
      "command": "npx",
      "args": ["@r16t/multimodal-mcp@latest"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。