智能家居设备控制服务器

Wyze MCP服务器是一个用于控制Wyze智能家居设备的服务,支持通过AI助手监控和控制摄像头、插座、灯光、门锁等多种设备。

  • by Porkbutts
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Porkbutts/wyze-mcp-server

使用说明

Wyze MCP服务器

用于控制Wyze智能家居设备的MCP(模型上下文协议)服务器。该服务器允许AI助手列出、监视和控制Wyze设备,包括摄像头、插头、灯、锁、恒温器等。

免责声明

此MCP服务器完全使用Claude代码进行编码。Wyze不提供官方的公共API文档,因此该实现基于社区项目中的反向引擎API,如 wyze api 和 wyze sdk因此,如果Wyze更改其内部API,某些功能可能无法正常工作或可能会中断。

特性

  • 设备发现:列出所有按类型过滤的Wyze设备
  • 功率控制:打开/关闭设备(插头、灯、开关)
  • 灯光控制:调整亮度、色温和RGB颜色
  • 锁定控制:锁定和解锁Wyze门锁
  • 状态监控:获取详细的设备状态和属性
  • 自定义操作:运行设备特定操作(车库门等)

先决条件

  • Node.js 18或更高版本
  • 带有设备的Wyze帐户
  • Wyze API证书(请访问https://developer-api-console.wyze.com)

安装

npm install
npm run build

配置

将Wyze凭据设置为环境变量:

export WYZE_EMAIL="your-email@example.com"
export WYZE_PASSWORD="your-password"
export WYZE_API_KEY="your-api-key"
export WYZE_KEY_ID="your-key-id"

获取API密钥和密钥ID:

  1. 首选https://developer-api-console.wyze.com
  2. 使用您的Wyze帐户登录
  3. 创建一个新的API密钥(每个帐户只允许一个密钥)
  4. 注:API密钥有效期为1年

使用Claude代码

claude mcp add-json wyze '{
  "command": "node",
  "args": ["/path/to/wyze-mcp-server/dist/index.js"],
  "env": {
    "WYZE_EMAIL": "your-email@example.com",
    "WYZE_PASSWORD": "your-password",
    "WYZE_API_KEY": "your-api-key",
    "WYZE_KEY_ID": "your-key-id"
  }
}'

示例

使用Wyze MCP服务器 克劳德代码:

❯ list my wyze devices
  ⎿  {
       "count": 13,
       "devices": [
     … +93 lines (ctrl+o to expand)

⏺ You have 13 Wyze devices:

  Cameras (6)
  ┌──────────────────────┬─────────────┬──────────────────────┐
  │       Nickname       │    Model    │         MAC          │
  ├──────────────────────┼─────────────┼──────────────────────┤
  │ Garage Cam           │ WYZEC1-JZ   │ 2CAA8E80A2C6         │
  ├──────────────────────┼─────────────┼──────────────────────┤
  │ Backyard Battery Cam │ AN_RSCW     │ AN_RSCW_80482C23EC68 │
  ├──────────────────────┼─────────────┼──────────────────────┤
  │ Katsu Cam            │ GW_GC1      │ GW_GC1_D03F27748108  │
  ├──────────────────────┼─────────────┼──────────────────────┤
  │ Baby Cam             │ GW_GC1      │ GW_GC1_D03F277487C9  │
  ├──────────────────────┼─────────────┼──────────────────────┤
  │ Patio Cam            │ WYZECP1_JEF │ 2CAA8E7148EF         │
  ├──────────────────────┼─────────────┼──────────────────────┤
  │ Living Room Cam      │ WYZECP1_JEF │ 2CAA8E6A56FE         │
  └──────────────────────┴─────────────┴──────────────────────┘
  Plugs (5)
  ┌──────────────────────┬───────┬──────────────┐
  │       Nickname       │ Model │     MAC      │
  ├──────────────────────┼───────┼──────────────┤
  │ Landing Area Lamp    │ WLPP1 │ 2CAA8E7FCEBD │
  ├──────────────────────┼───────┼──────────────┤
  │ Patio Lights         │ WLPP1 │ 2CAA8E7F9C51 │
  ├──────────────────────┼───────┼──────────────┤
  │ Living Room Lamp     │ WLPP1 │ 2CAA8E76FED2 │
  ├──────────────────────┼───────┼──────────────┤
  │ Master Bedroom Left  │ WLPP1 │ 2CAA8E76FC7E │
  ├──────────────────────┼───────┼──────────────┤
  │ Master Bedroom Right │ WLPP1 │ 2CAA8E76DD43 │
  └──────────────────────┴───────┴──────────────┘
  Lights (1)
  ┌─────────────┬──────────┬──────────────┐
  │  Nickname   │  Model   │     MAC      │
  ├─────────────┼──────────┼──────────────┤
  │ Living Room │ HL_A19C2 │ 80482CAFAB82 │
  └─────────────┴──────────┴──────────────┘
  Other (1)
  ┌────────────────┬────────┬──────────┐
  │    Nickname    │  Type  │  Model   │
  ├────────────────┼────────┼──────────┤
  │ Bathroom Scale │ Common │ WL_SCLET │
  └────────────────┴────────┴──────────┘

❯ turn off the living room light and turn it back on

⏺ wyze - wyze_turn_off (MCP)(device: "Living Room")
  ⎿  Successfully turned off "Living Room" (80482CAFAB82)


⏺ wyze - wyze_turn_on (MCP)(device: "Living Room")
  ⎿  Successfully turned on "Living Room" (80482CAFAB82)


⏺ Done. Turned off the Living Room light and turned it back on.

可用工具

wyze_list_devices

列出帐户上的所有Wyze设备。

参数:

  • device_type (可选):按设备类型过滤(例如。, Camera, Light, Plug, Lock)
  • response_format (可选): markdown 或 json (默认值: markdown)

例子:

List all my Wyze lights

wyze_get_device_status

获取特定设备的详细状态和属性。

参数:

  • device (必填):设备MAC地址或昵称
  • response_format (可选): markdown 或 json (默认值: markdown)

例子:

Get the status of my Living Room Light

wyze_turn_on

打开设备(插头、灯、开关)。

参数:

  • device (必填):设备MAC地址或昵称

例子:

Turn on the Office Plug

wyze_turn_off

关闭设备(插头、灯、开关)。

参数:

  • device (必填):设备MAC地址或昵称

wyze_set_brightness

设置Wyze灯光的亮度。

参数:

  • device (必填):设备MAC地址或昵称
  • brightness (必填):亮度级别从1到100

例子:

Set the bedroom light to 50% brightness

wyze_set_color_temp

设置Wyze灯光的色温。

参数:

  • device (必填):设备MAC地址或昵称
  • color_temp (必填):色温(开尔文)(2700-6500)

例子:

Set the living room light to warm white (2700K)

wyze_set_color

设置Wyze color Bulb的RGB颜色。

参数:

  • device (必填):设备MAC地址或昵称(必须是彩色灯泡)
  • color (必填):RGB十六进制颜色(例如。, ff0000 对于红色, 00ff00 绿色)

常见颜色:

颜色 十六进制代码
红色 ff0000
绿色 00ff00
蓝色 0000ff
黄色 ffff00
洋红色 ff00ff
青色 00ffff
橙色 ffa500
白色 ffffff

例子:

Set the living room light to blue

wyze_lock

锁上Wyze门锁。

参数:

  • device (必填):锁定MAC地址或昵称

wyze_unlock

打开Wyze门锁。

参数:

  • device (必填):锁定MAC地址或昵称

wyze_get_lock_info

获取Wyze锁的详细信息,包括电池电量和键盘信息。

参数:

  • device (必填):锁定MAC地址或昵称
  • response_format (可选): markdown 或 json (默认值: markdown)

wyze_run_action

在设备上运行自定义操作。

参数:

  • device (必填):设备MAC地址或昵称
  • action_key (必填):要运行的动作(例如。, garage_door_trigger)
  • provider_key (可选):提供者密钥(默认为设备MAC)

例子:

Trigger the garage door

支持的设备类型

类型 描述
摄像头 Wyze凸轮、凸轮盘、门铃
插头 Wyze插头,户外插头
灯 Wyze灯泡,灯带
MeshLight Wyze灯泡(网状网络)
锁 Wyze锁
接触传感器 Wyze Sense接触传感器
运动传感器 Wyze Sense运动传感器
恒温器 Wyze恒温器
开关 Wyze开关
机器人真空 Wyze机器人真空
车库门 Wyze车库门控制器
洒水喷头 Wyze洒水喷头

色温指南

开尔文 描述
2700K 暖白色(如白炽灯)
3000K 软白色
4000K 中性白色
5000K 日光
6500K 冷白色(如日光)

备注

  • 身份验证是自动处理的;令牌在到期前刷新
  • MFA/2FA目前不支持;禁用它或使用没有MFA的帐户
  • 设备操作可能需要几秒钟才能完成
  • 某些设备(如摄像头)的远程控制能力有限

发展

# Watch mode with auto-reload
npm run dev

# Build
npm run build

# Run
npm start

许可证

麻省理工学院