
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.
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:
- Starts an MCP stdio server.
- Registers a set of tools grouped by Dacast domain (channels, playlists, images, simulcast).
- For each incoming MCP
call_toolrequest:- 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.
Installation
Prerequisites
- Go: Go 1.24+ (earlier versions may work but are not guaranteed).
- Dacast account and API key: required to perform authenticated operations.
MCP Client Configuration
JSON based MCP client configuration might look like:
{
"mcpServers": {
"dacast": {
"command": "go",
"args": ["run", "github.com/Dacast-Inc/mcp-server-public@latest"],
"env": {
"DACAST_API_KEY": "DACAST API KEY HERE"
}
}
}
}No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under Apache-2.0β you can use, modify, and redistribute it under that license's terms.
License
This project is licensed under the terms described in the LICENSE file in this repository. Please review that file for the full text.