Dacast MCP Live Stream Server Server
官方Dacast MCP Live Stream Server 将您的AI工具连接到Dacast的直播和视频托管API,使您能够通过简单的自然语言提示创建和管理直播流、播放列表、缩略图以及同步转播。
文档
Dacast MCP 服务器
本仓库提供了一个 模型上下文协议(MCP)服务器,将 Dacast 视频平台 API 以一组结构化的 MCP 工具形式暴露出来。它允许兼容 MCP 的客户端(如 Claude Desktop)通过自然语言管理 Dacast 资源——频道、播放列表、图片、联播目标等。
功能特性
-
基于 StdIO 的 MCP 服务器
- 通过标准输入/输出使用 模型上下文协议 进行通信。
- 设计为由 MCP 客户端进程启动,并作为子进程持续运行。
-
Dacast API 集成
- 频道管理:创建、列表、获取、更新。
- 播放列表管理:创建、列表、获取、更新、设置播放列表内容。
- 图片管理:缩略图和启动画面。
- 联播目标管理:创建、获取、删除。
安装
前提条件
- Go:Go 1.24+(更早版本可能可用,但不保证)。
- Dacast 账户和 API 密钥:执行认证操作所必需。
MCP 客户端配置
基于 JSON 的 MCP 客户端配置可能如下所示:
{
"mcpServers": {
"dacast": {
"command": "go",
"args": ["run", "github.com/Dacast-Inc/mcp-server-public@latest"],
"env": {
"DACAST_API_KEY": "DACAST API KEY HERE"
}
}
}
}
架构概览
高层设计
该服务器是一个单一的 Go 二进制文件,其工作流程如下:
- 启动一个 MCP stdio 服务器。
- 注册一组按 Dacast 领域(频道、播放列表、图片、联播)分组的工具。
- 对于每个传入的 MCP
call_tool请求:- 绑定并验证工具参数。
- 使用内部的
ApiClient构建对相关 Dacast REST 端点的 HTTP 请求。 - 使用适当的认证头将请求转发给 Dacast。
- 将 JSON 响应(以及可选的转换后的结构化形式)返回给 MCP 客户端。
关键包:
main.go– 入口点,初始化 MCP 服务器并注册工具。pkg/apiclient/– 围绕 Dacast REST API 的最小化 HTTP 客户端封装。pkg/tools/– 按领域分组的工具实现:channel/– 频道相关操作。playlist/– 播放列表相关操作。images/– 缩略图和启动画面操作。simulcast/– 联播目标操作。
pkg/tools/toolscommon/– 用于构建工具的共享类型、处理程序和实用工具。
工具 → Dacast API 映射
pkg/tools/ 下的每个工具对应一个或多个 Dacast API 端点。
-
频道 (
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 文件描述的条款进行许可。请查阅该文件以获取完整文本。