Labsco
MCP SERVER

GREE MCP Server

by marcinn2

Control GREE and EWPE WiFi air conditioners on your own network — no cloud account, no bridge.

IoT, Smart Home & Embedded Hardware
Summary
Straight to the unit over UDP, which is why it works with the cloud unreachable.

Two details save time: a target temperature outside the device's configured range is rejected rather than silently clamped, so you find out immediately, and set_xfan and set_light only work on devices where you enabled them in the config — the surface reflects what the hardware actually has.

What it is

A server that speaks the GREE units' native UDP protocol directly on the LAN. It binds each configured unit, polls its state continuously, and exposes read and write tools per device.

What you get
  • list_devices — every configured unit with online and bound status and its last-known mode and temperature
  • get_device_status and get_room_temperature — full decoded state, and calibrated current temperature
  • set_power, set_mode (auto, cool, dry, fan, heat) and set_target_temperature
  • set_fan_speed across auto, quiet, low, medium-low, medium, medium-high, high and turbo, mapped down on 3-speed units
  • set_oscillation, set_xfan, set_light, set_quiet_mode and set_turbo_mode
  • Both encryption schemes auto-detected per device, and IP discovery by MAC when no address is configured
Requirements

Node.js 20 or newer, and the units on the same LAN as the server — it talks UDP to port 7000. A config file listing each device by MAC is required; in HTTP mode a bearerToken is required too, and is ignored over stdio. The server must be restarted to pick up config changes.