Skip to main content
Glama
solaegis

Hubitat MCP Server

by solaegis

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HUBITAT_HOSTYesHub IP/hostname
HUBITAT_APP_IDYesMaker API app ID
HUBITAT_ACCESS_TOKENYesMaker API token
HUBITAT_DEVICE_STORENopolling or cached (eventsocket)polling
HUBITAT_ENABLE_ADMINNoRegister admin toolsfalse
HUBITAT_POLL_CACHE_TTL_MSNoSoft TTL for polling store (0 = always fresh)0

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
capabilitiesStatic 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

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