Skip to main content
Glama
lenvolk
by lenvolk

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

  1. LIFX API Token: Get your token from LIFX Cloud Settings

  2. Node.js: Version 16 or higher

  3. VS Code with GitHub Copilot extension

Installation

  1. Clone this repository:

git clone https://github.com/lenvolk/mcp-lifx.git
cd mcp-lifx
  1. Install dependencies:

npm install
  1. Build the project:

npm run build

Usage

With VS Code and GitHub Copilot

The LIFX MCP server works seamlessly with VS Code's GitHub Copilot:

  1. Ensure the server is built: npm run build

  2. Set your LIFX_API_TOKEN environment variable

  3. The server will be automatically discovered by VS Code's MCP integration

  4. 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:

npm start

Or in development mode:

npm run serve

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 lights

  • label:Kitchen - Lights labeled "Kitchen"

  • group:Living Room - Lights in "Living Room" group

  • location:Home - Lights at "Home" location

  • id: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.5

  • Kelvin: kelvin:3500 (warm white)

Development

Project Structure

mcp-lifx/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts          # Main MCP server implementation
β”‚   β”œβ”€β”€ mcp-app.tsx       # React MCP app UI
β”‚   └── mcp-app.html      # HTML entry point for app
β”œβ”€β”€ build/
β”‚   β”œβ”€β”€ index.js          # Compiled server
β”‚   └── src/
β”‚       └── mcp-app.html  # Bundled single-file app UI
β”œβ”€β”€ LIFX.md               # LIFX API documentation
β”œβ”€β”€ MCP_APP_GUIDE.md      # Interactive UI usage guide
β”œβ”€β”€ mcp.md                # MCP tutorial reference
β”œβ”€β”€ vite.config.ts        # Vite build configuration
β”œβ”€β”€ package.json          # Project configuration
β”œβ”€β”€ tsconfig.json         # TypeScript configuration
└── README.md             # This file

Available Scripts

  • npm run build - Build both the MCP app UI and server

  • npm run build:app - Build only the React UI

  • npm run build:server - Build only the TypeScript server

  • npm start - Run the compiled server

  • npm run serve - Run server in development mode (with tsx)

  • npm run dev - Build and run in one command

  • npm run clean - Remove build directory

  • npm run rebuild - Clean and rebuild everything

API Reference

All LIFX API endpoints and parameters are documented in LIFX.md.

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Test thoroughly

  5. 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.

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lenvolk/mcp-lifx'

If you have feedback or need assistance with the MCP directory API, please join our Discord server