mcp-beam

使用说明(简要但完整,便于快速接入与使用 MCP 客户端):

  • 项目简介
    • mcp-beam 是一个 MCP 服务器实现,核心职责是通过 JSON-RPC 向 MCP 客户端提供上下文信息与功能:托管并管理资源、注册与执行工具、定义并渲染提示模板等,以供 LLM 客户端在对话中获取上下文、执行外部功能与渲染交互模板。
    • 与客户端通信通过 MCP 约定的 JSON-RPC 进行,默认通过标准输入输出(stdio)进行传输。
  • 主要功能点(面向开发与运维的要点)
    • MCP 服务入口:通过 stdin/stdout 与 MCP 主机进行通信,支持 initialize、tools/list、tools/call 等核心请求。
    • 资源与设备相关工具
      • list_local_hardware:发现局域网中的 Chromecast 与 DLNA/UPnP 渲染设备,返回可用于投射的设备列表及能力信息。
    • 工具执行与会话管理
      • beam_media:将媒体源投射到选定设备,支持本地文件与 HTTP/HTTPS URL,以及转码策略(auto/always/never)和字幕选项。
      • stop_beaming:停止活动会话或设备上的投射。
      • seek_beaming:在已投射会话中进行位置定位(绝对秒、百分比、从尾部开始),支持按会话或设备定位。
    • DLNA/Chromecast 集成
      • 支持 DLNA 与 Chromecast 的投射流程、代理媒体服务、转码策略以及对 HLS/URL 模式的兼容性处理。
    • 错误与诊断
      • 通过结构化的 ToolError 码和详细信息提供错误描述、限制与可选修复方案,便于调用方进行错误处理与自诊断。
    • 安全与策略
      • 提供路径策略、URL 安全校验、绑定地址策略等机制,保障运行时的安全性与可控性。
    • 运行与调试
      • 提供 --version、--self-test 等命令,用于快速检查依赖与硬件适配情况。
  • 安装与运行步骤
    • 先决条件
      • Go 1.25 及以上环境。
    • 构建与运行
      • 使用 go code 流式运行:go run .
      • 也可以将二进制打包后在 MCP 主机上配置为一个独立服务器进程。
    • MCP 主机配置示例(请在 MCP 主机配置文件中添加,客户端无需额外配置): { "mcpServers": { "mcp-beam": { "command": "/absolute/path/to/mcp-beam", "args": [] } } } 注释说明:
      • serverName 在 MCP 主机中标识该服务器的名称,此处为 mcp-beam。
      • command 为可执行文件路径,args 为传递给可执行文件的参数(若无参数则为空数组)。
      • 默认读取标准输入并输出 MCP 的 JSON-RPC 消息流,适合以 stdio 方式接入 MCP 主机。
  • 基本使用方法
    • 第一步:在 MCP 主机配置中注册 mcp-beam 服务器,指定执行命令路径与参数。
    • 第二步:在 MCP 主机发起交互,调用 tools/list 获取可用设备、调用 beam_media/seek_beaming/stop_beaming 等工具执行媒体投射与控制。
    • 第三步:通过工具输出的 structuredContent 了解投射会话详情、媒体 URL、转码状态等信息,结合错误信息进行调试与自动化编排。
    • 第四步:如需自测或依赖检查,运行 mcp-beam --version 与 mcp-beam --self-test。
  • 额外注意
    • 运行时,确保局域网设备可达,并满足安全策略配置(如路径策略、循环回路 URL、绑定地址等)。
    • 该实现包含了大量的集成测试与示例用例,便于在本地开发环境中进行验证。

服务器信息