OpenHue MCP Server
The OpenHue MCP Server allows you to control Philips Hue lights through Claude and other LLM interfaces.
Lights Control: List all lights, get specific light details, turn lights on/off, adjust brightness (0-100%), set colors by name, and control color temperature (153-500 Mirek)
Room Control: List all rooms, get room details, control all lights in a room together, set room-wide brightness and colors
Scene Management: List available scenes (filterable by room), and activate scenes with different modes (active, dynamic, or static)
Provides comprehensive control of Philips Hue lighting systems through the OpenHue CLI, including turning lights on/off, adjusting brightness, setting colors, controlling color temperature, managing rooms, and activating scenes.
Click on "Deploy 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., "@OpenHue MCP Server turn on the living room lights to 50% brightness"
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.
OpenHue MCP Server
An MCP server that enables control of Philips Hue lights through Claude and other LLM interfaces using the OpenHue CLI.
Prerequisites
Node.js (v16 or higher)
Claude for Desktop (optional, for testing)
Related MCP server: Philips Hue MCP Service
Bridge Setup
Before using the server, you need to set up the OpenHue CLI with your Hue Bridge:
Run the setup command:
# On Linux/macOS:
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup
# On Windows (PowerShell):
docker run -v "${env:USERPROFILE}\.openhue:/.openhue" --rm --name=openhue -it openhue/cli setupFollow the on-screen instructions:
The CLI will search for your Hue Bridge
Press the link button on your Hue Bridge when prompted
Wait for confirmation that the setup is complete
Verify the setup by listing your lights:
# On Linux/macOS:
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli get lights
# On Windows (PowerShell):
docker run -v "${env:USERPROFILE}\.openhue:/.openhue" --rm --name=openhue -it openhue/cli get lightsIf you see your lights listed, the setup is complete and you're ready to use the MCP server.
Installation
Clone the repository:
git clone <your-repo-url>
cd claude-mcp-openhueInstall dependencies:
npm installBuild the project:
npm run buildRun the server:
npm startFeatures
This server exposes the following capabilities through MCP:
Lights Control
List all lights or get specific light details
Turn lights on/off
Adjust brightness
Set colors
Control color temperature
Room Control
List all rooms or get room details
Control all lights in a room together
Set room-wide brightness and colors
Scene Management
List available scenes
Activate scenes with different modes
Filter scenes by room
Usage with Claude Desktop
Open your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server configuration:
{
"mcpServers": {
"hue": {
"command": "node",
"args": ["/absolute/path/to/build/index.js"]
}
}
}Restart Claude Desktop
Look for the hammer icon to verify the server is connected
Example Commands
Once connected, you can ask Claude natural language questions like:
"What lights do I have in the living room?"
"Turn on all the lights in the kitchen"
"Set the bedroom lights to 50% brightness"
"Change the office lights to blue"
"Activate the 'Relaxing' scene"
"What scenes are available in the den?"
Available Tools
get-lights
Lists all lights or gets details for specific lights
{
lightId?: string; // Optional light ID or name
room?: string; // Optional room name filter
}control-light
Controls individual lights
{
target: string; // Light ID or name
action: "on" | "off";
brightness?: number; // 0-100
color?: string; // Color name
temperature?: number; // 153-500 Mirek
}get-rooms
Lists all rooms or gets specific room details
{
roomId?: string; // Optional room ID or name
}control-room
Controls all lights in a room
{
target: string; // Room ID or name
action: "on" | "off";
brightness?: number;
color?: string;
temperature?: number;
}get-scenes
Lists available scenes
{
room?: string; // Optional room name filter
}activate-scene
Activates a specific scene
{
name: string; // Scene name or ID
room?: string; // Optional room name
mode?: "active" | "dynamic" | "static";
}Development
Project Structure
.
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.mdBuilding
npm run buildRunning
npm startTroubleshooting
Server Not Connecting
Check that Docker is running
Verify OpenHue configuration exists
Check Claude Desktop logs
Try running OpenHue CLI directly
Command Failures
Check OpenHue CLI permissions
Verify light/room/scene names
Check Docker container logs
Verify Hue Bridge connectivity
License
MIT License
Contributing
Fork the repository
Create your feature branch
Commit your changes
Push to the branch
Create a new Pull Request
Available Tools
6 toolsactivate-sceneC
Activate a specific scene
Inputs: name (required), mode, room.
control-lightC
Control a specific Hue light
Inputs: action (required), target (required), brightness, color, +1 more.
control-roomC
Control all lights in a room
Inputs: action (required), target (required), brightness, color, +1 more.
get-lightsB
List all Hue lights or get details for a specific light
Inputs: lightId, room.
get-roomsB
List all rooms or get details for a specific room
Inputs: roomId.
get-scenesC
List all scenes or get details for specific scenes
Inputs: room.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: activate-scene targets scene activation, control-light and control-room handle light control at different granularities, and the get-* tools retrieve specific resource types. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb-noun pattern with hyphen separation (e.g., activate-scene, control-light, get-lights). The naming is uniform across all tools, with no deviations in style or convention, ensuring predictability and readability.
With 6 tools, the server is well-scoped for managing Philips Hue devices. The count is appropriate, covering core operations like control and retrieval for lights, rooms, and scenes without being overly sparse or bloated, fitting typical home automation workflows.
The toolset provides solid coverage for the Hue domain, including control and retrieval for lights, rooms, and scenes. A minor gap exists in missing update or delete operations for scenes or rooms, but agents can still accomplish most common tasks with the available tools.
Maintenance
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Create projects, nodes, and tasks in UluP Spaces by conversation with Claude.
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables control of Philips Hue lights through VS Code Copilot or Claude Desktop using natural language commands. Supports turning lights on/off, adjusting brightness, changing colors, and listing available lights on your Hue Bridge.2-
- AlicenseNot gradedqualityDmaintenanceEnables control of Philips Hue lights through the Model Context Protocol, providing tools for turning lights on/off, setting brightness and color, and retrieving light status.1Apache 2.0
- AlicenseAqualityDmaintenanceEnables control of Philips Hue lights via Bluetooth LE directly from Claude, without requiring a Hue Bridge or internet connection.832 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceControls Philips Hue lights based on Claude Code session events, using color animations to indicate Claude's status (thinking, working, success, etc.).20 npm10Apache 2.0