Wiz MCP Server
使用说明内容(Markdown格式)
-
项目简介 该项目是一个简易的 MCP 服务器实现,使用 FastMCP 库搭建,提供对 Wiz 灯具的控制工具对外暴露。服务器通过 UDP 向 Wiz 灯具发送指令并返回状态信息,适合与 LLM 客户端进行上下文与功能调用的集成。
-
主要功能点
- 基于 MCP 框架的服务端实现,处理 JSON-RPC 风格的请求与响应(由 FastMCP 库提供核心协议支持)。
- 提供两组工具接口:
- get_status(ip, include_raw=False):查询指定灯泡的当前状态,返回标准化的灯具状态对象,可选返回原始 UDP 响应。
- set_color(ip, r, g, b, dimming=None, fetch_status=False, include_raw=False):通过 UDP 设置灯泡颜色与可选亮度,必要时可返回更新后的状态。
- 与 Wiz 灯具通过 UDP 端口 38899 进行通信,简化为本地网络内的快速控制。
- 入口简单,直接运行 server.py,即可启动 MCP 服务器并监听客户端请求。
- 具备简单的参数校验,确保 RGB 跳转换值在合理区间内,避免无效指令。
-
安装步骤
- 创建并激活虚拟环境(示例仅供参考,请按实际环境执行):
- python3 -m venv .venv
- source .venv/bin/activate
- 安装依赖(如果有 requirements.txt,请执行 install;若无,请确保 mcp 库等所需依赖已安装)
- 运行服务器:
- python3 server.py
- 创建并激活虚拟环境(示例仅供参考,请按实际环境执行):
-
服务器配置 MCP 客户端在启动并连接该服务器时,通常需要知道服务器的启动命令与参数,用于远程启动并与之通信。以下给出一个示例配置,描述服务器名称、启动命令及参数,客户端可据此在其配置中引用: { "server_name": "wiz-light-mcp-server", "command": "python3", "args": ["server.py"] } 注释:以上 JSON 用于客户端在启动时了解如何在宿主环境中启动服务器。实际运行中,您需要在目标环境中确保 Python 解释器可用、依赖已安装,并通过上述命令启动服务。
-
基本使用方法
- 客户端通过 JSON-RPC 向服务器请求调用工具:
- 调用 get_status 以获取灯泡状态,参数包括灯泡 IP 地址和是否返回原始 UDP 数据。
- 调用 set_color 以设置灯泡颜色,提供 IP、R、G、B 值,以及可选的 dimming、fetch_status、include_raw 参数以获得更丰富的状态信息。
- 服务器运行在本地网络中,通过标准 MCP 客户端即可发起请求和接收响应,且支持简单的会话与状态管理。
- 客户端通过 JSON-RPC 向服务器请求调用工具: