智能灯光控制服务

OpenHue MCP Server 是一个通过Claude和其他LLM接口控制Philips Hue灯光的服务器,支持灯光开关、亮度调节、颜色设置和场景管理等功能。

  • by lsemenenko
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 lsemenenko/openhue-mcp-server

使用说明

OpenHue MCP服务器

一个MCP服务器,可以使用OpenHue CLI通过Claude和其他LLM接口控制飞利浦秀灯。

先决条件

桥梁设置

在使用服务器之前,您需要使用Hue Bridge设置OpenHue CLI:

  1. 运行安装命令:
# On Linux/macOS:
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup

# On Windows (PowerShell):
docker run -v "${env:USERPROFILE}\.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup
  1. 按照屏幕上的说明进行操作:

    • CLI将搜索您的Hue Bridge
    • 出现提示时,按下Hue桥接器上的链接按钮
    • 等待安装完成的确认
  2. 通过列出灯光来验证设置:

# On Linux/macOS:
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli get lights

# On Windows (PowerShell):
docker run -v "${env:USERPROFILE}\.openhue:/.openhue" --rm --name=openhue -it openhue/cli get lights

如果您看到列出的灯,则表示设置已完成,您已准备好使用MCP服务器。

安装

  1. 克隆存储库:
git clone <your-repo-url>
cd claude-mcp-openhue
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 运行服务器:
npm start

特性

此服务器通过MCP公开以下功能:

灯光控制

  • 列出所有灯光或获取特定灯光详细信息
  • 打开/关闭灯
  • 调整亮度
  • 设置颜色
  • 控制色温

房间控制

  • 列出所有房间或获取房间详细信息
  • 一起控制房间里的所有灯
  • 设置整个房间的亮度和颜色

场景管理

  • 列出可用场景
  • 使用不同模式激活场景
  • 按房间过滤场景

使用Claude Desktop

  1. 打开您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务器配置:

{
  "mcpServers": {
    "hue": {
      "command": "node",
      "args": ["/absolute/path/to/build/index.js"]
    }
  }
}
  1. 重新启动克劳德桌面

  2. 查找锤子图标以验证服务器是否已连接

示例命令

连接后,您可以向Claude提出自然语言问题,例如:

  • “客厅里有什么灯?”
  • “打开厨房里的所有灯”
  • “将卧室灯设置为50%亮度”
  • “将办公室灯换成蓝色”
  • “激活‘放松’场景”
  • “书房里有什么场景?”

可用工具

获取灯光

列出所有灯光或获取特定灯光的详细信息

{
  lightId?: string;  // Optional light ID or name
  room?: string;     // Optional room name filter
}

控制灯

控制单个灯光

{
  target: string;    // Light ID or name
  action: "on" | "off";
  brightness?: number; // 0-100
  color?: string;     // Color name
  temperature?: number; // 153-500 Mirek
}

预订房间

列出所有房间或获取特定房间详细信息

{
  roomId?: string;  // Optional room ID or name
}

控制室

控制房间内的所有灯光

{
  target: string;    // Room ID or name
  action: "on" | "off";
  brightness?: number;
  color?: string;
  temperature?: number;
}

获取场景

列出可用场景

{
  room?: string;    // Optional room name filter
}

激活场景

激活特定场景

{
  name: string;     // Scene name or ID
  room?: string;    // Optional room name
  mode?: "active" | "dynamic" | "static";
}

发展

项目结构

.
├── src/
│   └── index.ts    # Main server implementation
├── build/          # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

建筑

npm run build

跑步

npm start

故障排除

服务器未连接

  1. 检查Docker是否正在运行
  2. 验证OpenHue配置是否存在
  3. 检查克劳德桌面日志
  4. 尝试直接运行OpenHue CLI

命令失败

  1. 检查OpenHue CLI权限
  2. 验证灯光/房间/场景名称
  3. 检查Docker容器日志
  4. 验证Hue桥接连接

许可证

MIT许可证

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交您的更改
  4. 推到分支
  5. 创建新的Pull请求