rmrfslashbin/hue-mcp
If you are the rightful owner of hue-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Hue MCP Server is a modern Model Context Protocol (MCP) server that allows AI assistants to control Philips Hue smart lighting systems using natural language.
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
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.go
Configuration
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 documentation
Claude 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 tools
Dependencies
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.go - Check configuration path in
claude_desktop_config.json - Restart Claude Desktop after configuration changes
- Check Claude Desktop developer console for errors
License
[Add license information]
Contributing
[Add contribution guidelines]