MCP.so
Sign In
Servers

Google Home MCP Server

@jmagar

Overview

What is Google Home MCP Server?

An MCP server that enables control of Google Home smart plugs through the Smart Home API. It uses OAuth 2.0 authentication and integrates with Google Cloud and Actions on Google projects. Designed for developers who want to manage smart plugs programmatically.

How to use Google Home MCP Server?

Set up a Smart Home Action project in the Actions on Google Console, configure OAuth 2.0 client credentials, install dependencies with pnpm install, copy config.json.example to config.json with your OAuth Client ID and Secret, build with pnpm build, and start with pnpm start. Use the provided tools (list_smart_plugs, control_smart_plug, get_smart_plug_state) to interact with smart plugs.

Key features of Google Home MCP Server

  • List all smart plugs and their current states
  • Turn smart plugs on or off
  • Get real-time state of a specific smart plug
  • Automatic device state refresh
  • OAuth2 authentication with Smart Home API

Use cases of Google Home MCP Server

  • AI assistant controlling smart plugs via natural language
  • Home automation scripts that manage plug states
  • Monitoring and logging plug on/off status over time
  • Integrating smart plug control into larger MCP-based workflows

FAQ from Google Home MCP Server

What prerequisites are needed?

A Google Cloud Project with Smart Home API enabled, an Actions on Google Smart Home Action project, OAuth 2.0 client credentials, Node.js 18 or higher, and access to Google Home smart plugs.

How does authentication work?

The server uses OAuth 2.0 with a client ID and secret. You must configure authorization and token endpoints for account linking in the Actions on Google Console.

What data does the server access?

It accesses smart plug data (ID, name, on/off state, online status) via the Smart Home API. No local device data is stored.

Does the server support real-time updates?

It provides automatic device state refresh, but the README does not specify push-based real-time updates.

How are errors handled?

Errors include specific codes for configuration (CONFIG_ERROR), API errors (API_ERROR), device not found (DEVICE_NOT_FOUND), and command failures (COMMAND_ERROR), each with a message and details.

Tags

More from Other