MCP ExplorerExplorer

Govee Mcp Server

@mathdon a year ago
3 MIT
FreeCommunity
AI Systems
MCP Server to control govee lights

Overview

What is Govee Mcp Server

govee_mcp_server is an MCP server designed to control Govee LED devices using the Govee API, allowing users to manage their lighting setup programmatically.

Use cases

Use cases include creating automated lighting scenarios, integrating Govee lights with other smart home devices, and developing custom applications that require dynamic control of lighting environments.

How to use

To use govee_mcp_server, set up your environment by creating a .env file with your Govee API key, device ID, and SKU. Install the server via Smithery or manually using pip. You can control your devices through the provided command line interface or by integrating it with other MCP clients.

Key features

Key features include the ability to turn Govee devices on or off, set LED colors using RGB values, and adjust brightness levels. It also provides a command line interface for direct device control.

Where to use

govee_mcp_server can be used in smart home automation setups, personal projects involving LED lighting, and any application where programmable control of Govee devices is required.

Content

Govee MCP Server

smithery badge

An MCP server for controlling Govee LED devices through the Govee API.

Setup

Environment Variables

Create a .env file in the root directory with the following variables:

GOVEE_API_KEY=your_api_key_here
GOVEE_DEVICE_ID=your_device_id_here
GOVEE_SKU=your_device_sku_here

To get these values:

  1. Get your API key from the Govee Developer Portal
  2. Use the Govee Home app to find your device ID and SKU

Installation

Installing via Smithery

To install Govee MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @mathd/govee_mcp_server --client claude

Manual Installation

# Install with pip
pip install .

# For development (includes test dependencies)
pip install -e ".[test]"

Usage

MCP Server

The MCP server provides tools for controlling Govee devices through the Model Context Protocol. It can be used with Cline or other MCP clients.

Available tools:

  • turn_on_off: Turn the LED on or off
  • set_color: Set the LED color using RGB values
  • set_brightness: Set the LED brightness level

Command Line Interface

A CLI is provided for direct control of Govee devices:

# Turn device on/off
govee-cli power on
govee-cli power off

# Set color using RGB values (0-255)
govee-cli color 255 0 0  # Red
govee-cli color 0 255 0  # Green
govee-cli color 0 0 255  # Blue

# Set brightness (0-100)
govee-cli brightness 50

Run govee-cli --help for full command documentation.

Development

Running Tests

To run the test suite:

# Install test dependencies
pip install -e ".[test]"

# Run all tests
pytest tests/

# Run specific test files
pytest tests/test_server.py  # Server tests (mocked API calls)
pytest tests/test_cli.py    # CLI tests (real API calls)

# Run tests with verbose output
pytest tests/ -v

Note: The CLI tests make real API calls to your Govee device and will actually control it. Make sure your device is powered and connected before running these tests.

Project Structure

.
├── src/govee_mcp_server/
│   ├── __init__.py
│   ├── server.py    # MCP server implementation
│   └── cli.py       # Command-line interface
├── tests/
│   ├── test_server.py  # Server tests (with mocked API)
│   └── test_cli.py     # CLI tests (real API calls)
└── pyproject.toml      # Project configuration

Test Coverage

  • Server tests cover:

    • Environment initialization
    • Govee API client methods
    • Server tools and utilities
    • Error handling
  • CLI tests perform real-world integration testing by executing actual API calls to control your Govee device.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers