Overview
Google Home MCP Server is an implementation for controlling Google Home smart plugs through the Smart Home API, allowing users to manage their smart devices effectively.
To use the server, set up a Google Cloud Project with the Smart Home API enabled, configure OAuth 2.0, and follow the setup instructions to build and start the server.
- List all available smart plugs and their states - Control smart plugs (turn on/off) - Get real-time state of specific smart plugs - Automatic device state refresh - OAuth2 authentication with Smart Home API
- Managing multiple smart plugs in a home automation setup.
- Integrating smart plug control with Google Assistant.
- Monitoring the status of smart devices remotely.
Add to your AI client
Use these steps to connect Google Home MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"jmagar-ghome-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-jmagar-ghome-mcp-server-mcp-mirror"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"jmagar-ghome-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-jmagar-ghome-mcp-server-mcp-mirror"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"jmagar-ghome-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-jmagar-ghome-mcp-server-mcp-mirror"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"jmagar-ghome-mcp-server-mcp-mirror": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-jmagar-ghome-mcp-server-mcp-mirror"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"jmagar-ghome-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-jmagar-ghome-mcp-server-mcp-mirror"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"jmagar-ghome-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-jmagar-ghome-mcp-server-mcp-mirror"
]
}
}
}FAQ
What is required to set up the server?
You need a Google Cloud Project with Smart Home API enabled, OAuth 2.0 credentials, and Node.js 18 or higher.
Can I control multiple smart plugs?
Yes! The server allows you to list and control multiple smart plugs.
Is there any error handling implemented?
Yes, the server includes comprehensive error handling with specific error codes for various issues.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1022,"uuid":"965da6ef-2505-4d5b-8c77-2b11d58bb01b","name":"jmagar_ghome-mcp-server","title":"Google Home MCP Server","description":"Mirror of","avatar_url":"https://avatars.githubusercontent.com/u/192820360?v=4","created_at":"2025-01-28T02:26:55.852Z","updated_at":"2025-02-23T07:19:43.072Z","status":"created","author_name":"MCP-Mirror","author_avatar_url":"https://avatars.githubusercontent.com/u/192820360?v=4","tags":"google-home,mcp-server,smart-home","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/MCP-Mirror/jmagar_ghome-mcp-server","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]