Dacast MCP Live Stream Server Server

공식

Dacast MCP Live Stream Server는 AI 도구를 Dacast의 라이브 스트리밍 및 비디오 호스팅 API에 연결하여, 간단한 자연어 프롬프트를 사용해 라이브 스트림, 재생 목록, 썸네일, 동시 방송을 생성하고 관리할 수 있게 해줍니다.

문서

Dacast MCP 서버

이 저장소는 Dacast 비디오 플랫폼 API를 구조화된 MCP 도구 집합으로 노출하는 모델 컨텍스트 프로토콜(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 파일에 설명된 조건에 따라 라이선스가 부여됩니다. 전체 내용은 해당 파일을 검토하십시오.