mcp-ha-connect MCP Server

A production-ready Model Context Protocol (MCP) server for Home Assistant integration with AI assistants like Claude and LM Studio.

Local serverstdioMIT

What is the mcp-ha-connect MCP Server?

mcp-ha-connect is an MCP project maintained in the coffeerunhobby/mcp-ha-connect repository. The maintainer describes its purpose as “A production-ready Model Context Protocol (MCP) server for Home Assistant integration with AI assistants like Claude and LM Studio”. Read the project documentation for the complete scope.

Installation

The documented npm package is @coffeerunhobby/mcp-ha-connect. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Configuration values

The example declares HA_URL, HA_TOKEN, AI_PROVIDER, AI_URL, AI_MODEL. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
getStatesGet all entity states (paginated, 50/page default). Use includeAttributes=true for full data
getStateGet the state of a specific entity by entity_id
getEntitiesByDomainGet entities for a domain (paginated, 50/page default). Use includeAttributes=true for full data
searchEntitiesSearch entities by name/entity_id (paginated, 50/page default). Use includeAttributes=true for full data
getAllSensorsGet all sensors (paginated, 50/page default). Use includeAttributes=true for full data
listEntitiesList entities with filtering (domain, state, search, limit). Use includeAttributes=true for full data
getDomainSummaryGet summary statistics for a domain
getHistoryGet historical data for an entity
listPersonsList all household members with location state (home/away)
callServiceCall any Home Assistant service
entityActionSimple turn_on/turn_off/toggle actions
controlLightControl lights with brightness, color, temperature
controlClimateControl thermostats with temperature, HVAC mode
controlMediaPlayerControl media players with playback, volume
controlCoverControl covers/blinds with position, tilt
controlFanControl fans with speed, oscillation, direction
activateSceneActivate a Home Assistant scene
runScriptRun a Home Assistant script
sendNotificationSend notifications with full mobile app support (actions, priority, images)
listNotificationTargetsDiscover available mobile app notification targets
askOwnerSend the question (plain text, max 256 characters; 1-3 buttons, default Approve / Deny; open up to 7 days) and return a requestId at once
getOwnerAnswerWait up to 50 s per call: answered (button index and label, time, HA user), pending, timeout, cancelled or unknown
cancelOwnerQuestionWithdraw an open question; the notification changes to "Cancelled"
listAutomationsList all automations with status
triggerAutomationManually trigger an automation
enableAutomationEnable a disabled automation
disableAutomationDisable an automation
toggleAutomationToggle automation state
reloadAutomationsReload automations from config
createAutomationCreate a new automation
deleteAutomationDelete an automation
getAutomationTraceRecent runs of an automation, newest first: trigger, result, errors (automations with an id only)
getVersionGet Home Assistant version and config info
restartHomeAssistantRestart the Home Assistant server
getSystemLogGet system log entries from logbook
checkUpdatesCheck for available updates
listCalendarsList all calendar entities
getCalendarEventsGet events from one or all calendars
omada_listSitesList all sites configured on the Omada controller
omada_listDevicesList all network devices (APs, switches, gateways) in a site
omada_getDeviceGet detailed information about a specific network device
omada_searchDevicesSearch for devices globally across all sites
omada_getSwitchStackDetailGet detailed information about a switch stack
omada_listDevicesStatsGet statistics for global adopted devices with filtering
omada_listClientsList all connected clients (devices/users) in a site
omada_getClientGet detailed information about a specific connected client
omada_listMostActiveClientsGet the most active clients sorted by total traffic
omada_listClientsActivityGet client activity statistics over time
omada_listClientsPastConnectionsGet historical client connection data
omada_getRateLimitProfilesGet available rate limit profiles for a site
omada_setClientRateLimitSet custom bandwidth limits for a client (download/upload in Kbps)
omada_setClientRateLimitProfileApply a rate limit profile to a client
omada_disableClientRateLimitRemove bandwidth limits from a client
omada_blockClientBlock a client from the network
omada_unblockClientUnblock a previously blocked client (explains when Omada's API can no longer reach an offline client)
omada_listBlockedClientsList blocked clients, offline ones included
omada_deleteClientDelete a client's record (name, history, block) to clear a block unblock can't reach (needs CONFIGURE)
omada_cyclePoePortPower-cycle PoE switch ports (remote-reboots APs/cameras)
omada_setSsidEnabledTurn an SSID (e.g. guest WiFi) on or off by name
omada_diagnoseClientExplain why a device (by MAC) can't get on: block state, MAC groups and the SSID allow/deny lists using them, site MAC filter, IP-MAC binding, DHCP…
omada_listMacGroupsList MAC groups with their entries and which SSIDs use them as allow or deny lists (graph mode: omada_read /profiles/mac-groups)
omada_setMacGroupEntryAdd a MAC to a MAC group, or rename its entry (needs CONFIGURE)
omada_removeMacGroupEntryRemove a MAC from a MAC group (needs CONFIGURE)
omada_getThreatListGet security threat management list
omada_getInternetInfoGet internet connection configuration for a site
omada_getPortForwardingStatusGet port forwarding rules (User or UPnP)
omada_getLanNetworkListGet LAN network configuration list
omada_getLanProfileListGet LAN profile configuration list
omada_getWlanGroupListGet WLAN group configuration list
omada_getSsidListGet SSID list for a WLAN group
omada_getSsidDetailGet detailed SSID configuration
omada_getFirewallSettingGet firewall configuration for a site
omada_getSiteNtpStatusGet the site's NTP server configuration and status
omada_setSiteNtpServersReplace the site's NTP server list (needs CONFIGURE; dryRun previews the change)
analyzeSensorsAnalyze sensor data using AI (Ollama) to detect issues and provide recommendations

How to install the mcp-ha-connect MCP Server

{
  "mcpServers": {
    "homeassistant": {
      "command": "npx",
      "args": [
        "-y",
        "@coffeerunhobby/mcp-ha-connect"
      ],
      "env": {
        "HA_URL": "http://homeassistant.10.0.0.19.nip.io:8123",
        "HA_TOKEN": "YOUR_HA_TOKEN",
        "AI_PROVIDER": "ollama",
        "AI_URL": "http://ollama.10.0.0.17.nip.io:11434",
        "AI_MODEL": "llama2"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
HA_URLDeclared in the maintainer’s client configuration.Check documentation
HA_TOKENDeclared in the maintainer’s client configuration.Check documentation
AI_PROVIDERDeclared in the maintainer’s client configuration.Check documentation
AI_URLDeclared in the maintainer’s client configuration.Check documentation
AI_MODELDeclared in the maintainer’s client configuration.Check documentation