npm mediamcpstdioMITupdated 12d ago
mediamcp — это MCP-сервер, который соединяет вашего ИИ-ассистента — Claude Code, Claude Desktop, Cursor, Windsurf, VS Code или любой другой клиент с поддержкой MCP — с облачными медиамоделями (Gemini Flash Image, GPT-5 Image, Seedream, Veo, Sora, …) через OpenRouter или любой OpenAI-совместимый API.
mediamcp 能做什么?
Научите любого ИИ-агента создавать изображения и видео
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-секундное видео с океанскими волнами на закате» или «оживи 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_SCHEMA_DIALECT |
2020-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 с поддержкой изображений — первый сработавший вариант запоминается.
Диагностика проблем
- Попросите агента запустить инструмент
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). - «Tool '…' has an invalid outputSchema … unsupported dialect» — клиент проверяет схемы только по JSON Schema 2020-12. mediamcp публикует 2020-12 по умолчанию, так что ошибка означает старую версию: обновитесь и убедитесь, что
check_configпоказываетtool schema dialect: 2020-12.
- «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 с собранным сервером
Лицензия
mcp-name: io.github.legolev/mediamcp
安装
把 mediamcp 添加到你的客户端。选择你正在使用的那个。
claude mcp add mediamcp -- npx -y mediamcpcodex mcp add mediamcp -- npx -y mediamcpamp mcp add mediamcp -- npx -y mediamcp{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mediamcp","command":"npx","args":["-y","mediamcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mediamcp": {
"command": "npx",
"args": [
"-y",
"mediamcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mediamcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"mediamcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mediamcp": {
"command": {
"path": "npx",
"args": [
"-y",
"mediamcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y mediamcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
评分
39 / 100
不完整
- 文档25/25
- 维护25/25
- 可信度13/20
- 能力0/15
- 安装体验12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 4 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
版本历史
| 版本 | 发布于 |
|---|---|
| 0.3.0最新 | 2026年8月18日 |
| 0.2.0 | 2026年7月16日 |
| 0.1.1 | 2026年7月2日 |