Skip to content

blacktop/lifx

Repository files navigation

lifx Logo

lifx

LIFX Light TUI and MCP Server


A gorgeous terminal UI and MCP server for controlling LIFX lights. Built with Charm (Bubble Tea + Lip Gloss) with support for both LAN and Cloud API backends.

demo

Features

  • Dual Backend: supports both LAN protocol and LIFX Cloud API.
  • Groups & Lights: rooms/groups with per-light controls.
  • Brightness, Color, Kelvin: keyboard-driven adjustments.
  • Scenes: activate saved scenes via the API backend.
  • Search: filter lights by name.
  • MCP Server: integrate with AI agents via the Model Context Protocol.

Install

Via Go:

go install github.com/blacktop/lifx@latest

Via Homebrew

brew install blacktop/tap/lifx

Backend selection

  • Default is auto: tries API if LIFX_API_KEY is set, otherwise uses LAN.
  • Force backend with --backend:
lifx --backend lan
lifx --backend api --api-key "$LIFX_API_KEY"

Environment

Get your API key from cloud.lifx.com/settings:

export LIFX_API_KEY=...  # Required for API backend and MCP server

Configuration

Customize color presets by creating a config file:

Platform Location
macOS ~/Library/Application Support/lifx/config.yaml
Linux ~/.config/lifx/config.yaml
Windows %AppData%\lifx\config.yaml

Example config with custom presets:

presets:
  - name: Sunrise
    hue: 35
    saturation: 80
    kelvin: 2500

  - name: Daylight
    hue: 0
    saturation: 0
    kelvin: 5500

  - name: Red
    hue: 0
    saturation: 100
    kelvin: 3500

  - name: Green
    hue: 120
    saturation: 100
    kelvin: 3500

See docs/config.example.yaml for a complete example.

Keybindings

Navigation

Key Action
j / Move down
k / Move up
Tab Toggle side panel

Light Control

Key Action
Space Toggle power
0-9 Set brightness to 10-100%
h/l Decrease/increase brightness
p Cycle color preset
w/c Warmer/cooler temperature

Group Control

Key Action
a Turn all lights in group on
x Turn all lights in group off

Other

Key Action
/ Search lights
s Scenes modal
r Refresh
q Quit

MCP Server

Run lifx as an MCP (Model Context Protocol) server for AI agent integration:

lifx mcp

Available Tools

Tool Description
list_lights List all lights with current state (power, brightness, color)
set_power Turn a specific light on or off
set_all_power Turn all lights on or off
set_brightness Set brightness level (0-100)
set_color Set hue, saturation, brightness, and/or kelvin
list_scenes List all available scenes
activate_scene Activate a scene by ID

Configuration

claude mcp add lifx -e LIFX_API_KEY=your_api_key -- lifx mcp
codex mcp add lifx --env LIFX_API_KEY=your_api_key -- lifx mcp
gemini mcp add lifx lifx mcp -e LIFX_API_KEY=your_api_key

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lifx": {
      "command": "lifx",
      "args": ["mcp"],
      "env": {
        "LIFX_API_KEY": "your_api_key"
      }
    }
  }
}

Testing

make mcp-test

Notes

  • LAN protocol requires lights to be on the same network.
  • MCP server and scenes require the LIFX Cloud API (LIFX_API_KEY).

License

MIT Copyright (c) 2025 blacktop

About

LIFX Light TUI and MCP Server

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages