MCP Wyze服务器
用于使用Wyze sdk库控制Wyze智能家居设备的MCP(模型上下文协议)服务器。
概述
此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 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客户端的配置
此服务器使用stdio传输,可以与支持该协议的任何MCP客户端集成。
如果通过PyPI安装:
mcp-wyze-server如果从源代码运行:
uv run python /path/to/mcp-wyze-server/src/mcp_wyze_server/server.py可用的MCP工具
认证
wyze_login()-登录Wyze帐户(使用env变量)
设备管理
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接口
- 紫外线:快速Python包管理器
项目结构
mcp-wyze-server/
├── src/
│ └── mcp_wyze_server/
│ ├── __init__.py
│ └── server.py # MCP server implementation
├── test_device.py # Device testing utility
├── pyproject.toml # Project dependencies
├── .env.example # Environment variables template
├── CLAUDE.md # Development guidelines for Claude
├── LICENSE # MIT License
└── README.md # This file故障排除
常见问题
- 认证失败:确保您的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许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
免责声明
本项目不隶属于Wyze Labs,股份有限公司,也不由其背书或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。
