govee_mcp_server
MCP Server to control govee lights
claude mcp add --transport stdio mathd-govee_mcp_server python -m govee_mcp_server.server \ --env GOVEE_SKU="Your Govee device SKU" \ --env GOVEE_API_KEY="Your Govee API key" \ --env GOVEE_DEVICE_ID="Your Govee device ID"
How to use
This MCP server provides a way to control Govee LED devices via the Govee API using the Model Context Protocol. It exposes a set of tools that let MCP clients like Cline perform common lighting actions: turning the device on or off, setting the LED color using RGB values, and adjusting brightness. The server translates MCP model context requests into calls to the Govee API, enabling automation and integration with other smart home tools. You can interact with the server through the built-in CLI (govee-cli) for direct control, or connect with MCP clients to issue model context commands and receive status updates in a standardized format.
Key tools available through the MCP server include:
- turn_on_off: Power the Govee LED device on or off.
- set_color: Set the LED color using RGB values (0-255 per channel).
- set_brightness: Adjust brightness to a value between 0 and 100.
For direct command line interaction, a CLI is provided to control the device from your terminal. This CLI supports commands like power on, power off, color R G B, and brightness value. You can run govee-cli --help to see full usage and options. When used in an MCP workflow, these tools can be invoked via model context requests to reflect the current device state in your MCP-enabled environment.
How to install
Prerequisites:\n- Python 3.8+ installed on your system.\n- pip available in your PATH.\n- Optional: virtual environment support (virtualenv/venv).\n\n1) Create and activate a virtual environment (optional but recommended):\n\n python -m venv venv\n source venv/bin/activate # On Windows use: venv\Scripts\activate.bat\n\n2) Install the package (from the repository or PyPI):\n\n # From PyPI (stable):\n pip install govee-mcp-server # or the exact package name if different in PyPI\n\n # From source (editable mode, for development):\n git clone <repository-url> # if you have the repo URL\n cd govee_mcp_server\n pip install -e ".[test]" # includes test dependencies if you want tests enabled\n\n3) Ensure environment variables are configured (see below).\n\n4) Run the MCP server:\n\n python -m govee_mcp_server.server # starts the MCP server as a Python module\n\n5) Optional: Run tests (if you installed test dependencies):\n\n pytest tests/ # ensure the server can communicate with the Govee API
Additional notes
Environment variables: GOVEE_API_KEY, GOVEE_DEVICE_ID, and GOVEE_SKU must be set for the server to authenticate with the Govee API. You can place them in a .env file at the project root or export them in your shell before starting the server. If you encounter API errors, double-check that your API key is active and that the device ID/SKU match the device you intend to control. The CLI (govee-cli) can be used for quick manual testing before integrating with MCP clients. When running tests, note that server tests typically mock the API, while CLI tests may perform real API calls; ensure your Govee device is powered and connected if running real API tests.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP