Hubitat MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HUBITAT_HOST | Yes | Hub IP/hostname | |
| HUBITAT_APP_ID | Yes | Maker API app ID | |
| HUBITAT_ACCESS_TOKEN | Yes | Maker API token | |
| HUBITAT_DEVICE_STORE | No | polling or cached (eventsocket) | polling |
| HUBITAT_ENABLE_ADMIN | No | Register admin tools | false |
| HUBITAT_POLL_CACHE_TTL_MS | No | Soft TTL for polling store (0 = always fresh) | 0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hubitat_list_devicesA | List devices authorized in Maker API. Returns id, name, label, room, and capabilities summary. Use when: discovering devices or finding an ID before send_command. Do NOT use when: you already know the device ID (use hubitat_get_device). Note: Rule Machine rules cannot be listed — only devices Maker API can see. |
| hubitat_get_deviceA | Get a single device's details and current attributes from Maker API. Use when: you need current state (switch, level, battery, etc.). Do NOT use when: you only need the list of IDs (use hubitat_list_devices). |
| hubitat_get_device_commandsA | List commands available for a device via Maker API. Prefer this over guessing command names. Use when: before hubitat_send_command to confirm the command exists. Do NOT use when: sending a known simple Switch on/off. |
| hubitat_send_commandA | Send a generic Maker API command to a device: /devices/{id}/{command}[/{value}]. Use when: turning devices on/off, setLevel, lock, etc. Do NOT use when: setting color from hex — use hubitat_set_color instead. Validates the command exists via /commands before sending. |
| hubitat_set_colorA | Set a ColorControl device color from a hex string. Builds the URL-encoded JSON map Maker API expects (including Hubitat's hex extension). Nobody constructs this by hand correctly. Use when: setting bulb color from #RRGGBB or RRGGBB. Do NOT use when: only changing level or on/off. |
| hubitat_list_virtual_devicesA | List devices that look like virtual switches/buttons (Rule Machine levers). Rule Machine has no API — flip a virtual switch or set a hub variable to trigger rules. Use when: finding a virtual switch to drive Rule Machine. Do NOT use when: controlling physical devices (use hubitat_list_devices). |
| hubitat_get_hub_variableA | Read a Hubitat hub variable (admin route; firmware-sensitive). Hub variables are one of two Rule Machine levers (with virtual switches). Use when: reading a variable that rules subscribe to. Do NOT use when: controlling a device attribute (use hubitat_get_device). |
| hubitat_set_hub_variableA | Write a Hubitat hub variable (admin route; firmware-sensitive). Triggers Rule Machine subscriptions on that variable. Use when: automating Rule Machine without a virtual switch. Do NOT use when: sending a device command (use hubitat_send_command). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities | Static capability → common commands map. Prefer hubitat_get_device_commands for per-device truth. Rule Machine has no API — use virtual switches or hub variables. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/solaegis/hubitat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server