使用说明(简明操作指南,确保能快速上手 MCP 服务器)

  • 项目简介

    • 该仓库实现了一个基于 MCP 的后端服务器,核心职责是向 MCP 客户端提供“上下文信息和功能”。具体来说,它托管渲染相关的资源/工具,注册并执行渲染工具(如 render_avatar),并通过 JSON-RPC/STDIO 形式与 MCP 客户端通信,支持会话管理、能力声明以及可扩展的传输协议。
    • 服务器实现要点包括:
      • MCP STDIO 服务器:通过标准输入输出进行 JSON 请求/响应通信,方便在容器化/无 GUI 的场景下与 MCP Gateway 互通。
      • 工具注册与执行:当前实现了一个 render_avatar 工具,接受 avatar、音频等输入并产出视频。
      • 作业排队与执行:内部实现了任务队列,支持异步渲染、进度通知等。
      • 进度与输出:可选地通过 Kafka 进度主题汇报渲染状态,并输出最终视频路径等信息以供 MCP 客户端获取。
  • 主要功能点

    • MCP STDIO 服务端:实现了用于 MCP Gateway 交互的 STDIO 版本服务器,能够接收工具请求并返回响应。
    • render_avatar 工具:注册并执行渲染任务,支持参数 avatar_path、audio_path、driver_video、viseme_json、quality_mode、out_path 等。
    • 作业队列与并发:采用队列机制实现任务异步处理,主进程对 STDIO 保持响应性,后台进行渲染工作。
    • 进度通知(可选):集成 Kafka Producer,发送进度事件到指定主题,方便外部系统监控任务状态。
    • 简易状态回传:渲染完成后将结果通过 on_done 回传给 MCP 客户端,包含 jobId、output 路径等信息。
  • 安装步骤

    1. 克隆仓库并进入项目目录。
    2. 确保运行环境为 Python 3.11+,并安装所需依赖(如驱动、FFmpeg 等,视具体实现而定)。
    3. 直接运行服务端:在没有额外网关的情况下,执行 management 命令使服务器进入 STDIO 模式,例如在命令行直接启动服务器进程(参考 README 中的示例命令)。启动后即可通过 MCP Gateway 进行注册和请求。
    4. 可选配置 Kafka 进度通知:根据需求设置 KAFKA_BROKERS、PROGRESS_TOPIC 等环境变量,以开启进度推送功能。
  • 服务器配置(MCP 客户端需要的最小信息) 说明:以下信息用于 MCP Gateway 将服务器注册为一个 MCP 服务端,客户端无需关心实现细节,仅关注启动命令及参数。

    • server name: avatar-renderer
    • transport: stdio
    • command: /usr/bin/python3
    • args: ["/app/mcp_server.py"]
    • autoDiscover: true

    注释说明:

    • server name 是在网关中对该服务的标识,需和实现中的工具名称保持一致以便正确发现。
    • command/args 指定如何启动服务器进程,stdio 模式下服务器通过标准输入读取请求、通过标准输出返回响应。
    • autoDiscover 表明网关会基于 MCP 约定自动发现服务器提供的工具及能力。
  • 基本使用方法

    • 启动服务器后,MCP Gateway 将通过上述配置自动发现 render_avatar 工具。
    • MCP 客户端向服务器发送包含 tool: "render_avatar" 的请求,并附带 params,如 avatar_path、audio_path、quality_mode、out_path 等。
    • 服务器返回一个包含 jobId、output、qualityMode 的响应,表示作业已接收并开始执行(或已排队等待)。
    • 客户端可以通过查询状态或等待 on_done 回调得到最终 output(视频文件路径)等信息。
    • 如启用 Kafka 进度通知,服务器会将渲染进度以指定的 topic 发布,便于监控和可观测性。

信息

分类

AI与计算