Dacast MCP Live Stream Server
officielLe serveur Dacast MCP Live Stream Server connecte vos outils d'IA aux API de diffusion en direct et d'hébergement vidéo de Dacast, vous permettant de créer et gérer des flux en direct, des listes de lecture, des vignettes et des simulcasts à l'aide de simples invites en langage naturel.
Que pouvez-vous faire avec Dacast Live Stream MCP ?
- Créer et configurer des chaînes en direct — Demandez à votre assistant de créer une nouvelle chaîne, de mettre à jour ses paramètres ou d’en récupérer les détails à l’aide de
create_channel,update_channeletget_channel. - Gérer les listes de lecture vidéo — Créez des listes de lecture, modifiez leurs métadonnées ou définissez les vidéos qu’elles contiennent via
create_playlist,update_playlistetset_playlist_content. - Gérer les images miniatures et de présentation — Téléchargez ou mettez à jour les éléments visuels de votre contenu à l’aide des outils
thumbnailetsplash. - Configurer des destinations de simulcast — Créez, vérifiez ou supprimez des destinations pour diffuser simultanément sur plusieurs plateformes avec
create_simulcast_destination,get_simulcast_destinationetdelete_simulcast_destination.
Documentation
Serveur MCP Dacast
Ce dépôt fournit un serveur Model Context Protocol (MCP) qui expose l'API de la plateforme vidéo Dacast sous la forme d'un ensemble d'outils MCP structurés. Il permet aux clients compatibles MCP (tels que Claude Desktop) de gérer les ressources Dacast — chaînes, playlists, images, destinations de simulcast, et plus encore — en langage naturel.
Fonctionnalités
-
Serveur MCP basé sur StdIO
- Utilise le Model Context Protocol via l'entrée/sortie standard.
- Conçu pour être lancé par un processus client MCP et maintenu en cours d'exécution en tant que processus enfant.
-
Intégration de l'API Dacast
- Gestion des chaînes : créer, lister, obtenir, mettre à jour.
- Gestion des playlists : créer, lister, obtenir, mettre à jour, définir le contenu de la playlist.
- Gestion des images : vignettes et images d'accueil.
- Gestion des destinations de simulcast : créer, obtenir, supprimer.
Installation
Prérequis
- Go : Go 1.24+ (les versions antérieures peuvent fonctionner mais ne sont pas garanties).
- Compte Dacast et clé API : requis pour effectuer des opérations authentifiées.
Configuration du client MCP
Une configuration de client MCP basée sur JSON pourrait ressembler à ceci :
{
"mcpServers": {
"dacast": {
"command": "go",
"args": ["run", "github.com/Dacast-Inc/mcp-server-public@latest"],
"env": {
"DACAST_API_KEY": "DACAST API KEY HERE"
}
}
}
}
Aperçu de l'architecture
Conception de haut niveau
Le serveur est un binaire Go unique qui :
- Démarre un serveur MCP stdio.
- Enregistre un ensemble d'outils regroupés par domaine Dacast (chaînes, playlists, images, simulcast).
- Pour chaque requête MCP
call_toolentrante :- Lie et valide les arguments de l'outil.
- Construit une requête HTTP vers le point de terminaison REST Dacast approprié en utilisant le
ApiClientinterne. - Transmet la requête à Dacast avec les en-têtes d'authentification appropriés.
- Renvoie la réponse JSON (et éventuellement une forme structurée et transformée) au client MCP.
Paquets clés :
main.go– point d'entrée qui initialise le serveur MCP et enregistre les outils.pkg/apiclient/– wrapper client HTTP minimal autour de l'API REST Dacast.pkg/tools/– implémentations d'outils regroupées par domaine :channel/– opérations liées aux chaînes.playlist/– opérations liées aux playlists.images/– opérations sur les vignettes et les images d'accueil.simulcast/– opérations sur les destinations de simulcast.
pkg/tools/toolscommon/– types partagés, gestionnaires et utilitaires pour la construction d'outils.
Outils → Mappage de l'API Dacast
Chaque outil sous pkg/tools/ correspond à un ou plusieurs points de terminaison de l'API Dacast.
-
Chaînes (
pkg/tools/channel/)create_channel.go– créer une nouvelle chaîne.get_channel.go– obtenir les détails d'une chaîne.update_channel.go– mettre à jour une chaîne existante.list_channel.go– lister toutes les chaînes ou les filtrer.
-
Playlists (
pkg/tools/playlist/)create_playlist.go– créer une nouvelle playlist.get_playlist.go– obtenir les détails d'une playlist.update_playlist.go– mettre à jour une playlist existante.list_playlist.go– lister les playlists.set_playlist_content.go– définir ou mettre à jour le contenu d'une playlist.
-
Images (
pkg/tools/images/)thumbnail.go– gérer les vignettes des chaînes/ressources.splash.go– gérer les images d'accueil.
-
Simulcast (
pkg/tools/simulcast/)create_simulcast_destination.go– créer une destination de simulcast.get_simulcast_destination.go– récupérer une destination de simulcast.delete_simulcast_destination.go– supprimer une destination de simulcast.
Licence
Ce projet est sous licence selon les termes décrits dans le fichier LICENSE de ce dépôt. Veuillez consulter ce fichier pour le texte intégral.