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 henry@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.
find_lights
Smart search with filters to find specific lights.
list_lights
Enhanced listing of lights with room context.
control_room_lights
Control all lights in a specific room.
activate_scene
Activate predefined lighting scenes.
๐ Hue MCP Server
A modern Model Context Protocol (MCP) server that enables AI assistants to control Philips Hue smart lighting systems with natural language.
โจ Features
- ๐จ Natural Language Control - "Turn the living room lights to stormy dusk"
- ๐ Smart Light Search - "Find all color bulbs in the bedroom"
- ๐ Smart Room & Zone Management - Control entire rooms and zones with single commands
- ๐ Atmospheric Variation - Individual light variations for realistic scenes
- ๐ญ Scene Activation - Browse and activate predefined lighting scenes
- ๐ง AI-Optimized Tools - Enhanced responses with quick actions and suggestions
- ๐ฌ Chatbot UX Optimized - Smart response sizing and context management
- โก Intelligent Caching - 95% reduction in API calls with graceful fallbacks
- ๐ง Modern Setup Wizard - Beautiful React-based configuration experience
- ๐ Secure & Local - All communication stays on your local network
- ๐ ๏ธ Developer Friendly - TypeScript-first with comprehensive testing
๐ Quick Start
Prerequisites
- Node.js 18+
- Philips Hue Bridge (v2) on your local network
- Claude Desktop or compatible MCP client
1. Installation
git clone https://github.com/your-username/hue-mcp.git
cd hue-mcp
npm install
2. Setup Your Hue Bridge
Option A: Web Setup (Recommended)
npm run setup:web
This launches a beautiful setup wizard at http://localhost:3000
that will:
- Auto-discover your Hue bridge
- Guide you through authentication
- Test your connection
- Generate Claude Desktop configuration
Option B: CLI Setup
npm run setup
3. Add to Claude Desktop
Copy the generated configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hue-lights": {
"command": "node",
"args": ["/path/to/hue-mcp/dist/index.js"],
"env": {
"HUE_BRIDGE_IP": "192.168.1.100",
"HUE_API_KEY": "your-api-key-here"
}
}
}
}
4. Start Using
Restart Claude Desktop and try these commands:
- "Turn on the living room lights"
- "Set bedroom to warm white at 30%"
- "Activate the energize scene"
- "Show me all available lights"
- "Turn everything off"
๐ Documentation
- - Detailed setup instructions
- - Complete tool documentation
- - Command examples and patterns
- - Common issues and solutions
- - Contributing and extending
- - Technical API documentation
๐ก Optimal Usage Patterns
For Chatbot Efficiency
๐ Discovery Queries
โ Avoid: "List all lights" (potentially large response)
โ
Better: "Find lights that are on" (filtered, relevant)
โ
Best: "Quick status" (minimal context summary)
๐ Room Controls
โ Avoid: Multiple individual light commands
โ
Better: "Turn off all bedroom lights" (single room command)
โ
Best: "Set bedroom to relaxing mood" (scene activation)
๐ Status Checking
โ Avoid: Detailed system overview every time
โ
Better: "Minimal status" (compact summary)
โ
Best: Context-aware - detailed first time, minimal after
Response Size Guidelines
- First interaction: Use
standard
detail level for orientation - Ongoing conversation: Use
compact
to preserve context window - Troubleshooting: Use
verbose
for comprehensive information - Quick checks: Use
minimal
for status updates
๐ ๏ธ Available Commands
Command | Description |
---|---|
npm run setup:web | Launch interactive web setup wizard |
npm run setup | CLI setup tool |
npm run dev | Run in development mode with hot reload |
npm run build | Build for production |
npm run start | Run production build |
npm run test | Run unit tests |
npm run test:connection | Test connection to your Hue bridge |
npm run typecheck | Check TypeScript types |
npm run lint | Lint code |
npm run format | Format code with Prettier |
๐ง MCP Tools
The server provides these AI-optimized tools:
๐ Discovery & Search Tools
Tool | Description | Example |
---|---|---|
find_lights | Smart search with filters | "Find all off lights", "Color bulbs in bedroom" |
list_lights | Enhanced listing with room context | "What lights do I have?" |
get_light | Detailed info with quick actions | "Show me the kitchen light status" |
๐ Room & Zone Management
Tool | Description | Example |
---|---|---|
list_rooms | List all rooms with states | "What rooms are available?" |
control_room_lights | Control entire rooms | "Turn off the bedroom" |
list_zones | List all zones with states | "What zones do I have?" |
control_zone_lights | Control entire zones | "Set Main Area to relaxing" |
๐ญ Scene Management
Tool | Description | Example |
---|---|---|
list_scenes | Browse scenes with categories | "What scenes can I activate?" |
activate_scene | Activate predefined scenes | "Activate the relax scene" |
๐๏ธ Individual Control & Overview
Tool | Description | Example |
---|---|---|
set_light_state | Control with natural language | "Turn on the desk lamp to warm white" |
get_summary | System overview with insights | "Give me a lighting summary" |
โจ Enhanced Features
All tools now include:
- ๐ฏ Quick Actions - Pre-built suggestions for common tasks
- ๐ก Smart Recommendations - Energy tips and troubleshooting
- ๐ Rich Context - Room relationships and capability info
- ๐ Filtering & Search - Find exactly what you need
- ๐ Summary Statistics - Overview data for better decisions
๐ฌ Chatbot UX Optimizations
For sustained conversation efficiency:
- ๐ Smart Response Sizing -
compact
,standard
,verbose
modes - ๐ง Context Management - Learns preferences, adapts over time
- ๐ Intelligent Pagination - Never overwhelms with too much data
- ๐๏ธ Progressive Disclosure - Start minimal, expand on request
- โก Conversation State - Tracks usage for optimal tool selection
๐จ Natural Language Examples
๐ Smart Search Queries
- "Find all kitchen lights" โ Searches by room name
- "Show me lights that are on" โ Filters by current state
- "Color bulbs in the bedroom" โ Searches by capability and room
- "All unreachable lights" โ Finds connectivity issues
๐ฌ Conversation Efficiency Examples
- "Quick status" โ Uses minimal context for fast response
- "What lights do I have?" (first time) โ Standard detail level
- "What lights do I have?" (repeated) โ Compact response
- "Turn on bedroom lights" โ Suggests room control over individual lights
๐จ Colors & Moods
- "stormy dusk" โ Deep blue-purple with low brightness
- "warm white" โ Comfortable warm temperature
- "sunrise" โ Orange-yellow with medium brightness
- "ocean" โ Blue-cyan colors
- "fire" โ Red-orange with high saturation
๐ Atmospheric Scenes (Auto-Variation)
These keywords trigger realistic individual light variations:
- "thunderstorm", "stormy" โ Varied blues with different intensities
- "sunset", "sunrise" โ Gradient of warm colors across lights
- "fireplace", "candlelight" โ Flickering warm variations
- "forest", "ocean" โ Natural color variations
- "cozy", "romantic" โ Subtle warm variations
Brightness & Settings
- "dim blue slowly" โ Blue color with slow transition
- "bright red" โ Red at full brightness
- "50% warm white" โ Warm temperature at half brightness
Room & Zone Control
- "Turn the living room to energizing mode"
- "Set bedroom lights to candlelight"
- "Make the office bright and cool"
- "Set the Main Area zone to something relaxing for a sunday evening"
- "Turn off all lights in the downstairs zone"
๐๏ธ Architecture
Built with modern technologies:
- TypeScript - Type-safe development
- node-hue-api v5 - Official Hue SDK integration
- React + Vite - Modern setup wizard
- Express - Setup server backend
- Vitest - Fast unit testing
- ESLint + Prettier - Code quality
Key Design Principles
- Dual-mode operation - Cached responses with direct API fallback
- Graceful degradation - Always attempts to fulfill requests
- Rate limiting protection - Prevents API abuse
- Comprehensive error handling - Clear, actionable error messages
๐ Performance Optimizations
API Efficiency
- 60-70% fewer API calls through optimistic caching
- 5x longer cache lifetime (1min โ 5min) with smart invalidation
- Bulk operations preferred over individual light controls
- Rate limiting protection with 2-minute discovery caching
- Parallel execution for atmospheric variations (all lights updated simultaneously)
Chatbot Context Management
- 75% smaller responses in compact mode
- Smart pagination - max 5-20 results based on detail level
- Progressive disclosure - minimal โ standard โ verbose
- Conversation state tracking - learns and adapts over time
- Query optimization - suggests more efficient alternatives
Memory & Context Window
- Adaptive response sizing based on conversation stage
- Context-aware parameters automatically optimized
- Intelligent truncation with clear continuation hints
- Tool selection guidance for optimal efficiency
๐ Troubleshooting
Common Issues
"No bridges found"
- Ensure your Hue bridge is powered on and connected to the same network
- Try manual IP entry in the setup wizard
"Authentication failed"
- Make sure to press the physical button on your Hue bridge
- The button must be pressed within 30 seconds of starting authentication
"Connection test failed"
- Verify your bridge IP address is correct
- Check that your API key is valid
- Ensure your firewall allows connections to the bridge
For more help, see our .
๐งช Testing Your Setup
Test your configuration:
# Test connection to your bridge
npm run test:connection
# Run unit tests
npm test
# Check TypeScript types
npm run typecheck
๐ Configuration
The server supports multiple configuration methods:
- Environment variables (highest priority)
- hue-config.json file
- .env file (lowest priority)
Configuration Options
Variable | Description | Default |
---|---|---|
HUE_BRIDGE_IP | Bridge IP address | Required |
HUE_API_KEY | API authentication key | Required |
HUE_SYNC_INTERVAL_MS | Cache refresh interval | 300000 (5 min) |
HUE_ENABLE_EVENTS | Real-time event updates | false |
LOG_LEVEL | Logging verbosity | info |
๐ค Contributing
We welcome contributions! Please see our for details.
Development Setup
# Clone and install
git clone https://github.com/your-username/hue-mcp.git
cd hue-mcp
npm install
# Run tests
npm test
# Start development server
npm run dev
๐ Performance
- 95% API call reduction through intelligent caching
- Sub-second response times for cached data
- Graceful fallbacks when cache is unavailable
- Rate limiting protection prevents bridge overload
๐ Security
- Local network only - No external API calls except bridge discovery
- No data collection - All lighting data stays local
- Secure authentication - API keys stored locally
- HTTPS communication with Hue bridge
๐ License
MIT License - see file for details.
๐ Acknowledgments
- Philips Hue for the amazing smart lighting platform
- node-hue-api for the excellent SDK
- Model Context Protocol for the AI integration framework
- Anthropic for Claude and MCP development
Made with โค๏ธ for the smart home community
Need help? Check our or open an issue!