LCYT MCP 服务器(Python 实现)

使用说明

  • 项目简介
    • 该仓库实现了一个基于 MCP 的后端服务器,用于向大语言模型客户端提供统一的资源、工具和快照读取能力。核心功能包括:列出并读取资源、注册并执行工具(如创建会话、发送单条/批量字幕、时钟同步、获取会话状态、结束会话等),以及通过 JSON-RPC 与客户端协同工作。服务器端负责会话管理、能力声明,并可通过多种传输协议(如 stdio、SSE)与客户端进行通信。
  • 主要功能点
    • Tool 集合:start、send_caption、send_batch、sync_clock、get_status、stop 等工具,覆盖会话生命周期与字幕发送流程。
    • 资源管理:能够列出当前活跃会话的资源、按资源 URI 读取会话快照等。
    • 兼容性与测试:提供对接测试用的 FakeSender,方便在本地无网络、无实际 YouTube 调用的条件下验证 MCP 工作流。
    • 传输与扩展:基于 MCP 的 stdio 传输实现,另有 SSE 传输实现,便于在多种运行环境中部署。
  • 安装与运行
    • 环境:请确保已安装 Python 3.x 环境,以及 MCP 库(可通过 pip 安装 mcp 等相应依赖)。
    • 运行示例(伺服器端):在包含本仓库的环境中,执行以下步骤以启动服务(具体命令需结合实际运行环境和依赖管理):
      • 安装依赖并准备运行环境
      • 启动 MCP 服务器(示例为 Python 运行路径,实际环境请按项目规范执行)
    • 运行后,服务器将对 MCP 客户端暴露工具列表和资源快照接口,客户端可通过 JSON-RPC 调用来控制字幕发送、时钟同步等。
  • 服务器配置(MCP 客户端所需配置信息,注:客户端通常不需要你对 MCP 服务器的配置做改动,这里给出可用的示例配置结构,便于理解与集成) { "serverName": "lcyt-mcp-stdio", "command": "python3", "args": ["packages/lcyt-mcp/lcyt_mcp/server.py"], "transport": "stdio", "description": "MCP 服务器实例,使用 stdio 传输与客户端通信。若需要 SSE 传输,可切换到相应 SSE 服务入口。" }
  • 基本使用方法
    • 启动服务器后,客户端通过 MCP 的 JSON-RPC 调用与服务器交互,常用流程包括:
      • 调用工具:start(传入 stream_key、域名等信息)来创建并启动一个会话,返回 session_id 和 token 等凭据。
      • 调用发送:send_caption 或 send_batch 将字幕内容发送到 YouTube 实况转写通道(在真实环境下会调用 YouTube API 的字幕接口)。
      • 调用同步:sync_clock(或通过 heartbeat 进行时钟同步),获取服务器时钟偏移以对齐时间。
      • 获取状态:get_status 获取当前会话的序列号和时钟偏移等信息。
      • 结束会话:stop 结束会话并清理资源。
    • 集成提示:客户端在发送请求时应遵循 MCP 的 JSON-RPC 格式,服务器端会返回标准的 JSON-RPC 响应或通知。

服务器信息