mediamcp

Genera y edita imágenes y crea video (Veo, Sora, Seedance) desde cualquier agente de IA a través de OpenRouter o cualquier API compatible con OpenAI — archivos guardados en disco con vistas previas en línea.

Documentación

mediamcp

Enseña a cualquier agente de IA a crear imágenes y vídeos

mediamcp es un servidor MCP que conecta a tu asistente de IA — Claude Code, Claude Desktop,
Cursor, Windsurf, VS Code o cualquier otro cliente compatible con MCP — con modelos de medios en la nube
(Gemini Flash Image, GPT-5 Image, Seedream, Veo, Sora, …) a través de OpenRouter o cualquier API compatible con OpenAI.

npm version CI node >= 20 license: MIT

English | Español

⭐ El banner de arriba fue generado por el propio mediamcp — una sola llamada a generate_image.


Los archivos generados siempre se guardan en el disco (por defecto en ~/Pictures/mediamcp), y cada respuesta contiene la ruta absoluta al archivo y una pequeña vista previa integrada — el agente ve de inmediato lo que ha conseguido.

Para agentes de IA: la guía de instalación, optimizada especialmente para ti, está en llms-install.md.

Necesitarás una clave API de OpenRouter — puedes obtenerla en https://openrouter.ai/keys.

Instalación rápida

Claude Code

claude mcp add mediamcp -e OPENROUTER_API_KEY=sk-or-v1-YOUR_KEY -- npx -y mediamcp

Claude Desktop

Añádelo a claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) y reinicia Claude Desktop:

{
  "mcpServers": {
    "mediamcp": {
      "command": "npx",
      "args": ["-y", "mediamcp"],
      "env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY" }
    }
  }
}

Cursor

Install MCP Server

O añádelo a ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mediamcp": {
      "command": "npx",
      "args": ["-y", "mediamcp"],
      "env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY" }
    }
  }
}

Windsurf

Añádelo a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mediamcp": {
      "command": "npx",
      "args": ["-y", "mediamcp"],
      "env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY" }
    }
  }
}

VS Code (GitHub Copilot)

Install in VS Code

O añádelo a .vscode/mcp.json (la clave se solicita por separado y no se guarda en el archivo):

{
  "servers": {
    "mediamcp": {
      "command": "npx",
      "args": ["-y", "mediamcp"],
      "env": { "OPENROUTER_API_KEY": "${input:openrouter-key}" }
    }
  },
  "inputs": [
    {
      "id": "openrouter-key",
      "type": "promptString",
      "password": true,
      "description": "OpenRouter API key (https://openrouter.ai/keys)"
    }
  ]
}

Lo que podrá hacer tu agente

Después de la instalación, simplemente dile al agente algo como «genera una imagen hero para mi landing, 16:9», «quita el fondo de logo.png», «haz un vídeo de 8 segundos con olas del océano al atardecer» o «anima logo.png en un vídeo de 4 segundos» (image-to-video). El agente elegirá la herramienta adecuada:

HerramientaQué hace
generate_imageTexto → imagen (una o varias). Guarda en el disco, devuelve la ruta y una vista previa integrada. Admite count (hasta 4 variaciones), aspect_ratio y la anulación de model.
edit_imageImagen existente (una o varias) + instrucción → imagen editada. Acepta rutas de archivo, URLs https:// y data:; varias fuentes — para combinar imágenes en una sola composición.
generate_videoTexto → vídeo o imagen → vídeo (tarea asíncrona, normalmente 1–5 minutos). Pasa first_frame_image para animar una imagen existente (image-to-video), last_frame_image — para el fotograma final, o reference_images — como referencia de estilo. Se necesita un modelo i2v (bytedance/seedance-2.0, bytedance/seedance-2.0-fast, google/veo-3.1). Espera el resultado, guarda el mp4, devuelve la ruta. En caso de timeout devuelve polling_url.
check_video_statusReanuda la espera de una tarea de vídeo por polling_url / id; cuando está lista, descarga el resultado.
list_modelsMuestra los slugs y precios de los modelos con soporte de imágenes/vídeo — el agente podrá elegir el modelo por sí mismo.
check_configDiagnóstico: presencia y validez de la clave, endpoint, valores por defecto, posibilidad de escritura en el directorio de salida. Si algo no funciona — ejecútalo primero.

Configuración

Todo se configura mediante variables de entorno en el bloque env de la configuración de tu cliente MCP:

VariablePor defectoPropósito
OPENROUTER_API_KEYObligatoria. Tu clave de OpenRouter.
MEDIAMCP_API_KEYAlias de OPENROUTER_API_KEY para endpoints distintos de OpenRouter; tiene prioridad si se definen ambas variables.
MEDIAMCP_BASE_URLhttps://openrouter.ai/api/v1URL raíz de cualquier API compatible con OpenAI.
MEDIAMCP_MODELgoogle/gemini-2.5-flash-imageSlug del modelo de imágenes por defecto.
MEDIAMCP_VIDEO_MODELgoogle/veo-3.1Slug del modelo de vídeo por defecto.
MEDIAMCP_OUTPUT_DIR~/Pictures/mediamcpDónde guardar los archivos generados (~/mediamcp, si ~/Pictures no existe).
MEDIAMCP_TIMEOUT_MS120000Timeout HTTP por solicitud.
MEDIAMCP_PREVIEWtrueDevolver una vista previa integrada con cada resultado (false — solo rutas).
MEDIAMCP_PREVIEW_MAX_DIM768Lado más largo de la vista previa integrada en píxeles.

Uso de otro proveedor

Indica en MEDIAMCP_BASE_URL cualquier endpoint compatible con OpenAI y define la clave correspondiente:

"env": {
  "MEDIAMCP_BASE_URL": "https://your-endpoint.example.com/v1",
  "MEDIAMCP_API_KEY": "your-key",
  "MEDIAMCP_MODEL": "your/image-model"
}

mediamcp detecta automáticamente qué formato de API admite el endpoint: endpoint dedicado /images (OpenRouter), /images/generations (OpenAI clásico) o chat/completions con soporte de imágenes — la primera variante que funcione se recuerda.

Diagnóstico de problemas

  1. Pide al agente que ejecute la herramienta check_config — te dirá qué está mal configurado y cómo corregirlo.
  2. El mismo diagnóstico se puede ejecutar desde la terminal: npx -y mediamcp --check (se usan las variables de entorno de tu shell).
  3. Problemas típicos:
    • «No API key configured» — añade OPENROUTER_API_KEY al bloque env de la entrada del servidor en la configuración del cliente MCP (no solo en el perfil de shell) y reinicia el cliente.
    • «Out of credits (HTTP 402)» — recarga tu saldo en https://openrouter.ai/credits.
    • «Not found (HTTP 404) … for model» — slug de modelo incorrecto; ejecuta list_models.
    • No ocurre nada en el cliente — asegúrate de que Node.js ≥ 20 esté instalado (node --version).

Desarrollo

git clone https://github.com/legolev/mediamcp && cd mediamcp
npm install
npm run build       # сборка в dist/index.js
npm test            # юнит-тесты (vitest)
npm run inspect     # открыть MCP Inspector с собранным сервером

Licencia

MIT


mcp-name: io.github.legolev/mediamcp