mediamcp

Generate and edit images and create video (Veo, Sora, Seedance) from any AI agent via OpenRouter or any OpenAI-compatible API — files saved to disk with inline previews.

문서

mediamcp

Научите любого ИИ-агента создавать изображения и видео

mediamcp — это MCP-сервер, который соединяет вашего ИИ-ассистента — Claude Code, Claude Desktop,
Cursor, Windsurf, VS Code или любой другой клиент с поддержкой MCP — с облачными медиамоделями
(Gemini Flash Image, GPT-5 Image, Seedream, Veo, Sora, …) через OpenRouter или любой OpenAI-совместимый API.

npm version CI node >= 20 license: MIT

English | Русский

⭐ Баннер выше сгенерирован самим mediamcp — один вызов generate_image.


Сгенерированные файлы всегда сохраняются на диск (по умолчанию в ~/Pictures/mediamcp), а каждый ответ содержит абсолютный путь к файлу и небольшое встроенное превью — агент сразу видит, что у него получилось.

ИИ-агентам: инструкция по установке, оптимизированная специально для вас, лежит в llms-install.md.

Вам понадобится API-ключ OpenRouter — получить его можно на https://openrouter.ai/keys.

Быстрая установка

Claude Code

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

Claude Desktop

Добавьте в claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) и перезапустите Claude Desktop:

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

Cursor

Install MCP Server

Или добавьте в ~/.cursor/mcp.json:

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

Windsurf

Добавьте в ~/.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

Или добавьте в .vscode/mcp.json (ключ запрашивается отдельно и не попадает в файл):

{
  "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)"
    }
  ]
}

Что сможет делать ваш агент

После установки просто скажите агенту что-нибудь вроде «сгенерируй hero-изображение для моего лендинга, 16:9», «убери фон с logo.png» или «сделай 8-секундное видео с океанскими волнами на закате». Агент сам выберет подходящий инструмент:

ИнструментЧто делает
generate_imageТекст → изображение (одно или несколько). Сохраняет на диск, возвращает путь и встроенное превью. Поддерживает count (до 4 вариаций), aspect_ratio и переопределение model.
edit_imageСуществующее изображение (одно или несколько) + инструкция → отредактированное изображение. Принимает пути к файлам, https://- и data:-URL; несколько источников — для объединения изображений в одну композицию.
generate_videoТекст → видео (асинхронная задача, обычно 1–5 минут). Дожидается результата, сохраняет mp4, возвращает путь. При таймауте возвращает polling_url, по которому ожидание можно возобновить.
check_video_statusВозобновляет ожидание видеозадачи по polling_url / id; по готовности скачивает результат.
list_modelsВыводит слаги и цены моделей с поддержкой изображений/видео — агент сможет сам подобрать модель.
check_configДиагностика: наличие и валидность ключа, эндпоинт, значения по умолчанию, возможность записи в каталог вывода. Если что-то не работает — запускайте его первым.

Конфигурация

Всё настраивается через переменные окружения в блоке env конфигурации вашего MCP-клиента:

ПеременнаяПо умолчаниюНазначение
OPENROUTER_API_KEYОбязательна. Ваш ключ OpenRouter.
MEDIAMCP_API_KEYПсевдоним OPENROUTER_API_KEY для эндпоинтов, отличных от OpenRouter; имеет приоритет, если заданы обе переменные.
MEDIAMCP_BASE_URLhttps://openrouter.ai/api/v1Корневой URL любого OpenAI-совместимого API.
MEDIAMCP_MODELgoogle/gemini-2.5-flash-imageСлаг модели изображений по умолчанию.
MEDIAMCP_VIDEO_MODELgoogle/veo-3.1Слаг видеомодели по умолчанию.
MEDIAMCP_OUTPUT_DIR~/Pictures/mediamcpКуда сохранять сгенерированные файлы (~/mediamcp, если ~/Pictures не существует).
MEDIAMCP_TIMEOUT_MS120000HTTP-таймаут на один запрос.
MEDIAMCP_PREVIEWtrueВозвращать встроенное превью вместе с каждым результатом (false — только пути).
MEDIAMCP_PREVIEW_MAX_DIM768Длинная сторона встроенного превью в пикселях.

Использование другого провайдера

Укажите в MEDIAMCP_BASE_URL любой OpenAI-совместимый эндпоинт и задайте соответствующий ключ:

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

mediamcp сам определяет, какой формат API поддерживает эндпоинт: выделенный эндпоинт /images (OpenRouter), /images/generations (классический OpenAI) или chat/completions с поддержкой изображений — первый сработавший вариант запоминается.

Диагностика проблем

  1. Попросите агента запустить инструмент check_config — он сообщит, что именно настроено неверно и как это исправить.
  2. Ту же диагностику можно запустить из терминала: npx -y mediamcp --check (используются переменные окружения вашей оболочки).
  3. Типичные проблемы:
    • «No API key configured» — добавьте OPENROUTER_API_KEY в блок env записи сервера в конфигурации MCP-клиента (а не только в профиль оболочки) и перезапустите клиент.
    • «Out of credits (HTTP 402)» — пополните баланс на https://openrouter.ai/credits.
    • «Not found (HTTP 404) … for model» — неверный слаг модели; запустите list_models.
    • В клиенте ничего не происходит — убедитесь, что установлен Node.js ≥ 20 (node --version).

Разработка

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 с собранным сервером

Лицензия

MIT


mcp-name: io.github.legolev/mediamcp