Multi-provider media generation MCP server. Generate images, videos, and audio from text prompts using OpenAI, xAI, and Gemini through a single unified interface.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add multimodal --env OPENAI_API_KEY='<OPENAI_API_KEY>' --env XAI_API_KEY='<XAI_API_KEY>' --env GEMINI_API_KEY='<GEMINI_API_KEY>' --env ELEVENLABS_API_KEY='<ELEVENLABS_API_KEY>' --env BFL_API_KEY='<BFL_API_KEY>' -- npx -y @r16t/multimodal-mcp~/.codex/config.toml
[mcp_servers.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>" }
# codex mcp add multimodal --env OPENAI_API_KEY='<OPENAI_API_KEY>' --env XAI_API_KEY='<XAI_API_KEY>' --env GEMINI_API_KEY='<GEMINI_API_KEY>' --env ELEVENLABS_API_KEY='<ELEVENLABS_API_KEY>' --env BFL_API_KEY='<BFL_API_KEY>' -- npx -y @r16t/multimodal-mcp~/.cursor/mcp.json
{
"mcpServers": {
"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>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"multimodal": {
"type": "stdio",
"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>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"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>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"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>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"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>"
}
}
}
}Environment variables
OPENAI_API_KEYXAI_API_KEYGEMINI_API_KEYELEVENLABS_API_KEYBFL_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.