多模态媒体生成服务

一个通过统一接口集成OpenAI、xAI、Gemini、ElevenLabs和BFL等多提供商的多模态媒体生成服务,支持图像、视频、音频生成及转录功能。

  • by rsmdt
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 rsmdt/multimodal-mcp

使用说明

多模式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)进行语音转文本
  • 🔄 自动发现 --从环境变量中自动检测已配置的提供程序
  • 🎯 提供者选择 --根据请求自动选择或明确选择提供者
  • 📁 文件输出 --使用描述性文件名将所有生成的媒体保存到磁盘

快速开始

至少为一个提供程序设置API密钥。大多数用户只需要一个——添加更多以访问其他提供商。

# 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 至少一个提供商密钥 OpenAI API密钥-通过gpt-image-1、sora-2、tts-1和whisper-1实现图像、视频、音频生成和转录
XAI_API_KEY 至少一个提供商密钥 xAI API密钥-通过grok-imagine-image和grok-imachine-video实现图像和视频生成
GEMINI_API_KEY 至少有一个提供商密钥 Gemini API密钥-通过image-4、veo-3.1和Gemini-2.5 flash-preview-tts实现图像、视频和音频生成
GOOGLE_API_KEY -- 别名 GEMINI_API_KEY;接受任何一个名称
ELEVENLABS_API_KEY 至少有一个供应商密钥 ElevenLabs API密钥-通过Flash v2.5和Scribe v1实现音频生成(TTS、音效)和转录
BFL_API_KEY 至少一个提供程序密钥 BFL API密钥-通过FLUX Pro 1.1和FLUX Kontext实现图像生成和编辑
MEDIA_OUTPUT_DIR 没有 保存媒体文件的目录。默认为当前工作目录

可用工具

generate_image

从文本提示生成图像。

参数 类型 必填 说明
prompt string 是 要生成的图像的文本描述
provider string 否 要使用的提供程序: openai, xai, google, bfl。如果省略,则自动选择
aspectRatio string 否 纵横比: 1:1, 16:9, 9:16, 4:3, 3:4
quality string 否 质量级别: low, standard, high
outputDirectory string 否 保存生成文件的目录。绝对或相对路径。默认为 MEDIA_OUTPUT_DIR 或cwd
providerOptions object 否 直接传递特定于提供程序的参数

generate_video

从文本提示生成视频。视频生成是异步的,可能需要几分钟的时间。

参数 类型 必填 说明
prompt string 是 要生成的视频的文本描述
provider string 否 要使用的提供程序: openai, xai, google。如果省略,则自动选择
duration number No 视频持续时间(秒)(受提供商限制)
aspectRatio string 否 纵横比: 16:9, 9:16, 1:1
resolution string 否 分辨率: 480p, 720p, 1080p
outputDirectory string 否 保存生成文件的目录。绝对或相对路径。默认为 MEDIA_OUTPUT_DIR 或cwd
providerOptions object 否 直接传递特定于提供程序的参数

generate_audio

从文本生成音频。支持文本到语音和声音效果。音频生成是同步的。

参数 类型 必填 说明
text string Yes 要转换为语音的文本,或要生成的声音效果的描述
provider string 否 要使用的提供程序: openai, google, elevenlabs。如果省略,则自动选择
voice string 否 语音名称(特定于提供商)。OpenAI: alloy, ash, coral, echo, fable, nova, onyx, sage, shimmer谷歌 Kore, Charon, Fenrir, Aoede, Puck等等。ElevenLabs:语音识别
speed number No 语音速度倍增器(仅限OpenAI): 0.25 到 4.0
format string 否 输出格式(仅限OpenAI): mp3, opus, aac, flac, wav, pcm
outputDirectory string 否 保存生成文件的目录。绝对或相对路径。默认为 MEDIA_OUTPUT_DIR 或cwd
providerOptions object 否 直接传递特定于提供程序的参数。ElevenLabs:设置 mode: "sound-effect" 对于声音效果, model 用于TTS型号选择

transcribe_audio

将音频转录为文本(语音转文本)。

参数 类型 必填 说明
audioPath string Yes 要转录的音频文件的绝对路径
provider string 否 要使用的提供程序: openai, elevenlabs。如果省略,则自动选择
language string 否 语言代码(例如。, en, fr, es)提示转录语言
providerOptions object 否 直接传递特定于提供程序的参数

list_providers

列出所有已配置的媒体生成提供程序及其功能。不接受任何参数。

供应商能力

提供者 图像 图像编辑 视频 音频 转录 关键模型
OpenAI ✅ ✅ ✅ ✅ ✅ gpt-image 1、sora-2、tts-1、耳语-1
xAI ✅ ✅ ✅ — — grok想象图像,grok想象视频
双子座 ✅ ✅ ✅ ✅ — 图片-4,VEO-3.1,双子座-2.5-Flash-Preview-TTS
ElevenLabs✅ ✅ eleven_flash_v2_5,scribe_v1
BFL ✅ ✅ — — — flux-pro-1.1,flux kontext pro

图像纵横比

提供者 1:1 16:9 9:16 4:3 3:4
OpenAI ✅ ✅ ✅ ✅ ✅
xAI ✅ ✅ ✅ ✅ ✅
双子座 ✅ ✅ ✅ ✅ ✅
BFL 。✅ ✅ ✅ ✅ ✅

视频纵横比和分辨率

提供商 16:9 9:16 1:1 480p 720p 1080p
OpenAI ✅ ✅ ✅ ✅ ✅ ✅
xAI ✅ ✅ ✅ — ✅ ✅
双子座 ✅ ✅ — — ✅ ✅

音频格式

提供者 mp3 opus aac flac wav pcm
OpenAI ✅ ✅ ✅ ✅ ✅ ✅
双子座✅ —
ElevenLabs ✅ ✅ — — — ✅

故障排除

未配置提供程序

[config] No provider API keys detected

至少设置以下之一 OPENAI_API_KEY, XAI_API_KEY, GEMINI_API_KEY, ELEVENLABS_API_KEY,或 BFL_API_KEY 在MCP服务器的 env 块。

提供程序不适用于请求的媒体类型

每个提供商支持不同的媒体类型(请参阅 供应商能力).如果您指定 provider 未配置(没有API密钥)或不支持请求的媒体类型,您将收到一个错误。省略 provider 参数,用于从配置的提供程序中自动选择。

视频生成超时

视频生成民意调查长达10分钟。如果您的视频未在该窗口中完成,则请求将失败并出现超时错误。试试更短的 duration 或更简单的 prompt.

xAI图像生成未返回任何数据

这表示xAI API返回了一个空响应。检查你的 XAI_API_KEY 是有效的,并且您的提示没有违反xAI内容策略。

Gemini图像/视频生成失败:403

验证您的 GEMINI_API_KEY 在Google云控制台中启用了生成语言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).您可以设置多个密钥以启用多个提供程序。

克劳德桌面版

添加 ~/Library/Application Support/Claude/claude_desktop_config.json:

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

光标

添加 .cursor/mcp.json 在项目根目录中(或 ~/.cursor/mcp.json 全球):

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

VS代码(GitHub副本)

添加 .vscode/mcp.json 在项目根目录中:

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

帆板运动

添加 ~/.codeium/windsurf/mcp_config.json:

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

克莱恩

添加 ~/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-..."
      }
    }
  }
}

许可证

麻省理工学院