Provides comprehensive control over Philips Hue smart lighting systems, including turning lights on/off, adjusting brightness, changing colors, managing groups, applying scenes, using activity presets, and creating lighting effects.
Philips Hue MCP Server
A powerful Model Context Protocol (MCP) interface for controlling Philips Hue smart lighting systems. Enable AI assistants like Claude to control your lights using natural language.
Table of Contents
Related MCP server: Hass-MCP
Overview
This server leverages the Model Context Protocol (MCP) to provide a seamless integration between AI assistants like Claude and your Philips Hue lighting system. With it, you can control your smart lights using natural language, access detailed lighting information, and create advanced lighting setups through a standardized AI-friendly interface.
Features
Complete Light Control: Turn on/off, adjust brightness, change colors, set color temperature
Comprehensive Group Management: Control multiple lights together, create custom groups
Scene Handling: Apply existing scenes, create quick custom lighting scenes
Activity-Based Presets: Ready-made settings for reading, relaxation, concentration, and more
Special Effects: Access dynamic lighting effects like color loops
Natural Language Control: Specialized prompts for lighting control through conversation
Secure Local Integration: Connects directly to your Hue bridge on your local network
Quick Start
Then in Claude, start with: "I'd like to control my Philips Hue lights. Can you show me which lights I have available?"
Setup
Prerequisites
Python 3.10 or higher
uv package manager (recommended)
A Philips Hue bridge on your local network
Philips Hue lights paired with your bridge
Installation
Using uv (recommended):
Using pip:
First Run
Test the server with the MCP Inspector:
When prompted, press the link button on your Hue bridge to authorize the connection
Your connection details will be saved in
~/.hue-mcp/config.jsonfor future use
Using with Claude
Install in Claude Desktop
The easiest way to use this server with Claude Desktop:
Manual Configuration
Alternatively, you can manually configure Claude Desktop by editing the configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Add the following configuration:
macOS:
Windows:
Replace /Users/username/Projects/hue-mcp (macOS) or c:\\Users\\username\\Projects\\hue-mcp (Windows) with the actual path to your cloned repository. The --directory flag ensures uv runs in the correct project directory and can find the dependencies defined in pyproject.toml.
After updating the configuration, restart Claude Desktop for the changes to take effect.
Test with MCP Inspector
For development and testing, use the MCP Inspector:
API Reference
Resources
Resource | Description |
| Information about all lights |
| Detailed information about a specific light |
| Information about all light groups |
| Information about a specific group |
| Information about all scenes |
Tools
Tool | Description |
| Get information about all lights |
| Get detailed information about a specific light |
| Get information about all light groups |
| Get information about a specific group |
| Get information about all scenes |
| Turn on a specific light |
| Turn off a specific light |
| Adjust light brightness (0-254) |
| Set light color using RGB values |
| Set light color temperature (2000-6500K) |
| Turn on all lights in a group |
| Turn off all lights in a group |
| Adjust group brightness (0-254) |
| Set color for all lights in a group |
| Apply a scene to a group |
| Search for lights by name |
| Create a new light group |
| Apply custom settings to create a scene |
| Update light information cache |
| Apply a color preset to a light |
| Apply a color preset to a group |
| Make a light flash briefly |
| Set dynamic effects like color loops |
Prompts
Prompt | Description |
| Natural language light control |
| Setup mood lighting for activities |
| Learn about scheduling options |
Examples
Controlling Single Lights
Working with Groups
Creating Scenes
Advanced Options
Command Line Arguments
The server supports the following command line arguments when run directly:
Argument | Description | Default |
| Host to bind the server to (SSE mode only) |
|
| Port to run the server on (SSE mode only) |
|
| Logging level (debug, info, warning, error, critical) |
|
| Run server using SSE transport instead of stdio |
|
Development Mode
When developing or testing:
Troubleshooting
Bridge not found: If automatic discovery doesn't work, you have two options:
Manually edit the
BRIDGE_IPvariable in the script with your bridge's IP addressManually create a config file:
# Create the config directory mkdir -p ~/.hue-mcp # Create a config.json file with your bridge IP echo '{"bridge_ip": "192.168.1.x"}' > ~/.hue-mcp/config.jsonReplace "192.168.1.x" with your actual Hue bridge IP address
Connection issues: Delete
~/.hue-mcp/config.jsonand restart the server to re-authenticateLight control not working: Use
refresh_lightstool to update the light information cacheGroups or scenes not showing up: Restart the bridge and server to sync all data
How It Works
This server connects to your Philips Hue bridge using the phue Python library and exposes functionality through the Model Context Protocol. When an AI like Claude connects:
The server authenticates with your bridge using stored credentials
It provides resources that describe your lighting setup
It exposes tools that Claude can use to control your lights
It offers prompts that help Claude understand how to interact with your lights
All communication with your Hue system happens locally within your network for security and privacy.
Contributing
We are passionate about supporting contributors of all levels of experience and would love to see you get involved in the project. See the contributing guide to get started.
Project Structure
Development
License
This project is available under the MIT license. See LICENSE for details.