mcpField
M
mediamcp

mediamcp

Local
github.com/legolevMedia & Design4Updated 3w ago

About mediamcp

mediamcp is an MCP server that lets AI assistants generate and edit images and video through OpenRouter or an OpenAI-compatible API. It saves outputs to disk and returns file paths with previews.

Key features

  1. 01Generate images from text
  2. 02Edit and combine existing images
  3. 03Generate text-to-video and image-to-video
  4. 04Check video task status
  5. 05List media models and prices
  6. 06Save files with paths and previews

Use cases

  1. 01Creating images for a landing page
  2. 02Removing or changing an image background
  3. 03Turning an image into a short video

MCP support

mediamcp exposes image and video generation, editing, status, model-listing, and configuration-check tools to MCP clients. Generated media is saved locally, and results include paths and embedded previews.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"legolev-mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
],
"env": {
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
"MEDIAMCP_OUTPUT_DIR": "<MEDIAMCP_OUTPUT_DIR>",
"MEDIAMCP_MODEL": "<MEDIAMCP_MODEL>"
}
}
}
}
Run commandnpx -y mediamcp
Environment variables to set
OPENROUTER_API_KEYSecretOpenRouter API key (https://openrouter.ai/keys)
MEDIAMCP_OUTPUT_DIRDirectory for generated files (default: ~/Pictures/mediamcp)
MEDIAMCP_MODELDefault image model slug (default: google/gemini-2.5-flash-image)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmediamcp0.3.0

Tools

6

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
countintegerNoNumber of variations to generate (1-4, parallel requests, billed per image).
modelstringNoModel slug, e.g. 'google/gemini-2.5-flash-image' or 'openai/gpt-5-image'. Omit to use the configured default. Call list_models to see options.
promptstringYesDetailed description of the desired result. Be specific about subject, style, lighting, composition.
output_dirstringNoDirectory to save into (absolute, or ~ for home). Defaults to the configured output directory.
aspect_ratioenumNoDesired aspect ratio. Support varies by model; treated as a strong hint.1:1 | 16:9 | 9:16 | 4:3 | 3:4 | 3:2 | 2:3 | 21:9
filename_prefixstringNoShort label used in the saved filename, e.g. 'hero-banner'. Sanitized to letters, digits, dashes.

Details

From the project README
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-секундное видео с океанскими волнами на закате» или «оживи logo.png в 4-секундное видео» (image-to-video). Агент сам выберет подходящий инструмент:

ИнструментЧто делает
generate_imageТекст → изображение (одно или несколько). Сохраняет на диск, возвращает путь и встроенное превью. Поддерживает count (до 4 вариаций), aspect_ratio и переопределение model.
edit_imageСуществующее изображение (одно или несколько) + инструкция → отредактированное изображение. Принимает пути к файлам, https://- и data:-URL; несколько источников — для объединения изображений в одну композицию.
generate_videoТекст → видео или картинка → видео (асинхронная задача, обычно 1–5 минут). Передайте first_frame_image, чтобы оживить существующую картинку (image-to-video), last_frame_image — для финального кадра, или reference_images — как референс стиля. Нужна i2v-модель (bytedance/seedance-2.0, bytedance/seedance-2.0-fast, google/veo-3.1). Дожидается результата, сохраняет 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_SCHEMA_DIALECT2020-12Диалект JSON Schema, в котором публикуются схемы инструментов. Значение draft-7 отдаёт вывод MCP SDK как есть.
Использование другого провайдера

Укажите в 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).
    • «Tool '…' has an invalid outputSchema … unsupported dialect» — клиент проверяет схемы только по JSON Schema 2020-12. mediamcp публикует 2020-12 по умолчанию, так что ошибка означает старую версию: обновитесь и убедитесь, что check_config показывает tool schema dialect: 2020-12.

Разработка

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.