burkeholland
服务介绍
LIFX MCP 服务器
一个基于 TypeScript 的 MCP 服务器,通过官方 LIFX HTTP API 控制 LIFX 智能灯。
功能
- 使用 MCP 工具控制 LIFX 灯
- 设置状态、切换以及应用效果(呼吸、移动、变形、火焰)
- 激活场景并解析颜色字符串
- 使用 FastMCP 构建,易于集成
开始
前提条件
- Node.js (推荐 v16+)
- LIFX Cloud API 令牌 (在这里获取)
- 兼容 MCP 的客户端(例如:VS Code)
安装
bash
git clone https://github.com/your-org/mcp-lifx.git
cd mcp-lifx
npm install
构建
bash
npm run build
运行
你可以直接启动服务器:
bash
npm start
或者使用 MCP 工具(推荐):
bash
npx fastmcp dev src/index.ts
在 VS Code 中使用
为了快速安装,请使用此 README 顶部的一键安装按钮之一。
对于手动安装,请将以下 JSON 块添加到 VS Code 的用户设置(JSON)文件中。你可以通过按 Ctrl + Shift + P 并输入 Preferences: Open User Settings (JSON) 来完成此操作。
可选地,你可以在工作区中的 .vscode/mcp.json 文件中添加它。这将允许你与他人共享配置。
注意,在
.vscode/mcp.json文件中不需要mcp键。
json
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "lifx_token",
"description": "LIFX Cloud API Token",
"password": true
}
],
"servers": {
"lifx": {
"command": "npx",
"args": ["-y", "mcp-lifx"],
"env": {
"LIFX_TOKEN": "${input:lifx_token}"
}
}
}
}
}
配置
服务器需要 LIFX API 令牌。你可以通过以下方式提供:
-
.env文件:LIFX_TOKEN=your_lifx_token_here
-
或者通过 VS Code MCP 扩展提示(见
.vscode/mcp.json)。
使用
服务器公开了以下 MCP 工具:
get-lights: 通过选择器获取灯光状态set-state: 设置状态(电源、颜色、亮度等)set-states: 一次设置多个状态set-state-delta: 应用增量更改toggle-lights: 切换电源breathe-effect,move-effect,morph-effect,flame-effect: 运行效果get-scenes,activate-scene: 场景管理parse-color: 解析颜色字符串
示例:切换一盏灯
json
{
"tool": "toggle-lights",
"parameters": {
"selector": "label:Lamp"
}
}
开发
- TypeScript 源代码:
src/ - 构建输出:
build/ - 类型和模式:
src/types.ts - FastMCP 服务器:
src/index.ts
脚本
npm run build– 将 TypeScript 编译到build/npm start– 运行编译后的服务器npm run dev– 使用 tsx 进行开发运行-npm run inspect– 使用 FastMCP 检查器进行检查
API 参考
有关 LIFX API 的完整详细信息和颜色格式,请参阅 .docs/lifxapi.md。
许可证
ISC
本项目与 LIFX 无关。使用风险自负。