Mediamcp

io.github.legolevPublished by GitHub account legolevv0.3.0Updated Oct 24, 2026

Generate and edit images and video via OpenRouter or any OpenAI-compatible API.

VerifiedSTDIODesktop onlyMedia & DesignAI & ML

Overview

AI-generated overview

A local MCP server that lets an AI assistant generate and edit images and create videos through OpenRouter or any OpenAI-compatible media API.

What you can do
Generate images from text prompts, with up to four variations, aspect ratio and model overrides, saved to disk with a preview and file path returned. Edit existing images from file paths or URLs, including combining several sources into one composition. Create videos from text or from a first frame, last frame or reference images, and resume waiting on a video task by its polling URL or id. List available image and video models with their prices. Run a configuration check covering the API key, endpoint, defaults and output directory writability.
When to use it
Useful when you want an assistant to produce or modify visual assets in a chat or coding client: hero images, background removal, logo edits, short clips or animating a still image. It fits workflows where generated files should land in a local folder and be referenced by path.
Requirements
Runs locally via npx, so Node.js 20 or newer is needed. Requires an OpenRouter API key in OPENROUTER_API_KEY, or MEDIAMCP_API_KEY plus MEDIAMCP_BASE_URL for another OpenAI-compatible endpoint. Optional variables set the default image and video models, output directory, timeout, preview size and schema dialect. Network access to the chosen API is required.
Before you install
The API key is a paid credential passed in plain text through the client's env block; keep it out of shared config files. Generation consumes OpenRouter credits and can fail with an out-of-credits error. Generated files are written to the output directory, and image edits accept remote URLs, so content is sent to the configured third-party API. Video jobs can take several minutes.

Installation

In SourceWeft

  1. Open Mediamcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

bash
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:

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

Cursor

[Install MCP Server]

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

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

Windsurf

Добавьте в ~/.codeium/windsurf/mcp_config.json:

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 (ключ запрашивается отдельно и не попадает в файл):

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-совместимый эндпоинт и задайте соответствующий ключ:

json
"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.

Разработка

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

Лицензия

MIT


mcp-name: io.github.legolev/mediamcp

Source: README.md at commit ff7058e

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts