Dacast MCP Live Stream Server

官方

Dacast MCP Live Stream Server 將您的 AI 工具連接到 Dacast 的直播與影片託管 API,讓您能透過簡單的自然語言提示,建立和管理直播、播放清單、縮圖及同步轉播。

你可以用 Dacast Live Stream MCP 做什麼?

  • 建立與設定直播頻道 — 請您的助理使用 create_channelupdate_channelget_channel 來建立新頻道、更新其設定或擷取詳細資訊。
  • 管理影片播放清單 — 透過 create_playlistupdate_playlistset_playlist_content 來建立播放清單、修改其中繼資料或定義其中包含的影片。
  • 處理縮圖與啟動畫面圖片 — 使用 thumbnailsplash 工具上傳或更新內容的視覺素材。
  • 設定同步直播目的地 — 使用 create_simulcast_destinationget_simulcast_destinationdelete_simulcast_destination 來建立、檢查或移除用於同時串流至多個平台的目的地。

文件

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 二進位檔,其功能為:

  1. 啟動一個 MCP stdio 伺服器。
  2. 註冊一組按 Dacast 領域(頻道、播放清單、圖片、同步直播)分組的工具。
  3. 對於每個傳入的 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 檔案所述的條款授權。請檢閱該檔案以取得完整內容。