MCP Wyze Server

MCP Wyze Server

Enables control and monitoring of Wyze smart home devices through AI assistants. Supports device discovery, control (on/off, brightness, color), group management, and health tracking for scales with real-time status monitoring.

Category
Visit Server

README

MCP Wyze Server

An MCP (Model Context Protocol) server for controlling Wyze smart home devices using the wyze-sdk library.

Overview

This MCP server provides a comprehensive interface for interacting with Wyze devices through AI assistants like Claude. It supports authentication, device discovery, device control, and group management for various Wyze smart home products.

Features

  • Authentication: Secure login using Wyze API credentials
  • Device Discovery: List and get information about all Wyze devices
  • Device Control: Turn devices on/off, adjust brightness, and more
  • Group Management: Control entire rooms or groups of devices at once
  • Live Resources: Real-time device and group status monitoring
  • Automatic Login: Uses environment variables for seamless authentication

Prerequisites

  • Python 3.13+
  • Wyze developer account with API credentials
  • uv package manager

Installation

Option 1: Install from PyPI (Recommended)

uv pip install mcp-wyze-server

Or with pip:

pip install mcp-wyze-server

Option 2: Install from Source

  1. Clone the repository:
git clone https://github.com/aldilaff/mcp-wyze-server.git
cd mcp-wyze-server
  1. Install with uv:
uv pip install -e .

Or build and install:

uv build
uv pip install dist/*.whl

Configure Environment Variables

After installation, configure environment variables:

cp .env.example .env

Edit .env and add your Wyze credentials:

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

Getting Wyze API Credentials

To obtain your Wyze API credentials:

  1. Visit the Wyze Developer Portal
  2. Create a developer account if you don't have one
  3. Create a new API key
  4. Note down your KEY_ID and API_KEY

Usage

Running the Server Standalone

If installed from PyPI:

mcp-wyze-server

If running from source:

uv run python src/mcp_wyze_server/server.py

Integrating with Claude Desktop

Add this configuration to your Claude Desktop MCP settings:

If installed globally via 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"
      }
    }
  }
}

Note: Replace /Users/yourusername/.local/bin/uv with the actual path to your uv installation. You can find this by running which uv in your terminal.

If running from source (recommended for development):

{
  "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"
      }
    }
  }
}

Note: Replace /Users/yourusername/.local/bin/uv with your actual uv path.

Configuration with Other MCP Clients

This server uses stdio transport and can be integrated with any MCP client that supports the protocol.

If installed via PyPI:

mcp-wyze-server

If running from source:

uv run python /path/to/mcp-wyze-server/src/mcp_wyze_server/server.py

Available MCP Tools

Authentication

  • wyze_login() - Login to Wyze account (uses env vars)

Device Management

  • wyze_get_devices() - List all devices
  • wyze_device_info(device_mac) - Get device details
  • wyze_get_device_status(device_mac) - Get accurate current status (power state, brightness, etc.)

Basic Device Control

  • wyze_turn_on_device(device_mac) - Turn on a device
  • wyze_turn_off_device(device_mac) - Turn off a device
  • wyze_set_brightness(device_mac, brightness) - Set brightness (0-100)

Enhanced Light Control

  • wyze_set_color_temp(device_mac, color_temp) - Set color temperature (2700K-6500K)
  • wyze_set_color(device_mac, color) - Set RGB color (hex format)
  • wyze_set_light_effect(device_mac, effect) - Set visual effects
  • wyze_set_light_sun_match(device_mac, enabled) - Enable/disable sun matching
  • wyze_clear_light_timer(device_mac) - Clear scheduled timers

Scale Management

  • wyze_get_scales() - List all Wyze scales
  • wyze_get_scale_info(device_mac) - Get detailed scale information
  • wyze_get_scale_records(device_mac, user_id, days_back) - Get weight/body composition records

Resources

  • wyze://devices - Live device list with status
  • wyze://scales - Live scale list with family members

Prompts

  • wyze_device_control_prompt(device_name, action) - Generate control prompts
  • wyze_scale_health_prompt(family_member_name, timeframe) - Generate health analysis prompts

Supported Devices

This server supports various Wyze device types including:

  • Lights (Bulbs, Light Strips)
  • Switches
  • Plugs
  • Scales
  • Locks
  • Cameras (basic control)
  • Thermostats
  • And more...

Development

This project uses:

  • FastMCP: A high-performance MCP server framework
  • wyze-sdk: Comprehensive Python interface for Wyze devices
  • uv: Fast Python package manager

Project Structure

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

Troubleshooting

Common Issues

  1. Authentication Failed: Ensure your Wyze credentials are correct and API keys are valid
  2. Device Not Found: Device MAC addresses are case-sensitive
  3. Connection Timeout: Check your network connection and Wyze service status

Debug Mode

Enable debug logging by setting the environment variable:

export MCP_DEBUG=true

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Wyze SDK for the excellent Python library
  • MCP for the Model Context Protocol specification
  • FastMCP for the MCP server framework

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by Wyze Labs, Inc. All product names, logos, and brands are property of their respective owners.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured