LIFX API MCP Server
About
LIFX API MCP Server is a local Model Context Protocol (MCP) server that provides access to LIFX smart devices using natural language via LLMs. It allows users to list lights, set states, activate scenes, and trigger effects through the LIFX HTTP API.
Details
- Author
- furey
- GitHub stars
- 3
- Downloads
- 220
- Categories
- Developer Tools
Jump to
- 18 tools for LIFX device control and scene management
- Live resources: light list, light state, and scenes
- Prompts: effect-creator, troubleshooter, selector-helper
- Config file customization with component disabling
- Supports Docker, NPX, and source-based installation
- Uses standard LIFX selectors and color strings
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
LIFX API MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Obtain a LIFX API token from the LIFX Cloud settings page. Install the server via npx (npx -y lifx-api-mcp-server@latest) or Docker (docker run --rm -i --network=host furey/lifx-api-mcp-server). Configure the token using a config file (~/.lifx-api-mcp-server.jsonc), environment variable (CONFIG_API_TOKEN), or command-line argument. Set up an MCP client (e.g., Claude Desktop) and control lights using natural language. Use resources like lifx://lights and prompts like effect-creator.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"lifx api mcp server": {
"lifx-api-mcp-server": {
"command": "npx",
"args": [
"-y",
"lifx-api-mcp-server@latest"
]
}
}
}
}
McpServers
{
"lifx-api-mcp-server": {
"command": "npx",
"args": [
"-y",
"lifx-api-mcp-server@latest"
]
}
}
LIFX API MCP Server
<!-- Placeholder -->
<!-- Placeholder -->
<!-- Optional -->
LIFX API MCP Server is a local Model Context Protocol (MCP) server providing access to LIFX devices using natural language via LLMs to perform actions like listing lights, setting states, activating scenes, and triggering effects through the LIFX HTTP API. Includes contextual resources and helpful prompts.
Contents
- Quick Start
- Features
- Installation
- Configuration
- Client Setup
- Data Protection
- Tutorial
- Dockerfile
- Disclaimer
- Support
Quick Start
1. Get a LIFX API Token:
Go to your LIFX Cloud settings page.
Generate a new personal access token. Keep this token secure!
2. Install LIFX MCP Server: (Choose one method)
NPX (Recommended):
npx -y lifx-api-mcp-server@latest
Docker:
docker run --rm -i --network=host --pull=always furey/lifx-api-mcp-server
3. Configure API Token:
Crucial Step: Set your token via one of these methods (priority order):
1. Config File (Recommended): Edit
~/.lifx-api-mcp-server.jsonc (generate with npx -y lifx-api-mcp-server@latest config:create) and add your token to the apiToken field.2. Environment Variable: Set
CONFIG_API_TOKEN=YOUR_LIFX_API_TOKEN.3. Command Line Argument (Least Recommended): Pass the token when running the server (e.g.,
npx ... YOUR_TOKEN).4. Set up MCP Client:
Configure your client (e.g., Claude Desktop, MCP Inspector) to launch the server without the token argument if using config/env.
5. Control Your Lights:
Start interacting with your LIFX devices using natural language (see Tutorial). Use resources like
@lix-api:lifx://lights and prompts like @lix-api:effect-creator.
Features
Tools
list-lights: Gets lights belonging to the account, filterable by selector.set-state: Sets the state (power, color, brightness, etc.) of selected lights.set-states: Sets multiple states across multiple selectors in one request.state-delta: Changes state properties (brightness, hue, saturation, kelvin, infrared) by a relative amount.toggle-power: Toggles the power state of selected lights.breathe-effect: Performs a breathe (fade) effect.pulse-effect: Performs a pulse (flash) effect.move-effect: Performs a move effect on linear devices (LIFX Z strips).morph-effect: Performs a morph effect on Tile devices.flame-effect: Performs a flame effect on Tile devices.clouds-effect: Performs a clouds effect on Tile devices (FW >= 4.8).sunrise-effect: Performs a sunrise effect on Tile devices (FW >= 4.8).sunset-effect: Performs a sunset effect on Tile devices (FW >= 4.8).effects-off: Turns off any running effects.list-scenes: Lists available scenes in the account.activate-scene: Activates a specified scene by its UUID.cycle: Cycles selected lights through a list of predefined states.validate-color: Validates a color string and returns its components.clean: Controls LIFX Clean devices.
Resources
lifx://lights: Provides a summary list of available lights (ID, Label, Power, Connected). Fetches live data.
lifx://light/{selector}/state: Provides the detailed current state for the light(s) matching the selector. Supports autocompletion for selectors. Fetches live data.
lifx://scenes: Provides a list of available scenes (Name, UUID). Fetches live data.
Prompts
effect-creator: Guides the user through creating effect parameters and generates the corresponding tool command.
troubleshooter: Helps diagnose basic connectivity issues for specific lights by checking their status (fetches live data).
selector-helper: Lists available identifiers (labels, groups, locations, IDs) from live data to help users construct accurate selectors.
Other Features
Config File: Customize settings via ~/.lifx-api-mcp-server.jsonc.
Environment Variables: Override config settings (e.g., CONFIG_API_TOKEN, CONFIG_LOG_LEVEL).
Component Disabling: Selectively disable tools, resources, or prompts via config.
Direct API Mapping: Tools generally correspond 1:1 with LIFX API endpoints.
Error Handling: Provides feedback based on LIFX API responses and HTTP status codes.
Selector Support: Uses LIFX selectors (all, id:, label:, etc.) for targeting lights.
Color Support: Accepts standard LIFX color strings.
Docker Support: Run easily within a Docker container.
Installation
LIFX MCP Server can be installed and run in several ways:
NPX (Easiest)
Docker Hub
Node.js from Source
Docker from Source
Installation: NPX
> [!NOTE]<br>
> NPX requires Node.js (v18+) installed.
```console
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





