Labsco
Dacast-Inc logo

Dacast MCP Live Stream Server

from Dacast-Inc

Dacast MCP Live Stream Server connects your AI tools to Dacast’s live streaming and video hosting APIs, so you can create and manage live streams, playlists, thumbnails, and simulcasts using simple natural-language prompts.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys

Dacast MCP Server

This repository provides a Model Context Protocol (MCP) server that exposes the Dacast video platform API as a set of structured MCP tools. It lets MCP-compatible clients (such as Claude Desktop) manage Dacast resources β€” channels, playlists, images, simulcast destinations, and more β€” through natural language.


Features

  • StdIO-based MCP server

    • Speaks the Model Context Protocol over standard input/output.
    • Designed to be launched by an MCP client process and kept running as a child process.
  • Dacast API integration

    • Channel management: create, list, get, update.
    • Playlist management: create, list, get, update, set playlist content.
    • Image management: thumbnails and splash images.
    • Simulcast destination management: create, get, delete.

Architecture Overview

High-level design

The server is a single Go binary that:

  1. Starts an MCP stdio server.
  2. Registers a set of tools grouped by Dacast domain (channels, playlists, images, simulcast).
  3. For each incoming MCP call_tool request:
    • Binds and validates the tool arguments.
    • Constructs an HTTP request to the relevant Dacast REST endpoint using the internal ApiClient.
    • Forwards the request to Dacast with the appropriate authentication headers.
    • Returns the JSON response (and optionally a transformed, structured form) back to the MCP client.

Key packages:

  • main.go – entrypoint that initializes the MCP server and registers tools.
  • pkg/apiclient/ – minimal HTTP client wrapper around the Dacast REST API.
  • pkg/tools/ – tool implementations grouped by domain:
    • channel/ – channel-related operations.
    • playlist/ – playlist-related operations.
    • images/ – thumbnail and splash image operations.
    • simulcast/ – simulcast destination operations.
  • pkg/tools/toolscommon/ – shared types, handlers and utilities for building tools.

Tools β†’ Dacast API mapping

Each tool under pkg/tools/ corresponds to one or more Dacast API endpoints.

  • Channels (pkg/tools/channel/)

    • create_channel.go – create a new channel.
    • get_channel.go – get channel details.
    • update_channel.go – update an existing channel.
    • list_channel.go – list all or filtered channels.
  • Playlists (pkg/tools/playlist/)

    • create_playlist.go – create a new playlist.
    • get_playlist.go – get playlist details.
    • update_playlist.go – update an existing playlist.
    • list_playlist.go – list playlists.
    • set_playlist_content.go – set or update playlist content.
  • Images (pkg/tools/images/)

    • thumbnail.go – manage channel/asset thumbnails.
    • splash.go – manage splash images.
  • Simulcast (pkg/tools/simulcast/)

    • create_simulcast_destination.go – create a simulcast destination.
    • get_simulcast_destination.go – retrieve a simulcast destination.
    • delete_simulcast_destination.go – delete a simulcast destination.