HomeClaw plugin
A Claude Code plugin and MCP server: the agent switches lights, locks doors and runs Apple HomeKit scenes from a Mac
- 191 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent controls physical devices: locks, thermostats, lighting and automations
- The tools rename, create and delete rooms, zones, scenes and automations in your HomeKit home
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/homeclawDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent controls physical devices: locks, thermostats, lighting and automations
- The tools rename, create and delete rooms, zones, scenes and automations in your HomeKit home
This is third-party code. Review the repository files before installing.
What it does
Apple HomeKit has no public API for macOS, so HomeClaw runs as a Mac Catalyst menu bar app that talks to HomeKit directly and opens a local socket. Three layers sit on top of the socket: the `homeclaw-cli` command-line tool, a stdio MCP server on Node.js and a Claude Code plugin with a `homeclaw` skill. The agent receives commands like "turn off all the lights", "set the thermostat to 72" or "run the movie scene". The MCP server exposes ten tools. `homekit_accessories` searches and switches devices, `homekit_rooms` and `homekit_scenes` work with rooms and scenes, `homekit_device_map` returns a device map with types and aliases for the model. `homekit_manage` renames devices and rooms, `homekit_automations` creates automations on buttons, sensors and time, `homekit_events` reads recent events, `homekit_webhook` and `homekit_config` set up a webhook and the default home. Streamable HTTP MCP on `127.0.0.1:9090` can also be enabled in the app settings.
Who it is for. Smart home owners on HomeKit and a Mac who want to control lights, locks and scenes through a chat with an agent.
Good fit when
- You want one phrase to turn off lights by room or device category without opening the Home app
- A house has dozens of devices with awkward names and the agent should tidy up: rename, sort into rooms and zones
- You need automations on buttons and sensors that the Home app makes awkward to create
- The home state has to be reviewed: which lamps are on, the temperature, what triggered in the last hours
- Scenes and command batches are scripted from a terminal through `homeclaw-cli`
Not a fit when
- A home on Home Assistant: the plugin has no integration with it, a different MCP server is needed
- No Mac: the app runs only on macOS and HomeKit is unavailable without it
- Locks and alarms without a separate confirmation: the agent may run a command from a misread phrase
Example request
Turn off all the lights in the kitchen, set the thermostat to 72 and run the "Good Night" sceneLimitations
- The HomeClaw app must be running and have HomeKit access. Without it the MCP server and CLI will not connect.
- Building from source needs macOS 26, Xcode 26 and an Apple Developer account with the HomeKit capability because Apple restricts that entitlement. The Mac App Store version is simpler.
- Streamable HTTP MCP is off by default and listens on the loopback address only.
- The tools can change real devices: locks, thermostats, automations.
How to disable. Run `/plugin uninstall homeclaw@homeclaw`. The HomeClaw app is removed like any macOS app, and HomeKit access can be revoked in system settings.
FAQ
How do I install HomeClaw in Claude Code?
Install the app from the Mac App Store and grant HomeKit access. Then run `/plugin marketplace add https://github.com/omarshahine/HomeClaw` and `/plugin install homeclaw@homeclaw`.
Why does a running Mac matter?
Apple gives HomeKit only to apps with a special entitlement, so HomeClaw runs as a menu bar app. The MCP server and CLI reach it through a local socket.
How do I connect HomeClaw to Claude Desktop?
Open Integrations in the app settings and install the server in one click, or add a config command `node` with the file `/Applications/HomeClaw.app/Contents/Resources/mcp-server.js`.
What does Streamable HTTP MCP give?
Connections for clients without stdio, such as Hermes, at `http://127.0.0.1:9090/mcp`. The mode is off by default and closed to the network.
Can I control the home without an agent?
Yes. The `homeclaw-cli` tool accepts `list`, `set`, `trigger`, `scenes`, `automations` and more, and output is readable with `--json`.
Discussion
No questions or reviews yet.
Related
PluginsA Node.js MCP server through which an agent controls Home Assistant devices and edits its automations
SwitchBot smart-home CLI for devices and scenes, with a built-in MCP server for Claude Code, Codex and Gemini CLI.
An MCP server for Home Assistant: the agent reads smart-home state and controls devices through your instance
A Swift MCP server that lets an agent drive any macOS app: click, type and read the interface tree
MCP server for Home Assistant: an agent reads device states, controls them and edits smart home dashboards
An MCP server for macOS: the agent moves the mouse, types, manages windows and captures the screen when an app has no API
README in short
The file shows three ways to control a home: a console, an MCP server and plugins. It then covers the Mac Catalyst app design, the link diagram, install from the Mac App Store, TestFlight or source and a table of MCP tools. Separate sections cover Claude Code, OpenClaw, the CLI and the signing policy Apple requires.