多模式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-..."
}
}
}
}许可证
麻省理工学院
