Skip to main content
Glama

Smart Home MCP Server

A Model Context Protocol (MCP) server that enables LLMs to control smart home devices through natural language commands.

Features

  • Device Control: Control TP-Link Kasa smart plugs and bulbs

  • Natural Language Interface: Human-friendly device names and commands

  • Scene Management: Predefined lighting scenes (bright, dim, warm, cool, party, relax, bedtime)

  • Real-time Status: Get current device states and capabilities

  • Room-based Control: Organize devices by room for targeted control

Prerequisites

  1. REST API Server: The smart home REST API must be running on http://localhost:3001

  2. Device Discovery: Devices must be registered in the device registry

  3. Network Access: Ensure the MCP server can reach your smart home network

Installation

cd /Users/veli/Documents/Cline/MCP/smart-home-mcp npm install npm run build

Usage

Claude Desktop Integration

Add this to your Claude Desktop configuration:

{ "mcpServers": { "smart-home": { "command": "/Users/veli/Documents/Cline/MCP/smart-home-mcp/build/index.js" } } }

Available Tools

1. list_devices

List all smart home devices with their current status.

Example: "Show me all my smart home devices"

2. control_light

Control smart lights with various actions:

  • Power: Turn lights on/off

  • Brightness: Adjust brightness (1-100%)

  • Color: Set RGB color values

  • Color Temperature: Set warm/cool white (2500-9000K)

Examples:

  • "Turn on the elizabeth night lamp"

  • "Set the holiday lights to 50% brightness"

  • "Make the bedroom light red"

  • "Set the living room light to warm white"

3. control_plug

Control smart plugs (on/off only).

Example: "Turn off the holiday lights plug"

4. set_scene

Apply predefined lighting scenes:

  • bright: 100% brightness, 4000K

  • dim: 20% brightness, 2700K

  • warm: 70% brightness, 2500K

  • cool: 80% brightness, 6500K

  • party: 100% brightness, magenta color

  • relax: 40% brightness, 2200K

  • bedtime: 10% brightness, 2000K

Examples:

  • "Set a relaxing scene"

  • "Apply bedtime lighting"

  • "Make it bright in the living room"

5. get_device_status

Get detailed status of a specific device.

Example: "What's the status of the elizabeth night lamp?"

Device Names

The server uses friendly device names from the device registry:

  • holiday-lights - HS103 Smart Plug

  • elizabeth-night-lamp - KL125 Smart Bulb

  • guest-bedroom-lamp - KL125 Smart Bulb

  • And more...

API Integration

The MCP server communicates with the REST API at http://localhost:3001/api:

  • GET /devices - List all devices

  • POST /devices/{name}/control - Control device

  • POST /devices/{name}/power - Set power state

Development

Building

npm run build

Testing

Make sure the REST API server is running:

# From the main project directory cd /Users/veli/code/automation/home-automation npx tsx packages/smart-home-api/src/app.ts

Debugging

The MCP server logs to stderr, so you can see debug output when running with Claude Desktop.

Example Conversations

User: "Turn on all the lights and set them to a warm, cozy scene"

Assistant: I'll turn on your lights and set them to a warm, cozy ambiance.

Uses

User: "What devices do I have available?"

Assistant: Here are your smart home devices:

Uses

User: "Turn off the holiday lights"

Assistant: I'll turn off the holiday lights for you.

Uses

Troubleshooting

  1. MCP Server Not Found: Ensure the path in Claude Desktop config is correct

  2. API Connection Failed: Verify the REST API is running on port 3001

  3. Device Not Found: Check device names in the registry match the friendly names

  4. Network Issues: Ensure firewall allows communication between networks

Next Steps

  • Add Tuya device support

  • Implement advanced scene management

  • Add device grouping and automation rules

  • Integrate with N8N for complex workflows

-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vmm/homer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server