🚀 MCP Wyze Server
MCP(模型上下文协议)服务器,借助 wyze-sdk 库实现对 Wyze 智能家居设备的控制。它为通过 Claude 等 AI 助手与 Wyze 设备交互提供了全面的接口,支持身份验证、设备发现、设备控制以及组管理等功能。
🚀 快速开始
本 MCP 服务器为通过 Claude 等 AI 助手与 Wyze 设备交互提供了全面的接口,支持对各种 Wyze 智能家居产品进行身份验证、设备发现、设备控制和组管理。
✨ 主要特性
- 身份验证:使用 Wyze API 凭证进行安全登录。
- 设备发现:列出并获取所有 Wyze 设备的信息。
- 设备控制:开启/关闭设备、调节亮度等。
- 组管理:一次性控制整个房间或一组设备。
- 实时资源:实时监控设备和组的状态。
- 自动登录:使用环境变量实现无缝身份验证。
📦 安装指南
前提条件
- Python 3.13+
- 拥有 API 凭证的 Wyze 开发者账户
uv 包管理器
安装方式
选项 1:从 PyPI 安装(推荐)
uv pip install mcp-wyze-server
或者使用 pip:
pip install mcp-wyze-server
选项 2:从源代码安装
- 克隆仓库:
git clone https://github.com/aldilaff/mcp-wyze-server.git
cd mcp-wyze-server
- 使用 uv 安装:
uv pip install -e .
或者构建并安装:
uv build
uv pip install dist/*.whl
配置环境变量
安装完成后,配置环境变量:
cp .env.example .env
编辑 .env 文件并添加你的 Wyze 凭证:
WYZE_EMAIL=your-email@example.com
WYZE_PASSWORD=your-password
WYZE_KEY_ID=your-key-id-here
WYZE_API_KEY=your-api-key-here
获取 Wyze API 凭证
要获取你的 Wyze API 凭证,请按以下步骤操作:
- 访问 Wyze 开发者门户。
- 如果你还没有开发者账户,请创建一个。
- 创建一个新的 API 密钥。
- 记录下你的
KEY_ID 和 API_KEY。
💻 使用示例
独立运行服务器
如果从 PyPI 安装:
mcp-wyze-server
如果从源代码运行:
uv run python src/mcp_wyze_server/server.py
与 Claude Desktop 集成
在你的 Claude Desktop MCP 设置中添加以下配置:
如果通过 pip/uv 全局安装:
{
"mcpServers": {
"wyze": {
"command": "/Users/{yourusername}/.local/bin/uv",
"args": ["tool", "run", "mcp-wyze-server"],
"env": {
"WYZE_EMAIL": "your-email@example.com",
"WYZE_PASSWORD": "your-password",
"WYZE_KEY_ID": "your-key-id",
"WYZE_API_KEY": "your-api-key"
}
}
}
}
注意:将 /Users/yourusername/.local/bin/uv 替换为你实际的 uv 安装路径。你可以在终端中运行 which uv 来查找该路径。
如果从源代码运行(推荐用于开发):
{
"mcpServers": {
"wyze": {
"command": "/Users/yourusername/.local/bin/uv",
"args": [
"run",
"--directory",
"/path/to/mcp-wyze-server",
"python",
"src/mcp_wyze_server/server.py"
],
"env": {
"WYZE_EMAIL": "your-email@example.com",
"WYZE_PASSWORD": "your-password",
"WYZE_KEY_ID": "your-key-id",
"WYZE_API_KEY": "your-api-key"
}
}
}
}
注意:将 /Users/yourusername/.local/bin/uv 替换为你实际的 uv 路径。
与其他 MCP 客户端集成
此服务器使用标准输入输出传输,可以与任何支持该协议的 MCP 客户端集成。
如果从 PyPI 安装:
mcp-wyze-server
如果从源代码运行:
uv run python /path/to/mcp-wyze-server/src/mcp_wyze_server/server.py
📚 详细文档
可用的 MCP 工具
身份验证
wyze_login() - 使用环境变量登录 Wyze 账户。
设备管理
wyze_get_devices() - 列出所有设备。
wyze_device_info(device_mac) - 获取设备详细信息。
wyze_get_device_status(device_mac) - 获取准确的当前状态(电源状态、亮度等)。
基本设备控制
wyze_turn_on_device(device_mac) - 开启设备。
wyze_turn_off_device(device_mac) - 关闭设备。
wyze_set_brightness(device_mac, brightness) - 设置亮度(0 - 100)。
增强灯光控制
wyze_set_color_temp(device_mac, color_temp) - 设置色温(2700K - 6500K)。
wyze_set_color(device_mac, color) - 设置 RGB 颜色(十六进制格式)。
wyze_set_light_effect(device_mac, effect) - 设置视觉效果。
wyze_set_light_sun_match(device_mac, enabled) - 启用/禁用阳光匹配。
wyze_clear_light_timer(device_mac) - 清除定时任务。
体重秤管理
wyze_get_scales() - 列出所有 Wyze 体重秤。
wyze_get_scale_info(device_mac) - 获取体重秤详细信息。
wyze_get_scale_records(device_mac, user_id, days_back) - 获取体重/身体成分记录。
资源
wyze://devices - 实时设备列表及状态。
wyze://scales - 实时体重秤列表及家庭成员信息。
提示
wyze_device_control_prompt(device_name, action) - 生成控制提示。
wyze_scale_health_prompt(family_member_name, timeframe) - 生成健康分析提示。
支持的设备
此服务器支持多种 Wyze 设备类型,包括:
- 灯光(灯泡、灯带)
- 开关
- 插头
- 体重秤
- 锁
- 摄像头(基本控制)
- 恒温器
- 等等...
开发
本项目使用以下工具:
- FastMCP:高性能 MCP 服务器框架。
- wyze-sdk:用于 Wyze 设备的全面 Python 接口。
- uv:快速 Python 包管理器。
项目结构
mcp-wyze-server/
├── src/
│ └── mcp_wyze_server/
│ ├── __init__.py
│ └── server.py # MCP 服务器实现
├── test_device.py # 设备测试工具
├── pyproject.toml # 项目依赖
├── .env.example # 环境变量模板
├── CLAUDE.md # Claude 开发指南
├── LICENSE # MIT 许可证
└── README.md # 本文件
故障排除
常见问题
- 身份验证失败:确保你的 Wyze 凭证正确且 API 密钥有效。
- 设备未找到:设备 MAC 地址区分大小写。
- 连接超时:检查你的网络连接和 Wyze 服务状态。
调试模式
通过设置环境变量启用调试日志:
export MCP_DEBUG=true
贡献
欢迎贡献代码!请随时提交拉取请求。
- 分叉仓库。
- 创建你的功能分支 (
git checkout -b feature/AmazingFeature)。
- 提交你的更改 (
git commit -m 'Add some AmazingFeature')。
- 推送到分支 (
git push origin feature/AmazingFeature)。
- 打开拉取请求。
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
致谢
免责声明
本项目与 Wyze Labs, Inc. 没有关联、未得到其认可或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。