Skip to main content
Glama

wyze_set_color

Change the color of Wyze smart lights using hex codes to customize lighting for different moods, tasks, or automation scenarios.

Instructions

Set RGB color for a Wyze light (hex format like 'ff0000' for red)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
device_macYes
colorYes

Implementation Reference

  • The handler function for the 'wyze_set_color' tool. Decorated with @mcp.tool() which registers the tool. Validates hex color input, finds the device by MAC, and calls the Wyze API to set the color on compatible light devices.
    @mcp.tool() def wyze_set_color(device_mac: str, color: str) -> Dict[str, str]: """Set RGB color for a Wyze light (hex format like 'ff0000' for red)""" try: # Validate hex color format if not color.startswith('#'): color = '#' + color if len(color) != 7 or not all(c in '0123456789abcdefABCDEF' for c in color[1:]): return {"status": "error", "message": "Color must be in hex format (e.g., 'ff0000' or '#ff0000')"} client = get_wyze_client() devices = client.devices_list() for device in devices: if device.mac == device_mac: # Get device type from multiple possible attributes device_type = (getattr(device, 'product_type', None) or getattr(device, 'type', None) or (hasattr(device, 'product') and getattr(device.product, 'type', None)) or 'Unknown') device_model = (getattr(device, 'product_model', None) or (hasattr(device, 'product') and getattr(device.product, 'model', None)) or 'Unknown') if device_type in ['Light', 'Bulb', 'MeshLight', 'LightStrip']: client.bulbs.set_color( device_mac=device_mac, device_model=device_model, color=color ) return {"status": "success", "message": f"Set {device.nickname} color to {color}"} return {"status": "error", "message": f"Light with MAC {device_mac} not found"} except WyzeClientConfigurationError as e: return {"status": "error", "message": f"Configuration error: {str(e)}"} except WyzeRequestError as e: return {"status": "error", "message": f"API error: {str(e)}"} except Exception as e: return {"status": "error", "message": f"Unexpected error: {str(e)}"}
  • The @mcp.tool() decorator registers the wyze_set_color function as an MCP tool, with type hints serving as the input schema.
    @mcp.tool() def wyze_set_color(device_mac: str, color: str) -> Dict[str, str]:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aldilaff/mcp-wyze-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server