
mcp light control
MCP server to control Philips Hue lights, including sending Morse code through them
Repository Info
About This Server
MCP server to control Philips Hue lights, including sending Morse code through them
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
Morse Code Light MCP Server (Philips Hue) 💡
This MCP server allows Cursor or Claude Desktop to control Philips Hue lights and send messages through them using Morse code.
💡Example use case💡: tell Cursor agent to send a Morse code message to you when it's done with a task.
Demo
https://www.youtube.com/watch?v=GM1l98TtZmk
Built with:
- Philips Hue API
- Anthropic MCP
- Cursor
Setup
Prerequisites
- Philips Hue bridge and lights
- Hue bridge username (API key)
- Node.js (v14 or higher)
- Cursor or Claude Desktop
Local API Setup
-
Clone this repository locally.
-
Obtain your Philips Hue bridge IP address and username. If you don't have one, run the discovery script:
node build/discover-bridge.jsFollow the prompts to press the link button on your Hue bridge and receive your API key.
-
Run
npm installfollowed bynpm run buildin the project directory. This will generate the MCP server script in the/builddirectory. -
Add the following MCP configuration. In Cursor it's under Settings -> MCP -> Add new MCP server. In Claude Desktop it's under Settings -> MCP -> Add new MCP server.
{
"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"
}
}
}
}
Remote API Setup
This project supports controlling your Philips Hue lights remotely (from outside your local network) using the Hue Remote API. This enables you to control your lights from anywhere with an internet connection.
Getting Remote API Credentials
-
Create a Hue Developer Account:
- Register at https://developers.meethue.com/
-
Create a Remote Hue API App:
- Go to https://developers.meethue.com/my-apps/
- Create a new app with these details:
- App name: Choose a name for your app
- Callback URL: Use
http://localhost/for simple testing - Application description: Brief description of your app
- After creating the app, you'll receive:
- Client ID
- Client Secret
-
Get Access and Refresh Tokens:
a. Construct an authorization URL and open it in your browser:
https://api.meethue.com/oauth2/auth?clientid=YOUR_CLIENT_ID&response_type=code&state=anystring&appid=YOUR_APP_NAME&deviceid=test-device&devicename=TestDeviceReplace
YOUR_CLIENT_IDandYOUR_APP_NAMEwith your values.b. Log in with your Hue developer account and authorize the app.
c. You'll be redirected to your callback URL with a code parameter.
d. Extract the code from the URL (e.g.,
?code=abcd1234&state=anystring).e. Exchange the code for tokens using cURL or 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. The response will contain:
{ "access_token": "YOUR_ACCESS_TOKEN", "refresh_token": "YOUR_REFRESH_TOKEN", "token_type": "bearer", "expires_in": 604800 }Store these tokens securely. The access token is valid for approximately 7 days, and the refresh token for approximately 100 days.
Add this to your MCP configuration:
{
"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"
}
}
}
}
Available Tools
control_lights
Turn specific or all Philips Hue lights on or off.
Parameters:
state(boolean): True to turn lights on, false to turn them offspecific_lights(array of strings, optional): List of specific light IDs to control
get_lights_info
Retrieve information about all available Philips Hue lights.
Parameters: None
send_morse_code_through_light
Send a message through Philips Hue lights using Morse code.
Parameters:
message(string): The message to send through the lightsspeed_multiplier(number, optional): Speed multiplier for the Morse code (0.1 to 5, default 1)restore_state(boolean, optional): Whether to restore lights to their original state after sending
Development
npm install
npm run build
Quick Start
Clone the repository
git clone https://github.com/ykhli/mcp-light-controlInstall dependencies
cd mcp-light-control
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.