home-assistant-mcp
Provides tools for interacting with a Home Assistant instance via its REST API, including listing and reading entity states, calling any Home Assistant service, and applying named scene presets.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@home-assistant-mcpturn off all lights in the living room"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
home-assistant-mcp
A Model Context Protocol server for Home Assistant over its REST API, in ~250 lines of TypeScript with one dependency.
Two layers:
Generic tools — read states, call any service. Enough for an agent to operate a home it has never seen.
A scene catalog (optional) — a JSON file of named presets with plain-English descriptions that the agent can list and apply by name. "Make it cinema" becomes
ha_scene {"name":"cinema"}instead of the model guessing 18 bulb entity ids and color temperatures. Presets are justscript.*orscene.*entities you already have.
Tools
Tool | Purpose |
| Confirm the API is reachable and the token is accepted. |
| List entity states; filter by domain / entity_id prefix / limit. |
| Full state + attributes for one entity. |
| Call any service ( |
| All services grouped by domain. |
| (only when |
| (only when |
Related MCP server: Home Assistant MCP Server
Setup
npm install
npm run build # tsc -> dist/server.js
HA_URL=http://homeassistant.local:8123 HA_TOKEN=... node dist/server.jsVariable | Required | Default | Purpose |
| no |
| Home Assistant base URL |
| yes | — | Long-lived access token (Profile → Security) |
| no | — | Path to a scene catalog JSON (see |
MCP client registration (stdio):
{
"mcpServers": {
"home-assistant": {
"command": "node",
"args": ["/path/to/home-assistant-mcp/dist/server.js"],
"env": {
"HA_URL": "http://homeassistant.local:8123",
"HA_TOKEN": "<token>",
"HA_SCENES_FILE": "/path/to/scenes.json"
}
}
}
}Scene catalog pattern
The example catalog is the 13-theme setup this was written for. Each preset is layered in Home Assistant so the same name works from any surface:
scene.home_<name> canonical light state (scenes.yaml)
script.home_<name> thin wrapper -> scene.turn_on, plus any extras (scripts.yaml)
ha_scene <name> MCP -> script.turn_on via RESTAnything else (n8n, a dashboard button, a voice assistant) can call the same script, so the agent and the humans share one vocabulary. Keep the descriptions honest — they are what the model reads to choose.
Notes
HA_TOKENis a secret; pass it via environment, never commit it.Use on a trusted network or via a VPN; this server does not add authentication of its own.
License
MIT — see LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Control your Tesla from your AI assistant - climate, charging, access, and security.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control and monitor Home Assistant smart home devices through natural language interactions. Supports device control, entity state monitoring, history access, and automation generation with both MCP protocol and standalone HTTP REST API modes.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Home Assistant smart home devices through natural language. Control devices, manage automations, query entity states, and retrieve historical data across your home automation system.1MIT
- AlicenseAqualityFmaintenanceEnables controlling and querying Home Assistant devices and services via natural language. Supports state retrieval, listing states, and calling any Home Assistant service.132375MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control Home Assistant via natural language, including device control, automation management, and system monitoring.MIT
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/mattmaas/home-assistant-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server