Dacast MCP Live Stream Server Server

oficial

El servidor Dacast MCP Live Stream Server conecta tus herramientas de IA con las API de transmisión en vivo y alojamiento de video de Dacast, para que puedas crear y gestionar transmisiones en vivo, listas de reproducción, miniaturas y simulcasts usando simples indicaciones en lenguaje natural.

Documentación

Servidor MCP de Dacast

Este repositorio proporciona un servidor de Protocolo de Contexto de Modelo (MCP) que expone la API de la plataforma de video Dacast como un conjunto de herramientas MCP estructuradas. Permite que clientes compatibles con MCP (como Claude Desktop) gestionen recursos de Dacast — canales, listas de reproducción, imágenes, destinos de transmisión simultánea y más — a través de lenguaje natural.


Características

  • Servidor MCP basado en StdIO

    • Implementa el Protocolo de Contexto de Modelo sobre entrada/salida estándar.
    • Diseñado para ser lanzado por un proceso cliente MCP y mantenerse en ejecución como un proceso hijo.
  • Integración con la API de Dacast

    • Gestión de canales: crear, listar, obtener, actualizar.
    • Gestión de listas de reproducción: crear, listar, obtener, actualizar, establecer contenido de la lista.
    • Gestión de imágenes: miniaturas e imágenes de presentación.
    • Gestión de destinos de transmisión simultánea: crear, obtener, eliminar.

Instalación

Requisitos previos

  • Go: Go 1.24+ (versiones anteriores pueden funcionar pero no están garantizadas).
  • Cuenta de Dacast y clave API: necesarias para realizar operaciones autenticadas.

Configuración del cliente MCP

Una configuración de cliente MCP basada en JSON podría verse así:

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

Descripción general de la arquitectura

Diseño de alto nivel

El servidor es un único binario Go que:

  1. Inicia un servidor MCP stdio.
  2. Registra un conjunto de herramientas agrupadas por dominio de Dacast (canales, listas de reproducción, imágenes, transmisión simultánea).
  3. Para cada solicitud entrante MCP call_tool:
    • Vincula y valida los argumentos de la herramienta.
    • Construye una solicitud HTTP al endpoint REST de Dacast correspondiente utilizando el ApiClient interno.
    • Reenvía la solicitud a Dacast con los encabezados de autenticación apropiados.
    • Devuelve la respuesta JSON (y opcionalmente una forma estructurada transformada) al cliente MCP.

Paquetes clave:

  • main.go – punto de entrada que inicializa el servidor MCP y registra las herramientas.
  • pkg/apiclient/ – envoltorio mínimo de cliente HTTP alrededor de la API REST de Dacast.
  • pkg/tools/ – implementaciones de herramientas agrupadas por dominio:
    • channel/ – operaciones relacionadas con canales.
    • playlist/ – operaciones relacionadas con listas de reproducción.
    • images/ – operaciones de miniaturas e imágenes de presentación.
    • simulcast/ – operaciones de destinos de transmisión simultánea.
  • pkg/tools/toolscommon/ – tipos compartidos, manejadores y utilidades para construir herramientas.

Mapeo de herramientas → API de Dacast

Cada herramienta bajo pkg/tools/ corresponde a uno o más endpoints de la API de Dacast.

  • Canales (pkg/tools/channel/)

    • create_channel.go – crear un nuevo canal.
    • get_channel.go – obtener detalles del canal.
    • update_channel.go – actualizar un canal existente.
    • list_channel.go – listar todos los canales o filtrarlos.
  • Listas de reproducción (pkg/tools/playlist/)

    • create_playlist.go – crear una nueva lista de reproducción.
    • get_playlist.go – obtener detalles de la lista de reproducción.
    • update_playlist.go – actualizar una lista de reproducción existente.
    • list_playlist.go – listar listas de reproducción.
    • set_playlist_content.go – establecer o actualizar el contenido de la lista de reproducción.
  • Imágenes (pkg/tools/images/)

    • thumbnail.go – gestionar miniaturas de canales/activos.
    • splash.go – gestionar imágenes de presentación.
  • Transmisión simultánea (pkg/tools/simulcast/)

    • create_simulcast_destination.go – crear un destino de transmisión simultánea.
    • get_simulcast_destination.go – recuperar un destino de transmisión simultánea.
    • delete_simulcast_destination.go – eliminar un destino de transmisión simultánea.

Licencia

Este proyecto está licenciado bajo los términos descritos en el archivo LICENSE en este repositorio. Por favor, revise ese archivo para el texto completo.