P

govee_mcp_server

Created Oct 19, 2025 by mathd

Language:

Python

Stars:

3

Forks:

1

README

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.

Last updated: Oct 19, 2025

Publisher info

mathd's avatar

mathd

MoovAI
Montréal, Québec, Canada
8
followers
9
following
12
repos

More MCP servers built with Python

Stable Diffusion WebUI

Stable Diffusion web UI

By AUTOMATIC1111 160.1K
Transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

By huggingface 155.5K
PyTorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

By pytorch 96.8K