视频平台MCP服务器

Dacast MCP服务器是一个通过Model Context Protocol (MCP)将Dacast视频平台API暴露为结构化工具的服务,允许MCP兼容客户端通过自然语言管理Dacast资源。

  • by Dacast-Inc
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 Dacast-Inc/mcp-server-public

使用说明

Dacast MCP服务器

此存储库提供 模型上下文协议(MCP)服务器 其将Dacast视频平台API公开为一组结构化MCP工具。它允许MCP兼容客户端(如Claude Desktop)通过自然语言管理Dacast资源——频道、播放列表、图像、联播目的地等。


特性

  • 基于StdIO的MCP服务器

    • 说话 模型上下文协议 超过标准输入/输出。
    • 设计为由MCP客户端进程启动,并作为子进程运行。
  • Dacast API集成

    • 渠道管理:创建、列表、获取、更新。
    • 播放列表管理:创建、列出、获取、更新、设置播放列表内容。
    • 图像管理:缩略图和启动画面。
    • 同步目标管理:创建、获取、删除。

安装

先决条件

  • 去: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二进制文件,它:

  1. 启动MCP stdio服务器。
  2. 注册一组按Dacast域分组的工具(频道、播放列表、图像、联播)。
  3. 对于每个传入的MCP call_tool 请求:
    • 绑定并验证工具参数。
    • 使用内部命令构造对相关Dacast REST端点的HTTP请求 ApiClient.
    • 使用适当的身份验证标头将请求转发到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 此存储库中的文件。请查看该文件的全文。