Научите любого ИИ-агента создавать изображения и видео
mediamcp — это MCP-сервер, который соединяет вашего ИИ-ассистента — Claude Code, Claude Desktop,Cursor, Windsurf, VS Code или любой другой клиент с поддержкой MCP — с облачными медиамоделями(Gemini Flash Image, GPT-5 Image, Seedream, Veo, Sora, …) через OpenRouter или любой OpenAI-совместимый API.
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
Или добавьте в ~/.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)
Или добавьте в .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_URL |
https://openrouter.ai/api/v1 |
Корневой URL любого OpenAI-совместимого API. |
MEDIAMCP_MODEL |
google/gemini-2.5-flash-image |
Слаг модели изображений по умолчанию. |
MEDIAMCP_VIDEO_MODEL |
google/veo-3.1 |
Слаг видеомодели по умолчанию. |
MEDIAMCP_OUTPUT_DIR |
~/Pictures/mediamcp |
Куда сохранять сгенерированные файлы (~/mediamcp, если ~/Pictures не существует). |
MEDIAMCP_TIMEOUT_MS |
120000 |
HTTP-таймаут на один запрос. |
MEDIAMCP_PREVIEW |
true |
Возвращать встроенное превью вместе с каждым результатом (false — только пути). |
MEDIAMCP_PREVIEW_MAX_DIM |
768 |
Длинная сторона встроенного превью в пикселях. |
Использование другого провайдера
Укажите в 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 с поддержкой изображений — первый сработавший вариант запоминается.
Диагностика проблем
- Попросите агента запустить инструмент
check_config— он сообщит, что именно настроено неверно и как это исправить. - Ту же диагностику можно запустить из терминала:
npx -y mediamcp --check(используются переменные окружения вашей оболочки). - Типичные проблемы:
- «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).
- «No API key configured» — добавьте
Разработка
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