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ñe a cualquier agente de IA a crear imágenes y videos

mediamcp es un servidor MCP que conecta a su 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 creado.

Para agentes de IA: las instrucciones de instalación, optimizadas especialmente para usted, están en llms-install.md.

Necesitará una clave API de OpenRouter — puede 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

Agregue a claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) y reinicie Claude Desktop:

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

Cursor

Install MCP Server

O agregue a ~/.cursor/mcp.json:

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

Windsurf

Agregue 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 agregue 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 su agente podrá hacer

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

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 sobrescritura 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 → video o imagen → video (tarea asíncrona, normalmente 1–5 minutos). Pase 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 tiempo de espera agotado, devuelve polling_url.
check_video_statusReanuda la espera de una tarea de video por polling_url / id; cuando está lista, descarga el resultado.
list_modelsMuestra los slugs y precios de los modelos compatibles con imágenes/video — 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útela primero.

Configuración

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

VariablePor defectoPropósito
OPENROUTER_API_KEY—Obligatoria. Su clave de OpenRouter.
MEDIAMCP_API_KEY—Alias de OPENROUTER_API_KEY para endpoints distintos de OpenRouter; tiene prioridad si ambas variables están definidas.
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 video por defecto.
MEDIAMCP_OUTPUT_DIR~/Pictures/mediamcpDónde guardar los archivos generados (~/mediamcp, si ~/Pictures no existe).
MEDIAMCP_TIMEOUT_MS120000Tiempo de espera HTTP por solicitud.
MEDIAMCP_PREVIEWtrueDevolver una vista previa integrada junto con cada resultado (false — solo rutas).
MEDIAMCP_PREVIEW_MAX_DIM768Lado más largo de la vista previa integrada en píxeles.
MEDIAMCP_SCHEMA_DIALECT2020-12Dialecto de JSON Schema en el que se publican los esquemas de las herramientas. El valor draft-7 devuelve la salida del MCP SDK tal cual.

Uso de otro proveedor

Indique en MEDIAMCP_BASE_URL cualquier endpoint compatible con OpenAI y establezca la clave correspondiente:

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

mediamcp determina por sí mismo 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. Pida al agente que ejecute la herramienta check_config — le indicará 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 su shell).
  3. Problemas típicos:
    • «No API key configured» — agregue OPENROUTER_API_KEY al bloque env de la entrada del servidor en la configuración del cliente MCP (no solo en el perfil del shell) y reinicie el cliente.
    • «Out of credits (HTTP 402)» — recargue su saldo en https://openrouter.ai/credits.
    • «Not found (HTTP 404) … for model» — slug de modelo incorrecto; ejecute list_models.
    • No ocurre nada en el cliente — asegúrese de que Node.js ≥ 20 esté instalado (node --version).
    • «Tool '…' has an invalid outputSchema … unsupported dialect» — el cliente solo valida esquemas según JSON Schema 2020-12. mediamcp publica 2020-12 por defecto, por lo que el error significa una versión antigua: actualice y asegúrese de que check_config muestre tool schema dialect: 2020-12.

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