AI HueBot
Control Philips Hue lights via AI, including OAuth setup, light/scene control, saved vibes, feedback-driven personalization, raw Hue API access, and animations/effects.
Authorize with Philips Hue via browser OAuth
Make arbitrary Hue CLIP v2 API calls
List lights and control individual or all lights (on/off, brightness, color)
Activate Hue scenes by name
Create, save, list, apply, and delete named vibes
Rate vibes, leave feedback, view feedback, and get favorites
Show and acknowledge one-time feedback hints
Read and update a personalized user profile
Animate lights through multi-phase color sequences and stop animations
Set native Hue effects like candle, fire, prism, or no effect
Allows AI agents to control Philips Hue lights, including setting moods/vibes, adjusting individual or all lights, activating scenes, and managing saved vibes with ratings and feedback.
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., "@AI HueBot set a calm blue vibe for the bedroom"
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.
AI HueBot
Control your Philips Hue lights with AI. Set vibes, save favorites, and let it learn your preferences over time.
An MCP server that connects any AI client (Claude, etc.) to your Hue lights. Just describe the mood you want.
Features
Vibe mode -- say "cozy evening" or "deep focus" and the AI picks colors and brightness for every light
Saved vibes -- every vibe is auto-saved and can be re-applied later
Ratings & feedback -- rate vibes 1-10 so the AI learns what you like
Favorites -- quickly access your top-rated vibes
Individual & bulk control -- set any light or all lights at once
Scene activation -- trigger any Hue scene by name
Smart hints -- gently introduces the feedback system to new users
Zero config auth -- built-in OAuth credentials, just authorize in your browser once
Related MCP server: LIFX MCP Server
Quick Start
npx ai-huebotThat's it. Add it to your AI client (see below), then just ask:
"Set a cozy evening vibe"
"Make the bedroom warm orange at 40%"
"Rate that vibe 9 out of 10"
"Apply my highest rated vibe"
Setup
Claude Code
claude mcp add ai-huebot -- npx ai-huebotClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"ai-huebot": {
"command": "npx",
"args": ["ai-huebot"]
}
}
}Any MCP Client
Command:
npxArgs:
["ai-huebot"]Transport: stdio
First Run
Call the hue_auth tool from your AI client. It opens your browser to authorize with Philips Hue. Tokens are saved to ~/.ai-huebot/tokens.json and refresh automatically.
Tools
Tool | Description |
| Authorize with Philips Hue (browser OAuth) |
| List all lights with current state |
| Control a single light (on/off, brightness, color) |
| Set all lights to the same state |
| Activate a Hue scene by name |
| Describe a mood -- AI picks colors for each light (auto-saves) |
| Manually save a light configuration as a named vibe |
| List all saved vibes |
| Re-apply a saved vibe |
| Delete a saved vibe |
| Rate a vibe (1-10) and/or leave text feedback |
| View all feedback, filterable by rating |
| Get your top-rated vibes (rating >= 7) |
| Get a one-time hint about the feedback system |
| Dismiss the hint permanently |
How It Works
Auth: OAuth 2.0 against the Hue Remote API (CLIP v2). Built-in credentials work out of the box -- or set HUE_CLIENT_ID, HUE_CLIENT_SECRET, and HUE_CALLBACK_URL env vars to use your own.
Vibes: When you describe a vibe, the AI chooses hex colors and brightness for each light. The configuration is automatically saved to ~/.ai-huebot/saved-vibes/ as JSON so you can re-apply it anytime.
Feedback loop: Rate vibes and leave feedback. The AI uses this history to suggest vibes you'll like and avoid ones you didn't. Favorites (rating >= 7) are surfaced on request.
Development
git clone https://github.com/EthanSK/ai-huebot-mcp.git
cd ai-huebot-mcp
npm install
npm run build # compile TypeScript
npm run dev # run with tsx (auto-reload)Troubleshooting
403 on CLIP v2 API -- CLIP v2 requires a
hue-application-keyheader containing a whitelisted bridge username. Thehue_authflow creates this automatically, but if the stored username is lost or invalid, v2 calls will return 403. The server automatically falls back to the v1 API in this case. To fix permanently, re-runhue_authto re-establish the bridge link.Auth token expiry -- Access tokens last 7 days and auto-refresh using the stored refresh token. If refresh fails (e.g. revoked access), re-run
hue_authto re-authorize.Bridge not responding -- Make sure your Hue bridge is powered on and on the same network as your machine. The bridge's local IP can change if your router reassigns it -- check the Hue app for the current IP.
MCP server not loading in Claude Code -- MCP servers initialize at session start. If AI HueBot doesn't appear, run
/reload-pluginsor restart the Claude Code session. Run/doctorto check for configuration errors.
License
Available Tools
21 toolsacknowledge_hintA
Mark the feedback system hint as shown so it won't be displayed again.
Inputs: no named parameters.
animate_lightsA
Animate lights through a sequence of color phases. Each phase defines colors/brightness for each light, and the animation cycles through them with smooth transitions. Great for dynamic vibes like 'lava flow', 'ocean waves', 'disco', etc. The AI should generate creative phases based on the vibe description. The animation runs in the background and can be stopped with stop_animation.
Inputs: phases (required), vibe, cycles, transition_time, +1 more.
apply_saved_vibeB
Apply a previously saved vibe by name. Restores the light configuration that was saved.
Inputs: name (required).
delete_saved_vibeA
Delete a previously saved vibe by name.
Inputs: name (required).
get_favoritesA
Get top-rated vibes (rating >= 7 by default). Use this to suggest vibes the user has enjoyed before.
Inputs: min_rating.
get_user_hintA
Get a hint message about the feedback system for the user. Returns a hint only if the user hasn't been told about the feedback system yet. Relay the hint text to the user if one is returned.
Inputs: no named parameters.
get_user_profileA
Get the full user profile with light preferences, vibe history, colour preferences, and patterns. Read this before making vibe decisions to personalise recommendations. The profile is stored as markdown at ~/.ai-huebot/user-profile.md and is auto-populated over time.
Inputs: no named parameters.
get_vibe_feedbackA
Retrieve all vibe feedback entries. Optionally filter by minimum rating or sort by rating. Useful for understanding user preferences.
Inputs: min_rating, sort_by_rating.
hue_apiA
Make an arbitrary Philips Hue CLIP v2 API call. This gives full unrestricted access to the Hue API. The path is relative to /route/clip/v2/ (e.g. 'resource/light', 'resource/light/{id}', 'resource/scene', 'resource/grouped_light/{id}', 'resource/room', 'resource/zone', 'resource/bridge'). See https://developers.meethue.com/develop/hue-api-v2/ for full API docs.
Inputs: path (required), method (required), body.
hue_authA
Start the Philips Hue OAuth authorization flow. Opens a browser window to authorize access to your Hue lights. Only needed on first use or when tokens expire.
Inputs: no named parameters.
list_lightsA
List all Philips Hue lights with their current state including on/off, brightness, and color.
Inputs: no named parameters.
list_saved_vibesA
List all previously saved vibes. Shows names, descriptions, and light configurations.
Inputs: no named parameters.
rate_vibeA
Rate a vibe and/or leave feedback. At least one of rating or feedback must be provided. Use the vibe name from saved vibes.
Inputs: vibe_name (required), rating, feedback.
save_vibeA
Save the current light state as a named vibe. Captures a snapshot of specified lights with their colors and brightness so it can be re-applied later.
Inputs: name (required), lights (required), description.
set_all_lightsA
Set all Hue lights to the same state. You can control on/off, brightness, and color.
Inputs: on, color_hex, brightness.
set_effectA
Set a native Hue light effect. Supported effects: 'candle' (candle flicker), 'fire' (fireplace), 'prism' (color cycling/rainbow). Use 'no_effect' to stop. Can target a specific light or all lights.
Inputs: effect (required), light_id.
set_lightB
Set a specific Hue light's state. You can control on/off, brightness (0-100), and color (hex string like #FF0000 or xy coordinates).
Inputs: light_id (required), on, color_hex, brightness, +2 more.
set_sceneA
Activate a Hue scene by name. Lists available scenes if the exact name is not found.
Inputs: scene_name (required).
set_vibeA
Set a vibe across your lights. Provide a vibe description and an array of light settings that match the vibe. Claude should determine appropriate colors and brightness for each light based on the vibe description.
Inputs: vibe (required), lights (required).
stop_animationA
Stop any currently running animation or effect. Stops background phase animations started by animate_lights, and also clears any native Hue effects (candle, fire, prism) on all lights.
Inputs: no named parameters.
update_user_profileA
Update a section of the user profile with new observations, preferences, or notes. Use this to record things the user tells you about their preferences, or to add evolution notes with suggestions.
Inputs: content (required), section (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools have distinct purposes, but there is some overlap among set_vibe, set_scene, apply_saved_vibe, and animate_lights for creating ambience, and get_favorites overlaps with get_vibe_feedback. Descriptions mostly clear up the boundaries, so only a couple of tools could be confused.
Names are consistently snake_case with verb-first patterns like list_*, set_*, get_*, save_*, and delete_*. Exceptions are hue_api and hue_auth, which lack a leading verb, but they are still descriptive and contextually appropriate.
At 21 tools, this sits in the heavy range (16-25). The expanded vibe, feedback, and profile features justify many of them, but the count feels slightly overloaded compared to typical Hue control servers.
The surface covers lighting control (states, scenes, effects, animations) plus a full vibe lifecycle with rating, feedback, favorites, hints, and user profile management. Minor gaps exist such as no dedicated room/zone management or direct saved-vibe editing, but hue_api provides an escape hatch.
Related MCP Connectors
Control your Tesla from your AI assistant - climate, charging, access, and security.
Yeelight device discovery, state, control, and scene execution.
Control your existing Philips lights, Sonos speakers, Roborock vacuums and other supported devices through Port OS cloud. Give ChatGPT, Claude and other MCP-compatible assistants access to the devices you connect. Turn off the living room lights, play music on your speakers, adjust the thermostat, run a vacuum in a room, check a camera snapshot or find a connected tracker. Available actions depend on your linked provider accounts and each device’s supported capabilities. Port OS runs in the cloud; no local server is required. You choose the account, device and capability permissions each assistant receives. Device operations require user OAuth; public tool discovery does not grant device access. Port OS is in alpha. Setup: https://portoperatingsystem.com/docs/getting-started/ Support: https://portoperatingsystem.com/contact/
Create friendly greetings and add two numbers instantly. Speed up simple tasks and streamline ligh…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to control Philips Hue smart lighting systems, including individual lights, groups, scenes, brightness, and color adjustments through natural language commands.-
- AlicenseBqualityDmaintenanceEnables control of LIFX smart lights through natural language, including power control, color adjustment, lighting effects, and scene management using the LIFX HTTP API.932 npm2ISC
- 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 discovery and control of Philips Hue lighting devices via a local bridge using the CLIP v2 API, without any cloud dependency.10MIT