Dacast MCP Live Stream Server

официальный

Сервер Dacast MCP Live Stream Server подключает ваши ИИ-инструменты к API Dacast для прямых трансляций и видеохостинга, позволяя создавать и управлять прямыми эфирами, плейлистами, миниатюрами и симулкастами с помощью простых запросов на естественном языке.

Что можно делать с Dacast Live Stream MCP?

  • Создание и настройка прямых каналов — Попросите вашего ассистента создать новый канал, обновить его настройки или получить информацию с помощью create_channel, update_channel и get_channel.
  • Управление видеоплейлистами — Создавайте плейлисты, изменяйте их метаданные или определяйте, какие видео в них входят, через create_playlist, update_playlist и set_playlist_content.
  • Работа с миниатюрами и заставками — Загружайте или обновляйте визуальные ресурсы для вашего контента с помощью инструментов thumbnail и splash.
  • Настройка мест назначения для симулкаста — Создавайте, проверяйте или удаляйте места назначения для одновременной трансляции на несколько платформ с помощью create_simulcast_destination, get_simulcast_destination и delete_simulcast_destination.

Документация

Dacast MCP Server

Этот репозиторий предоставляет сервер Model Context Protocol (MCP), который предоставляет API видеоплатформы Dacast в виде набора структурированных инструментов MCP. Он позволяет MCP-совместимым клиентам (таким как Claude Desktop) управлять ресурсами Dacast — каналами, плейлистами, изображениями, назначениями симулкаста и многим другим — с помощью естественного языка.


Возможности

  • MCP-сервер на основе StdIO

    • Взаимодействует по протоколу Model Context Protocol через стандартный ввод/вывод.
    • Предназначен для запуска процессом MCP-клиента и работы в качестве дочернего процесса.
  • Интеграция с API Dacast

    • Управление каналами: создание, список, получение, обновление.
    • Управление плейлистами: создание, список, получение, обновление, установка содержимого плейлиста.
    • Управление изображениями: миниатюры и заставки.
    • Управление назначениями симулкаста: создание, получение, удаление.

Установка

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

  • Go: Go 1.24+ (более ранние версии могут работать, но не гарантируются).
  • Учетная запись Dacast и ключ API: необходимы для выполнения аутентифицированных операций.

Конфигурация MCP-клиента

Конфигурация MCP-клиента на основе JSON может выглядеть так:

{
  "mcpServers": {
    "dacast": {
      "command": "go",
      "args": ["run", "github.com/Dacast-Inc/mcp-server-public@latest"],
      "env": {
        "DACAST_API_KEY": "DACAST API KEY HERE"
      }
    }
  }
}

Обзор архитектуры

Высокоуровневый дизайн

Сервер представляет собой единый бинарный файл Go, который:

  1. Запускает MCP-сервер stdio.
  2. Регистрирует набор инструментов, сгруппированных по доменам Dacast (каналы, плейлисты, изображения, симулкаст).
  3. Для каждого входящего MCP-запроса call_tool:
    • Связывает и проверяет аргументы инструмента.
    • Формирует HTTP-запрос к соответствующей конечной точке REST API Dacast, используя внутренний ApiClient.
    • Отправляет запрос в Dacast с соответствующими заголовками аутентификации.
    • Возвращает JSON-ответ (и, опционально, преобразованную структурированную форму) обратно MCP-клиенту.

Ключевые пакеты:

  • main.go – точка входа, которая инициализирует MCP-сервер и регистрирует инструменты.
  • pkg/apiclient/ – минимальная обертка HTTP-клиента для REST API Dacast.
  • pkg/tools/ – реализации инструментов, сгруппированные по доменам:
    • channel/ – операции, связанные с каналами.
    • playlist/ – операции, связанные с плейлистами.
    • images/ – операции с миниатюрами и заставками.
    • simulcast/ – операции с назначениями симулкаста.
  • pkg/tools/toolscommon/ – общие типы, обработчики и утилиты для создания инструментов.

Инструменты → Сопоставление с API Dacast

Каждый инструмент в pkg/tools/ соответствует одной или нескольким конечным точкам API Dacast.

  • Каналы (pkg/tools/channel/)

    • create_channel.go – создать новый канал.
    • get_channel.go – получить детали канала.
    • update_channel.go – обновить существующий канал.
    • list_channel.go – список всех или отфильтрованных каналов.
  • Плейлисты (pkg/tools/playlist/)

    • create_playlist.go – создать новый плейлист.
    • get_playlist.go – получить детали плейлиста.
    • update_playlist.go – обновить существующий плейлист.
    • list_playlist.go – список плейлистов.
    • set_playlist_content.go – установить или обновить содержимое плейлиста.
  • Изображения (pkg/tools/images/)

    • thumbnail.go – управление миниатюрами каналов/ресурсов.
    • splash.go – управление заставками.
  • Симулкаст (pkg/tools/simulcast/)

    • create_simulcast_destination.go – создать назначение симулкаста.
    • get_simulcast_destination.go – получить назначение симулкаста.
    • delete_simulcast_destination.go – удалить назначение симулкаста.

Лицензия

Этот проект лицензирован в соответствии с условиями, описанными в файле LICENSE в этом репозитории. Пожалуйста, ознакомьтесь с этим файлом для получения полного текста.