Google Home MCP Server

by jmagar
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Implements Smart Home API intents for Google Assistant, handling device discovery, state queries, and command execution for smart home devices.

  • Integrates with Google Cloud Project for enabling the Smart Home API, necessary for the authentication and operation of the Google Home device control.

  • Allows control of Google Home smart plugs, enabling listing of available devices, turning them on/off, and monitoring their real-time status through the Smart Home API.

Servidor MCP de Google Home

Una implementación de servidor MCP para controlar los enchufes inteligentes de Google Home a través de la API Smart Home.

Características

  • Enumere todos los enchufes inteligentes disponibles y sus estados
  • Controlar enchufes inteligentes (encender/apagar)
  • Obtenga el estado en tiempo real de enchufes inteligentes específicos
  • Actualización automática del estado del dispositivo
  • Autenticación OAuth2 con API de Smart Home

Prerrequisitos

  1. Proyecto de Google Cloud con API de Smart Home habilitada
  2. Acciones en el proyecto Google Smart Home Action
  3. Credenciales de cliente OAuth 2.0 para Smart Home Action
  4. Node.js 18 o superior
  5. Acceso a los enchufes inteligentes de Google Home

Configuración

  1. Crear una acción de casa inteligente:
    • Ir a Acciones en Google Console
    • Crear un nuevo proyecto
    • Elija "Casa inteligente" como tipo de proyecto
    • Configurar la vinculación de cuentas:
      • ID de cliente de OAuth
      • Secreto de cliente OAuth
      • URL de autorización
      • URL del token
  2. Configurar OAuth 2.0:
    • Configurar los puntos finales del servidor OAuth
    • Configurar el flujo de autenticación de usuarios
    • Implementar la generación/validación de tokens
  3. Instalar dependencias:
pnpm install
  1. Configurar el servidor:
    • Copiar config.json.example a config.json
    • Complete su:
      • ID de cliente de OAuth
      • Secreto de cliente OAuth
  2. Construir el servidor:
pnpm build
  1. Iniciar el servidor:
pnpm start

Herramientas disponibles

1. Lista de enchufes inteligentes

{ name: "list_smart_plugs", description: "List all available smart plugs and their current states", response: Array<{ id: string; name: string; state: { on: boolean; online: boolean; } }> }

2. Control del enchufe inteligente

{ name: "control_smart_plug", description: "Turn a smart plug on or off", parameters: { deviceId: string; // Device ID from list_smart_plugs state: boolean; // true for on, false for off }, response: { success: boolean; device: { id: string; name: string; state: { on: boolean; online: boolean; } } } }

3. Obtener el estado del enchufe inteligente

{ name: "get_smart_plug_state", description: "Get the current state of a specific smart plug", parameters: { deviceId: string; // Device ID from list_smart_plugs }, response: { id: string; name: string; state: { on: boolean; online: boolean; } } }

Detalles de la API

El servidor implementa las intenciones de la API de Smart Home:

  1. Intención de sincronización
    • Se llama cuando los usuarios vinculan su cuenta
    • Informa sobre dispositivos y capacidades disponibles
    • Maneja el descubrimiento de dispositivos
  2. Intención de CONSULTA
    • Informa sobre el estado actual de los dispositivos
    • Maneja consultas de estado del Asistente de Google
    • Devuelve el estado en línea/fuera de línea
  3. Intención EJECUTAR
    • Maneja comandos de control del dispositivo
    • Ejecuta operaciones de encendido y apagado
    • Los informes indican el éxito o el fracaso del comando

Manejo de errores

El servidor implementa un manejo integral de errores con códigos de error específicos:

  • CONFIG_ERROR : Errores de carga o validación de configuración
  • API_ERROR : Errores de la API de Smart Home
  • DEVICE_NOT_FOUND : ID del dispositivo no encontrado entre los dispositivos disponibles
  • COMMAND_ERROR : Error al ejecutar el comando del dispositivo

Cada error incluye:

  • Mensaje de error
  • Código de error
  • Información detallada del error cuando esté disponible

Seguridad

  • Flujo de autenticación de OAuth 2.0
  • Manejo seguro de tokens
  • Validación de solicitud
  • Autorización de comando
  • Comunicación HTTPS
  • Sanitización de entrada

Desarrollo

  1. Iniciar en modo de desarrollo:
pnpm dev
  1. Ejecutar pruebas:
pnpm test
  1. Registros de depuración:
    • Se registran todas las llamadas a la API
    • Se capturan los detalles del error
    • Se rastrean los cambios de estado del dispositivo

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

Licencia

Instituto Tecnológico de Massachusetts (MIT)

servidor ghome-mcp

-
security - not tested
F
license - not found
-
quality - not tested

Permite a los usuarios controlar los enchufes inteligentes de Google Home mediante la API Smart Home con autenticación OAuth2, ofreciendo operaciones de control y gestión del estado del dispositivo en tiempo real.

  1. Features
    1. Prerequisites
      1. Setup
        1. Available Tools
          1. 1. List Smart Plugs
          2. 2. Control Smart Plug
          3. 3. Get Smart Plug State
        2. API Details
          1. Error Handling
            1. Security
              1. Development
                1. Contributing
                  1. License
                    1. ghome-mcp-server
                      ID: 8gner2riks