Wyze智能家居控制服务器

一个用于通过AI助手控制Wyze智能家居设备的MCP服务器,支持设备发现、控制和群组管理。

  • by aldilaff
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 aldilaff/mcp-wyze-server

使用说明

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:从源代码安装

  1. 克隆存储库:
git clone https://github.com/aldilaff/mcp-wyze-server.git
cd mcp-wyze-server
  1. 使用紫外线进行安装:
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证书:

  1. 访问 Wyze开发者门户
  2. 如果您没有开发人员帐户,请创建一个
  3. 创建新的API密钥
  4. 记下你的 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

故障排除

常见问题

  1. 认证失败:确保您的Wyze凭据正确且API密钥有效
  2. 找不到设备:设备MAC地址区分大小写
  3. 连接超时:检查您的网络连接和Wyze服务状态

调试模式

通过设置环境变量启用调试日志记录:

export MCP_DEBUG=true

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

免责声明

本项目不隶属于Wyze Labs,股份有限公司,也不由其背书或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。