Enables natural language control of Philips Hue smart lighting systems, allowing users to search for lights, control individual lights or entire rooms/zones, activate scenes, adjust colors and brightness, and manage lighting configurations through their local network.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hue MCP Serverset the living room lights to a cozy warm glow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hue MCP Server
A Model Context Protocol (MCP) server for controlling Philips Hue lighting systems through AI assistants like Claude.
Features
Multi-Bridge Support: Control multiple Hue bridges simultaneously
Real-Time Sync: SSE-based synchronization keeps state updated in real-time
Cached Responses: Instant responses through intelligent caching layer
Comprehensive Tools: Control lights, rooms, scenes, and bridges
Smart Prompts: AI-assisted lighting suggestions and scene creation
Resources: Access bridge status and device inventory
Related MCP server: Hass-MCP
Architecture
Claude Desktop / AI Client
↓ (MCP Protocol)
MCP Server (hue-mcp)
↓
Cache Layer (hue-cache)
↓
Base SDK (hue-sdk)
↓
Hue Bridge Pro(s)Installation
Prerequisites
Go 1.25.6 or later
Philips Hue Bridge Pro with API access
Bridge IP address and application key
Building
cd /tmp/hue-mcp
go build -o hue-mcp main.goConfiguration
The server looks for configuration in ~/.config/hue-mcp/config.json (or $XDG_CONFIG_HOME/hue-mcp/config.json).
Configuration File Structure
{
"bridges": [
{
"id": "bridge-1",
"name": "Main Bridge",
"ip": "192.168.1.100",
"app_key": "your-app-key-here",
"enabled": true
}
],
"cache": {
"type": "file",
"file_path": "~/.cache/hue-mcp/bridges",
"auto_save_interval": 30,
"warm_on_startup": true
},
"server": {
"log_level": "info"
}
}Getting Your Application Key
If you don't have an application key, you can generate one using the Hue SDK:
// TODO: Add setup wizard tool or link to hue-sdk documentationClaude Desktop Integration
Add the following to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"hue": {
"command": "/tmp/hue-mcp/hue-mcp",
"args": []
}
}
}Restart Claude Desktop to load the MCP server.
Available Tools
Setup & Discovery
discover_bridges- Find Hue bridges on your network (N-UPnP via discovery.meethue.com)authenticate_bridge- Authenticate with bridge (link button press required)add_bridge- Add authenticated bridge to configurationremove_bridge- Remove bridge from configurationget_config_path- Get configuration file location
Bridge Management
list_bridges- List all configured Hue bridgesget_bridge_info- Get detailed bridge information
Light Control
list_lights- List all lights across bridgesget_light- Get detailed light informationcontrol_light- Comprehensive single light control:On/off, brightness (0-100%)
RGB colors via XY coordinates
Color temperature (white spectrum, 153-500 mirek)
Effects (candle, fire, prism, sparkle, opal, glisten, underwater, cosmos, sunbeam, enchant)
Timed effects (sunrise, sunset with duration)
Alert effects (breathe)
Gradient support for lightstrips
control_lights- Control multiple lights in one call:Each light can have unique color, brightness, and effects
Perfect for: "set room to rainbow" or "varying shades of blue"
Room Management
list_rooms- List all roomsget_room- Get detailed room information
Grouped Light Control
list_grouped_lights- List all grouped lights (rooms and zones)get_grouped_light- Get detailed information about a grouped lightcontrol_room_lights- Control all lights in a room/zone simultaneously:Single API call controls all lights with same settings
On/off, brightness, RGB colors, color temperature, alerts
Perfect for: "turn off all bedroom lights" or "set living room to warm white"
Scene Management
list_scenes- List all scenesget_scene- Get detailed scene informationactivate_scene- Activate (recall) a scene:Optional brightness override (0-100%)
Optional transition duration (0-6000000ms)
Applies scene's lighting configuration to all lights
Cache Management
warm_cache- Manually populate/refresh cache for instant accesscache_stats- View cache statistics (hit rate, entries, SSE sync status)
Available Resources
Resources provide read-only access to bridge data:
bridges://status- Status of all configured bridgesbridges://devices- Complete device inventorybridges://rooms- All rooms across bridgesbridges://scenes- All scenes across bridges
Available Prompts
Prompts provide AI-assisted interactions:
smart-lighting- Get lighting suggestions based on activitycreate-scene- Interactive scene creation assistantenergy-insights- Energy usage analysis and optimization
Example Usage
Once connected to Claude Desktop, you can interact with your lights naturally:
You: Turn on the living room lights
Claude: [Uses control_light tool to turn on lights]
You: What lights are currently on?
Claude: [Uses list_lights tool to check status]
You: Set the bedroom lights to a warm sunset color at 30% brightness
Claude: [Uses control_light with XY color coordinates]
You: Make the office lights a rainbow of colors
Claude: [Uses control_lights to set each light to different colors in one call]
You: Create a relaxing scene for the bedroom
Claude: [Uses create-scene prompt and tools to create scene]Cache Configuration
The cache layer provides:
File Backend: Persistent cache across restarts
Auto-Save: Automatic cache persistence every 30 seconds
Warm on Startup: Pre-loads cache for instant first access
SSE Sync: Real-time updates from bridge via Server-Sent Events
Cache files are stored in ~/.cache/hue-mcp/ by default.
Development
Project Structure
/tmp/hue-mcp/
├── main.go # MCP server entry point
├── go.mod # Go module dependencies
├── pkg/
│ ├── bridge/
│ │ └── manager.go # Bridge manager with cache integration
│ ├── config/
│ │ └── config.go # Configuration management
│ └── tools/
│ ├── tools.go # Tool registration
│ ├── setup.go # Bridge discovery and setup tools
│ ├── bridges.go # Bridge management tools
│ ├── lights.go # Single light control tools
│ ├── lights_bulk.go # Multi-light control tools
│ ├── rooms.go # Room management tools
│ ├── scenes.go # Scene management tools
│ └── cache.go # Cache management toolsDependencies
github.com/mark3labs/mcp-go- MCP SDK for Gogithub.com/rmrfslashbin/hue-sdk- Base Hue API SDKgithub.com/rmrfslashbin/hue-cache- Caching layer with SSE sync
Troubleshooting
Bridge Connection Issues
Verify bridge IP address is correct
Ensure application key is valid
Check network connectivity to bridge
Review logs in
~/.config/hue-mcp/logs/
Cache Issues
Delete cache files:
rm -rf ~/.cache/hue-mcp/Restart the MCP server
Verify SSE endpoint is accessible
Claude Desktop Not Detecting Server
Verify server builds successfully:
go build -o hue-mcp main.goCheck configuration path in
claude_desktop_config.jsonRestart Claude Desktop after configuration changes
Check Claude Desktop developer console for errors
License
[Add license information]
Contributing
[Add contribution guidelines]