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、绑定地址等)。
- 该实现包含了大量的集成测试与示例用例,便于在本地开发环境中进行验证。