Are you the author? Sign in to claim
🎨 MCP server for AI media generation — create and edit images, generate video via OpenRouter or any OpenAI-compatible A
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 mcp add mediamcp -e OPENROUTER_API_KEY=sk-or-v1-YOUR_KEY -- npx -y mediamcp
Добавьте в 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/mcp.json:
{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": ["-y", "mediamcp"],
"env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY" }
}
}
}
Добавьте в ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": ["-y", "mediamcp"],
"env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY" }
}
}
}
Или добавьте в .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_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 (используются переменные окружения вашей оболочки).OPENROUTER_API_KEY в блок env записи сервера в конфигурации MCP-клиента (а не только в профиль оболочки) и перезапустите клиент.list_models.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 с собранным сервером
mcp-name: io.github.legolev/mediamcp
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows