mcp-home
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-hometurn on the living room lights and set them to warm white"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-home
Smart lighting control (Tuya devices, local network) as an MCP server. It must run inside the home network — on a Raspberry Pi, not in a cloud/cluster — because it talks to the bulbs over the LAN.
Tool | |
| connect, wake the bulbs, return every device's state + saved preferences |
| one device's state |
| by device name |
| white / colour |
| RGB (colour mode) |
| 0–1000 (white mode) |
| which client and principal your key acts as |
Devices are referred to by name only; IP addresses, device ids and local keys stay on the
server. Devices are per principal — a household group id forwarded by a trusted client
such as Jarvis (X-On-Behalf-Of: dom). A caller with no home configured gets nothing.
Part of the Jarvis tool servers; built on jarvis-mcp-kit (API keys, rate limits, logs).
Run on the Pi
mkdir -p config data
cp config/clients.example.yaml config/clients.yaml # Jarvis's trusted key (jarvis-mcp-keys new jarvis --servers home --trusted)
cp config/home.example.yaml config/home.yaml # devices_file: /data/smart_devices.json
cp <jarvis>/data/smart_device_data/*.json data/
docker compose -f deploy/docker-compose.yml up -d # host networking for Tuya UDP discovery
curl localhost:8010/healthThe image is multi-arch (amd64 + arm64).
Related MCP server: Philips Hue MCP Service
Reaching it from k3s (WireGuard, least privilege)
The Pi does not join the cluster. The cluster gets one narrow WireGuard tunnel to the home router and can reach only the Pi's MCP port:
k3s: jarvis ──(NetworkPolicy: only jarvis)──► home-gateway pod ═ WireGuard ═► home router ─► Pi:8010Router (WireGuard server): add a peer
k3swith its own key pair and tunnel address (e.g.10.8.0.50/32).Router firewall: allow traffic from that peer only to
<pi-lan-ip>:8010/tcp, drop everything else from it. For example:OpenWrt (
/etc/config/firewall): a zone for the WireGuard interface withoption input REJECT,option forward REJECT, plus a rulesrc wg / src_ip 10.8.0.50 / dest lan / dest_ip <pi-lan-ip> / dest_port 8010 / proto tcp / target ACCEPT.MikroTik:
/ip firewall filter add chain=forward src-address=10.8.0.50 dst-address=<pi-lan-ip> protocol=tcp dst-port=8010 action=acceptfollowed by... src-address=10.8.0.50 action=drop(and the same drop inchain=input).
Cluster: create the
home-gateway-wgSecret (see the header ofdeploy/k3s-home-gateway.yaml, withAllowedIPs = <pi-lan-ip>/32), set the Pi's address in the forwarder, and apply the manifest. Jarvis then useshttp://mcp-home.jarvis.svc/mcp/home.Check: Jarvis can list devices; a pod in another namespace cannot connect to
mcp-home.jarvis; from the tunnel, nothing but<pi-lan-ip>:8010answers; a request without a key gets 401.
If the home connection is down, only the lighting tools fail; everything else keeps working.
This server cannot be deployed
Maintenance
Related MCP Connectors
Yeelight device discovery, state, control, and scene execution.
Yeelight home metadata and guarded management workflows.
Control a Loxone Miniserver smart home: lights, blinds, climate, scenes and energy.
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables control of smart lights through MQTT messaging protocol, supporting operations like turning lights on/off and adjusting brightness levels from 0-100.-
- AlicenseNot gradedqualityDmaintenanceEnables control of Philips Hue lights through the Model Context Protocol, providing tools for turning lights on/off, setting brightness and color, and retrieving light status.1Apache 2.0
- AlicenseAqualityDmaintenanceEnables discovery and control of Philips Hue lighting devices via a local bridge using the CLIP v2 API, without any cloud dependency.10MIT
- AlicenseAqualityBmaintenanceEnables local network control of Tuya and Smart Life smart home devices without cloud round-trips, including power, brightness, color, and raw datapoint operations.9MIT