OpenHue MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides comprehensive control of Philips Hue lighting systems through the OpenHue CLI, including turning lights on/off, adjusting brightness, setting colors, controlling color temperature, managing rooms, and activating scenes.

Servidor MCP OpenHue

Un servidor MCP que permite el control de las luces Philips Hue a través de Claude y otras interfaces LLM utilizando la CLI de OpenHue.

Prerrequisitos

Configuración del puente

Antes de utilizar el servidor, debe configurar la CLI de OpenHue con su Hue Bridge:

  1. Ejecute el comando de configuración:
# 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. Siga las instrucciones en pantalla:
    • La CLI buscará su Hue Bridge
    • Presione el botón de enlace en su Hue Bridge cuando se le solicite
    • Espere la confirmación de que la configuración está completa
  2. Verifique la configuración enumerando sus luces:
# 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

Si ve sus luces en la lista, la configuración está completa y está listo para usar el servidor MCP.

Instalación

  1. Clonar el repositorio:
git clone <your-repo-url> cd claude-mcp-openhue
  1. Instalar dependencias:
npm install
  1. Construir el proyecto:
npm run build
  1. Ejecutar el servidor:
npm start

Características

Este servidor expone las siguientes capacidades a través de MCP:

Control de luces

  • Enumere todas las luces u obtenga detalles de luces específicas
  • Encender/apagar las luces
  • Ajustar el brillo
  • Establecer colores
  • Controlar la temperatura del color

Control de la habitación

  • Enumere todas las habitaciones u obtenga detalles de las habitaciones
  • Controlar todas las luces de una habitación a la vez
  • Establecer el brillo y los colores en toda la habitación

Gestión de escenas

  • Lista de escenas disponibles
  • Activar escenas con diferentes modos
  • Filtrar escenas por habitación

Uso con Claude Desktop

  1. Abra el archivo de configuración de Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue la configuración del servidor:
{ "mcpServers": { "hue": { "command": "node", "args": ["/absolute/path/to/build/index.js"] } } }
  1. Reiniciar Claude Desktop
  2. Busque el ícono del martillo para verificar que el servidor esté conectado

Comandos de ejemplo

Una vez conectado, puedes hacerle a Claude preguntas en lenguaje natural como:

  • ¿Qué luces tengo en la sala?
  • "Enciende todas las luces de la cocina"
  • "Ajusta las luces del dormitorio al 50% de brillo"
  • "Cambia las luces de la oficina a azules"
  • Activa la escena 'Relajante'
  • "¿Qué escenas están disponibles en el estudio?"

Herramientas disponibles

obtener luces

Enumera todas las luces u obtiene detalles de luces específicas

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

luz de control

Controla luces individuales

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

conseguir habitaciones

Enumera todas las habitaciones u obtiene detalles específicos de cada habitación

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

sala de control

Controla todas las luces de una habitación.

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

escenas de obtención

Enumera las escenas disponibles

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

activar escena

Activa una escena específica

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

Desarrollo

Estructura del proyecto

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

Edificio

npm run build

Correr

npm start

Solución de problemas

El servidor no se conecta

  1. Comprueba que Docker se esté ejecutando
  2. Verificar que exista la configuración de OpenHue
  3. Consultar los registros de Claude Desktop
  4. Intente ejecutar OpenHue CLI directamente

Fallos de comando

  1. Comprobar los permisos de la CLI de OpenHue
  2. Verificar los nombres de luces/habitaciones/escenas
  3. Comprobar los registros del contenedor Docker
  4. Verificar la conectividad del Hue Bridge

Licencia

Licencia MIT

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una nueva solicitud de extracción
ID: 5ixz6hgw5u