The LIFX MCP Server provides comprehensive control over LIFX smart lights through the LIFX HTTP API, offering both programmatic tools and an interactive web-based UI.
Core Capabilities:
Light Discovery & Control: List all lights or filter by selector (label, group, location, ID). Control power state (on/off/toggle), brightness (0.0-1.0), color (named colors, RGB, HSB, Kelvin), and infrared levels for compatible bulbs. Apply changes instantly or with smooth transitions.
Visual Effects: Create breathe and pulse effects with customizable color, speed, cycles, and brightness. Turn off any running effects.
Scene Management: List all saved scenes in your LIFX account and activate them by UUID with optional transition duration.
Utilities: Validate color strings in various formats before applying them.
Interactive Web UI: Launch a visual control panel with real-time adjustments for power, brightness, and color. Access one-click color presets, visual effect controls, and a theme-aware design that adapts to your client interface.
Integration: Works seamlessly with VS Code and GitHub Copilot via MCP, controllable through text commands or the interactive UI.
Provides tools for controlling LIFX smart lights through the LIFX HTTP API, including power control, color and brightness adjustments, lighting effects (breathe, pulse), scene management, and light discovery using selectors.
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., "@LIFX MCP Serverturn on the living room lights and set them to warm white"
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.
LIFX MCP Server
A Model Context Protocol (MCP) server that provides tools for controlling LIFX smart lights through the LIFX HTTP API.
Features
This MCP server exposes the following LIFX API functionality as tools:
π list_lights - Get all lights or filter by selector
β‘ set_state - Control power, color, brightness of lights
π toggle_power - Toggle lights on/off
π« breathe_effect - Create breathing light effects
π« pulse_effect - Create pulsing light effects
π¬ list_scenes - List all saved scenes
βΆοΈ activate_scene - Activate a specific scene
β validate_color - Validate color string formats
βΉοΈ effects_off - Turn off any running effects
π¨ Interactive MCP App
NEW! This server includes an interactive web-based UI that provides:
Visual controls for all your LIFX lights
Real-time power, color, and brightness adjustments
One-click color presets
Visual effects (breathe & pulse) controls
Theme-aware design that adapts to your client
See MCP_APP_GUIDE.md for details on using the interactive UI.
Prerequisites
LIFX API Token: Get your token from LIFX Cloud Settings
Node.js: Version 16 or higher
VS Code with GitHub Copilot extension
Installation
Clone this repository:
Install dependencies:
Build the project:
Usage
With VS Code and GitHub Copilot
The LIFX MCP server works seamlessly with VS Code's GitHub Copilot:
Ensure the server is built:
npm run buildSet your
LIFX_API_TOKENenvironment variableThe server will be automatically discovered by VS Code's MCP integration
Open GitHub Copilot Chat and interact with your lights
Example interactions:
"List all my LIFX lights"
"Open LIFX control" - launches the interactive UI with visual controls
"Show LIFX app" - alternative way to open the control interface
"Turn on the kitchen lights"
"Set living room lights to blue"
"Launch LIFX dashboard" - opens the visual control panel
Running the Server
You can run the server directly with:
Or in development mode:
Example Usage
Once connected to an MCP client, you can use commands like:
Text Commands
"List all my LIFX lights"
"Turn on the kitchen lights"
"Set living room lights to blue"
"Start a breathe effect on all lights with red color"
"Show me all my saved scenes"
"Activate the movie night scene"
Interactive UI
Launch the visual control interface with any of these prompts:
"Open LIFX control" - Primary command to launch the UI
"Show LIFX app" - Alternative prompt
"Launch LIFX interface" - Opens the interactive controls
"Open LIFX dashboard" - Displays the visual UI
"Show me LIFX controls" - Launches the control panel
"Open the LIFX control panel" - Starts the interactive interface
"I want to control my LIFX lights visually" - Opens the UI
"Show LIFX remote" - Alternative way to access controls
The interactive UI provides visual controls for power, brightness, colors, and effects without needing text commands. See MCP_APP_GUIDE.md for details.
LIFX Selectors
Use selectors to target specific lights:
all- All lightslabel:Kitchen- Lights labeled "Kitchen"group:Living Room- Lights in "Living Room" grouplocation:Home- Lights at "Home" locationid:d073d5000000- Specific light by ID
Color Formats
The server supports various color formats:
Named colors:
red,blue,green,purple, etc.RGB:
rgb:255,0,0(red)HSB:
hue:120 saturation:1.0 brightness:0.5Kelvin:
kelvin:3500(warm white)
Development
Project Structure
Available Scripts
npm run build- Build both the MCP app UI and servernpm run build:app- Build only the React UInpm run build:server- Build only the TypeScript servernpm start- Run the compiled servernpm run serve- Run server in development mode (with tsx)npm run dev- Build and run in one commandnpm run clean- Remove build directorynpm run rebuild- Clean and rebuild everything
API Reference
All LIFX API endpoints and parameters are documented in LIFX.md.
Contributing
Fork the repository
Create a feature branch
Make your changes
Test thoroughly
Submit a pull request
License
ISC License
Support
For issues with this MCP server, please open an issue on GitHub. For LIFX API issues, refer to the official LIFX API documentation.
Note: This is an unofficial LIFX MCP server. LIFX is a trademark of LIFX Pty Ltd.