Skip to main content
Glama

media-mcp (Node.js)

中文 | English

npm version Node.js >=18 License: MIT

Сервис для улучшения видео и сегментации изображений на основе протокола MCP, взаимодействующий с бэкенд-сервером HTTP в качестве MCP Client-Server.

Функции

Предоставляет следующие инструменты MCP:

  • create_task — создание задачи по улучшению видео (поддерживает URL или загрузку локальных файлов)

  • get_task_status — запрос статуса задачи

  • enhance_video_sync — синхронное улучшение видео (блокирующее ожидание завершения)

  • sam3_predict — сегментация изображений SAM3 (поддерживает локальные пути, URL или изображения в формате Base64)

Related MCP server: Grok Imagine Video MCP Server

Предварительные требования

  • Node.js >= 18 (проверка: node --version)

  • API Key (для аутентификации, обратитесь к поставщику услуг для получения)

Установка для ленивых (рекомендуется)

Если у вашего AI-агента есть определенный путь конфигурации MCP, просто скопируйте следующую строку и отправьте её ИИ:

帮我安装 npm 包 @avclabs.ai/media-mcp 作为 MCP server。我的 API Key 是:sk-xxxxxxxx。

ИИ автоматически выполнит:

  1. Обнаружение используемого вами MCP-клиента

  2. Поиск пути к файлу конфигурации

  3. Запись правильной конфигурации

  4. Предложение перезапустить клиент

Ручная установка

Установка не требуется, используйте npx непосредственно в конфигурации MCP-клиента.

1. Claude Code (CLI)

Запустите в Claude Code:

/mcp

Найдите путь к файлу конфигурации, соответствующий "User MCPs" в выводе, и отредактируйте этот файл.

Типичные пути (если /mcp недоступен):

  • Windows: %USERPROFILE%\.claude.json

  • macOS: ~/.claude.json

  • Linux: ~/.claude.json

  • Старая версия/резерв: ~/.claude/mcp.json

Вставьте следующее содержимое (замените your-api-key на ваш реальный API Key):

{
  "mcpServers": {
    "video-enhancement": {
      "command": "npx",
      "args": ["-y", "@avclabs.ai/media-mcp@latest"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

После сохранения выполните /mcp для проверки успешности загрузки.

2. Cursor

Перейдите в Settings > Tools & MCPs > Add New MCP Server:

  • Name: video-enhancement

  • Type: command

  • Command:

    env HTTP_API_KEY=your-api-key npx -y @avclabs.ai/media-mcp@latest

Или отредактируйте ~/.cursor/mcp.json:

{
  "mcpServers": {
    "video-enhancement": {
      "command": "npx",
      "args": ["-y", "@avclabs.ai/media-mcp@latest"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

Проверка установки

После перезапуска клиента убедитесь, что инструменты загружены успешно:

  1. Либо просто спросите ИИ: "Какие инструменты у тебя есть?"

  2. Вы должны увидеть: create_task, get_task_status, enhance_video_sync, sam3_predict

Параметры конфигурации

Имя переменной

Обязательно

Значение по умолчанию

Описание

API_KEY

Да

-

Ключ аутентификации API (общий для улучшения видео и SAM3)

HTTP_API_BASE_URL

Нет

https://mcp.avc.ai/enhance

Адрес интерфейса сервиса улучшения видео

SAM3_API_BASE_URL

Нет

https://mcp.avc.ai/sam

Адрес интерфейса сервиса SAM3

SAM3_POLL_INTERVAL

Нет

2000

Интервал опроса (мс)

SAM3_POLL_MAX_ATTEMPTS

Нет

60

Максимальное количество попыток опроса

Пользовательский адрес сервиса

{
  "env": {
    "HTTP_API_BASE_URL": "https://your-endpoint.com",
    "API_KEY": "your-api-key",
    "SAM3_API_BASE_URL": "http://localhost:8001"
  }
}

Или через аргументы командной строки:

npx -y @avclabs.ai/media-mcp@latest --base-url https://your-endpoint.com --api-key your-api-key --sam3-base-url http://localhost:8001

Примеры использования

После настройки скажите ИИ на естественном языке:

"Помоги мне улучшить это видео до 1080p: https://example.com/video.mp4"

"Улучши качество видео video.mp4 с моего рабочего стола до 2k"

ИИ автоматически вызовет соответствующий инструмент для выполнения задачи.

"Помоги мне проанализировать это изображение и найти все объекты на нем: C:\Users\xxx\photo.png"

"Используй SAM3 для сегментации этого изображения, промпт: 'find all cars'"

Предоставляемые инструменты

create_task

Создание задачи по улучшению видео (асинхронно).

Параметр

Тип

Обязательно

Значение по умолчанию

Описание

video_source

string

Да

-

URL видео или путь к локальному файлу (URL должен быть доступен из публичной сети, ссылки, требующие входа или подписи, не поддерживаются)

type

string

Нет

url

url или local

resolution

string

Нет

720p

480p, 540p, 720p, 1080p, 2k

Возвращаемое значение:

{
  "success": true,
  "task_id": "xxx",
  "status": "wait"
}

get_task_status

Запрос статуса задачи.

Параметр

Тип

Обязательно

task_id

string

Да

Возвращаемое значение:

{
  "success": true,
  "task_id": "xxx",
  "status": "completed",
  "progress": 100,
  "video_url": "https://..."
}

enhance_video_sync

Синхронное улучшение видео (блокирующее ожидание завершения).

Параметр

Тип

Обязательно

Значение по умолчанию

Описание

video_source

string

Да

-

URL видео или путь к локальному файлу

type

string

Нет

url

url или local

resolution

string

Нет

720p

Целевое разрешение

poll_interval

number

Нет

5

Интервал опроса (секунды)

timeout

number

Нет

600

Время ожидания (секунды)

sam3_predict

Использование API сегментации SAM3 для анализа изображения и генерации результатов вывода (маски, рамки, оценки).

Параметры:

Ввод изображения (один из трех, обязательно предоставление одного из них):

  • imagePath (string): Абсолютный путь к локальному изображению. Поддерживаются распространенные форматы (например, PNG, JPG, JPEG).

  • imageUrl (string): Публично доступный URL изображения.

  • imageBase64 (string): Данные изображения в кодировке Base64.

Другие параметры:

  • prompt (string, required): Текстовая подсказка на английском языке для указания целевых объектов для сегментации. Например, "person", "car", "a cat sitting on a sofa". Поскольку модель SAM3 принимает только английские промпты, рекомендуется передавать описание на английском.

Возврат:

После завершения вывода возвращается JSON-строка, содержащая поля masks, boxes и scores.

Пример содержимого JSON результата:

{
  "masks": [
    [[0, 0, 1, ...], [0, 1, 1, ...], ...],
    [[0, 0, 0, ...], [0, 0, 1, ...], ...]
  ],
  "boxes": [
    [120, 80, 300, 450],
    [400, 200, 600, 500]
  ],
  "scores": [0.95, 0.87]
}

Часто задаваемые вопросы

Ошибка "файл не найден" после перетаскивания вложения?

Это известное ограничение stdio MCP. При перетаскивании или загрузке вложений через интерфейс агента путь к файлу обычно не передается автоматически в MCP Server.

Решение:

  1. Укажите путь вручную (рекомендуется): после перетаскивания изображения добавьте в тексте абсолютный путь к локальному файлу.

  2. Дождитесь автоматического кодирования: Claude может автоматически закодировать изображение в base64.

  3. Ответьте на запрос пути: если Claude спрашивает путь, просто укажите абсолютный путь.

Есть ли приоритет у трех способов ввода?

Строгого приоритета нет. Claude автоматически выбирает наиболее подходящий способ в зависимости от контекста диалога.

Какие форматы изображений поддерживаются?

Поддерживаются распространенные форматы: PNG, JPG, JPEG, BMP, WebP и т.д.

Что делать, если загрузка изображения по URL не удалась?

Убедитесь, что URL является публично доступным и не требует входа, Cookie или подписи.

Что делать, если Base64 изображение слишком большое?

Если изображение очень большое (например, 4K), данные в кодировке base64 будут очень тяжелыми. Рекомендуется использовать imagePath.

Инструкции по загрузке файлов

Когда type равен "local", MCP Server:

  1. Считывает локальный файл

  2. Загружает его напрямую в объектное хранилище TOS через предварительно подписанный URL

  3. Максимальный размер файла: 100 МБ

Устранение неполадок

"command not found: npx"

Установите Node.js >= 18: https://nodejs.org/

"Ошибка: необходимо предоставить --api-key или установить API_KEY"

Отсутствует API Key, проверьте env.API_KEY в конфигурации.

MCP Server отображается красным/ошибкой в клиенте

Проверьте логи:

  • Claude Desktop macOS: ~/Library/Logs/Claude/mcp*.log

  • Claude Desktop Windows: %APPDATA%\Claude\logs\mcp*.log

  • Cursor: Панель Output > MCP

"Ошибка загрузки TOS"

Обычно это несоответствие подписи, убедитесь, что HTTP_API_BASE_URL и HTTP_API_KEY верны.

Глобальная установка (опционально)

Если вы не хотите использовать npx каждый раз:

npm install -g @avclabs.ai/media-mcp

Затем используйте "command": "media-mcp" с "args": ["--api-key", "your-api-key"] в конфигурации.

Лицензия

MIT License - подробнее см. файл LICENSE

Available Tools

4 tools
create_taskB

创建视频增强任务(异步)

支持两种上传方式:

  1. URL 上传:提供视频 URL

  2. 本地上传:提供本地文件路径,MCP Server 自动上传到 TOS 对象存储

参数说明:

  • video_source: 视频 URL 或本地文件路径

  • type: "url" 或 "local"

  • resolution: 目标分辨率

Inputs: video_source (required), type, resolution.

enhance_video_syncA

同步增强视频(阻塞等待完成)

支持两种上传方式:

  1. URL 上传:提供视频 URL

  2. 本地上传:提供本地文件路径,MCP Server 自动上传到 TOS 对象存储

参数说明:

  • video_source: 视频 URL 或本地文件路径

  • type: "url" 或 "local"

  • resolution: 目标分辨率

  • poll_interval: 轮询间隔(秒)

  • timeout: 超时时间(秒)

Inputs: video_source (required), type, resolution, poll_interval, +1 more.

get_task_statusA

查询视频增强任务状态

Inputs: task_id (required).

sam3_predictA

Analyze an image using the SAM3 segmentation API to generate inference results (masks, boxes, scores). The image can be provided in one of three ways:

  1. imagePath: Absolute path of a local image file (e.g. C:\Users\xxx\photo.png). Use this when the user provides a local file path.

  2. imageUrl: Publicly accessible URL of the image (e.g. https://example.com/photo.jpg). Use this when the user provides a web link.

  3. imageBase64: Base64-encoded image data. Use this when the user uploads or drags-and-drops an image as an attachment and no local path is available. In this case, encode the image content as base64 and pass it via this parameter. If the user mentions an uploaded image but does not provide a path, URL, or base64 data, ask the user for the local absolute path. Prompt must be in English. If the user provides Chinese or other non-English text, translate it to English before calling this tool.

Inputs: prompt (required), imagePath, imageUrl, imageBase64.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 4 tools

    Disambiguation2/5

    The first three tools are about video enhancement tasks with overlapping functionality (create_task and enhance_video_sync both appear to initiate enhancement), and the fourth tool (sam3_predict) is for image segmentation, a completely different domain. The descriptions are not clear enough to distinguish which tool to use for a given task, causing confusion.

    Naming Consistency3/5

    Tool names partially follow a verb_noun pattern (create_task, get_task_status), but 'enhance_video_sync' is awkward and 'sam3_predict' mixes model name with verb, introducing inconsistency.

    Tool Count4/5

    With 4 tools, the count is reasonable for a focused server, but the server actually combines two unrelated capabilities (video enhancement and image segmentation), making the scope unclear but the number itself is not extreme.

    Completeness2/5

    For video enhancement, there are create, sync enhance, and status query, but missing cancel, list, or delete operations. For image segmentation, only a single predict tool exists. The surface is incomplete for both domains.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers