README
🚀 LIFX局域网MCP项目
本项目是一个用于控制LIFX智能灯具的工具集,借助模型上下文协议(Model Context Protocol, MCP)与LIFX灯具进行交互。它提供了查询灯具状态、调整灯光颜色、开关控制等多种实用功能。
🚀 快速开始
安装步骤
克隆仓库
git clone https://github.com/simon-duchastel/lifx-lan-mcp.git
cd lifx-lan-mcp
安装依赖
npm install
构建项目
npm run build
运行模式
开发环境准备
- Node.js
- TypeScript
- LIFX灯具接入局域网
代码结构
MCP定义位于index.ts,包含所有可供大语言模型调用的工具。API接口实现于src/目录中。
✨ 主要特性
功能工具
1. 查询灯具状态
- 工具名称:
lifx_lan_get_light_status - 功能描述:获取指定LIFX灯具的状态信息,包括颜色、开关状态、分组及位置等。
- 输入参数:
labels(string[]):需要查询的灯具标签列表
2. 设置灯具颜色
- 工具名称:
lifx_lan_set_light_color - 功能描述:调整指定LIFX灯具的颜色参数,支持渐变过渡效果。
- 输入参数:
labels(string[]):需要调整的灯具标签列表color(object):颜色配置参数hue(number):色调值(范围:0.0 - 1.0)saturation(number):饱和度值(范围:0.0 - 1.0)brightness(number):明亮度值(范围:0.0 - 1.0)kelvin(number, optional):色温值(单位:开尔文,范围:1500 - 9000,默认值:3500)
duration(number, optional):过渡持续时间(单位:毫秒)
3. 打开灯具
- 工具名称:
lifx_lan_turn_on_lights - 功能描述:开启指定LIFX灯具,可选配颜色调整。
- 输入参数:
labels(string[]):需要开启的灯具标签列表color(object, optional):颜色配置参数(可选)hue(number, optional):色调值saturation(number, optional):饱和度值brightness(number, optional):明亮度值kelvin(number, optional):色温值
duration(number, optional):过渡持续时间
4. 关闭灯具
- 工具名称:
lifx_lan_turn_off_lights - 功能描述:关闭指定LIFX灯具,支持渐变关闭效果。
- 输入参数:
labels(string[]):需要关闭的灯具标签列表duration(number, optional):过渡持续时间
📚 详细文档
注意事项
⚠️ 重要提示
使用HTTP服务器模式时,请确保网络环境安全,防止未授权访问。
💡 使用建议
项目基于Node.js开发,需提前安装相关依赖项。
联系方式
如有任何问题或建议,欢迎通过以下方式联系:
如果该项目对您有帮助,可以考虑通过Buy Me a Coffee支持作者。
📄 许可证
本项目采用MIT许可证,具体内容详见LICENSE文件。
Scan to join WeChat group