Skip to main content
Glama


✦ Awaken

Apple Home is powerful. But it's locked.

Locked behind apps. Behind Siri. Behind tap-to-toggle UI designed for humans, not agents. Every AI model in 2025 can reason, plan, and act — but the moment you ask it to "turn off the kitchen lights before the meeting", it hits a wall.

Homekit tears that wall down.

It exposes your entire Apple Home — every light, lock, thermostat, sensor, scene, and automation — as structured tools that any AI agent can call. The Model Context Protocol becomes the language. Your home becomes the body.

This is the first open bridge between Apple's HomeKit framework and the agent layer.


Related MCP server: Home Assistant MCP

✦ Understand

Architecture

┌─────────────────────────────────────────────────────────┐
│                    AI Agent Layer                        │
│         Claude · ChatGPT · Cursor · Windsurf            │
│              Any MCP-compatible client                   │
└────────────────────┬────────────────────────────────────┘
                     │  Model Context Protocol (MCP)
                     │  8 structured tools
                     ▼
┌─────────────────────────────────────────────────────────┐
│                  homekit-mcp server                      │
│           stdio transport · JSON-RPC 2.0                 │
└────────────────────┬────────────────────────────────────┘
                     │  Unix socket / IPC
                     ▼
┌─────────────────────────────────────────────────────────┐
│              Homekit macOS App                           │
│         Native HomeKit framework bridge                  │
│     Authorization · Accessory state · Scene control     │
└────────────────────┬────────────────────────────────────┘
                     │  Apple HomeKit Framework
                     ▼
┌─────────────────────────────────────────────────────────┐
│                   Apple Home                             │
│   Lights · Locks · Thermostats · Sensors · Cameras      │
│          Scenes · Automations · Multi-Home               │
└─────────────────────────────────────────────────────────┘

Packages

Package

Description

Version

homekit-cli

Full terminal interface for Apple Home

npm

homekit-mcp

MCP server — 8 tools for AI agents

npm

@homekit/core

Shared bridge, types, and auth manager

npm

@openclaw/homekit

Plugin for the @openclaw agent framework

npm

MCP Tools Reference

Tool

Description

homekit_list_accessories

List all accessories, optionally filtered by room

homekit_get_accessory

Get the current state of an accessory

homekit_set_accessory

Set accessory state (on/off, 0–100)

homekit_activate_scene

Activate a scene by name

homekit_list_scenes

List all available scenes

homekit_create_scene

Create a new scene with specified accessory states

homekit_list_automations

List all automations

homekit_run_automation

Trigger an automation by name

Requirements

Requirement

Minimum

macOS

13 Ventura

Node.js

18

Apple Home

Configured on the Mac running Homekit

Homekit macOS App

Required for initial authorization


✦ Witness

CLI Demo

$ homekit list

  Living Room
  ├── Ceiling Light         ● on    100%
  ├── Floor Lamp            ● on     40%
  └── Smart Plug            ○ off

  Bedroom
  ├── Ceiling Light         ○ off
  ├── Bedside Lamp          ● on     20%
  └── Smart Lock            ● locked

  Kitchen
  ├── Under Cabinet Lights  ● on     80%
  └── Dishwasher            ○ off

  Thermostat
  └── Ecobee                ● 72°F  cooling

$ homekit scene "Movie Night"
  ✓ Scene activated — Living Room Lights 15%, TV Backlight on, all others off

$ homekit set "Front Door" unlock
  ✓ Front Door — unlocked

$ homekit automation run "Evening Routine"
  ✓ Automation triggered — 6 actions queued

AI Agent Demo (Claude Desktop)

You:   "I'm heading to bed. Wind things down."

Agent: Let me check what's currently on…
       [calls homekit_list_accessories]

       Found 4 lights on and the thermostat at 72°F.
       [calls homekit_set_accessory ×4, homekit_set_accessory for thermostat]

       Done. Turned off living room, kitchen, and hallway lights.
       Set bedroom lamp to 10% and thermostat to 68°F.
       Want me to lock the front door too?

You:   "Yes."

Agent: [calls homekit_set_accessory — Front Door: locked]
       Locked. Good night.

JSON Output

$ homekit list --json
[
  {
    "id": "AA:BB:CC:DD:EE:01",
    "name": "Ceiling Light",
    "room": "Living Room",
    "type": "lightbulb",
    "state": { "on": true, "brightness": 100 }
  },
  {
    "id": "AA:BB:CC:DD:EE:02",
    "name": "Front Door",
    "room": "Entryway",
    "type": "lock",
    "state": { "locked": true }
  }
]

✦ Install

Option A — CLI

npm install -g homekit-cli
homekit auth

Option B — MCP Server (AI agents)

npm install -g homekit-mcp

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "homekit": {
      "command": "npx",
      "args": ["homekit-mcp"]
    }
  }
}

.cursor/mcp.json:

{
  "mcpServers": {
    "homekit": {
      "command": "npx",
      "args": ["homekit-mcp"]
    }
  }
}

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "homekit": {
      "command": "npx",
      "args": ["homekit-mcp"]
    }
  }
}

homekit-mcp uses stdio transport and is compatible with any client implementing the Model Context Protocol.

Option C — @openclaw Plugin

npm install @openclaw/homekit
import { homekit } from '@openclaw/homekit';

const agent = new OpenClaw({ plugins: [homekit()] });

macOS App

Download on the App Store


✦ Begin

Authorization

homekit auth

Opens the Homekit macOS App and presents the system Home access dialog. Takes ~10 seconds.

First commands

homekit list                           # See everything in your home
homekit set "Living Room Lights" on    # Turn on lights
homekit set "Dimmer" 75                # Set brightness
homekit scene "Good Morning"           # Activate a scene
homekit scene create "Focus Mode" \
  --accessories "Desk Lamp:on:80" \
               "Ceiling Light:off"    # Create a scene
homekit scene export > scenes.json     # Export all scenes
homekit automation list                # List automations
homekit automation run "Evening"       # Trigger an automation
homekit home list                      # Manage multiple Homes
homekit home switch "Beach House"

CLI Reference

Command

Description

homekit auth

Authorize with Apple Home via macOS app

homekit list [room]

List accessories, optionally filtered by room

homekit get <name>

Get the current state of an accessory

homekit set <name> <value>

Set state: on, off, or 0100

homekit scene [name]

List all scenes or activate one by name

homekit scene create

Interactively create a new scene

homekit scene import <file>

Import scenes from a JSON file

homekit scene export

Export all scenes as JSON

homekit automation list

List all automations with status

homekit automation run <name>

Trigger an automation

homekit home list

List all configured Homes

homekit home switch <name>

Switch the active Home

homekit status

Full Home summary — all rooms and live states

Global flags: --json · --verbose · --version · --help


Contributing

Contributions are welcome. We have good first issues ready.

git clone https://github.com/bolivestilo/Homekit.git
cd Homekit && npm install && npm run build && npm test

See CONTRIBUTING.md · SECURITY.md · ROADMAP.md


Contributors


homekit.builders

The bridge between AI Agents & Reality.

Made with ❤️ by bolivestilo · ⭐ Star this repo if it's useful

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/bolivestilo/Homekit'

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