摩尔斯电码灯MCP服务器(飞利浦秀)💡
此MCP服务器允许Cursor或Claude Desktop 控制飞利浦秀灯,并使用莫尔斯电码通过它们发送信息.
💡示例用例💡: 告诉Cursor代理在任务完成后向您发送莫尔斯电码消息。
演示
https://www.youtube.com/watch?v=GM1l98TtZmk

内置:
设置
先决条件
- 飞利浦秀桥和灯
- Hue桥接用户名(API密钥)
- Node.js(v14或更高版本)
- 光标或克劳德桌面
本地API设置
- 在本地克隆此存储库。
- 获取您的飞利浦秀桥接器IP地址和用户名。如果没有,请运行发现脚本:
node build/discover-bridge.js按照提示按下Hue桥上的链接按钮并接收API密钥。
- 跑
npm install随后npm run build在项目目录中。这将在中生成MCP服务器脚本/build目录。
- 添加以下MCP配置。在Cursor中,它位于“设置”->“MCP”->“添加新的MCP服务器”下。在Claude Desktop中,它位于“设置”->“MCP”->“添加新的MCP服务器”下。
{
"mcpServers": {
"control_lights": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js"],
"env": {
"HUE_USERNAME": "YOUR_HUE_USERNAME",
"BRIDGE_IP": "YOUR_BRIDGE_IP"
}
}
}
}远程API设置
该项目支持使用Hue Remote API远程控制Philips Hue灯(从本地网络外部)。这使您能够通过互联网连接从任何地方控制灯光。
正在获取远程API凭据
- 创建Hue开发人员帐户:
- 注册地址:https://developers.meethue.com/
- 创建远程色调API应用程序:
- 首选https://developers.meethue.com/my-apps/ - 使用以下详细信息创建新应用程序: - 应用程序名称:为您的应用程序选择一个名称 - 回调URL:使用 http://localhost/ 用于简单测试 - 应用程序描述:应用程序的简要描述 - 创建应用程序后,您将收到: - 客户端ID - 客户端密钥
- 获取访问权限并刷新令牌:
a.构造一个授权URL并在浏览器中打开它:
https://api.meethue.com/oauth2/auth?clientid=YOUR_CLIENT_ID&response_type=code&state=anystring&appid=YOUR_APP_NAME&deviceid=test-device&devicename=TestDevice替换 YOUR_CLIENT_ID 和 YOUR_APP_NAME 与你的价值观。
b.使用您的Hue开发者帐户登录并授权该应用程序。
c.您将被重定向到带有代码参数的回调URL。
d.从URL中提取代码(例如。, ?code=abcd1234&state=anystring).
e.使用cURL或Postman将代码兑换为代币:
curl -X POST https://api.meethue.com/oauth2/token \
-d "code=YOUR_AUTHORIZATION_CODE&grant_type=authorization_code" \
-u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET"f.答复将包括:
{
"access_token": "YOUR_ACCESS_TOKEN",
"refresh_token": "YOUR_REFRESH_TOKEN",
"token_type": "bearer",
"expires_in": 604800
}安全地存储这些令牌。访问令牌的有效期约为7天,刷新令牌的有效期限约为100天。
将此添加到MCP配置中:
{
"mcpServers": {
"control_lights": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js"],
"env": {
"USE_REMOTE": "true",
"REMOTE_CLIENT_ID": "YOUR_CLIENT_ID",
"REMOTE_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"REMOTE_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
"REMOTE_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
}
}
}
}可用工具
control_lights
打开或关闭特定或所有飞利浦秀灯。
参数:
state(boolean):True表示开灯,false表示关灯specific_lights(字符串数组,可选):要控制的特定灯光ID列表
get_lights_info
检索所有可用飞利浦秀灯的信息。
参数:无
send_morse_code_through_light
使用莫尔斯电码通过飞利浦秀灯发送信息。
参数:
message(string):通过灯光发送的信息speed_multiplier(数字,可选):莫尔斯电码的速度倍增器(0.1到5,默认值1)restore_state(布尔值,可选):发送后是否将灯光恢复到原始状态
发展
npm install
npm run build