Home Assistant + Claude via MCP
AI is here. Regardless of how you feel about it, your daily life is already being impacted by AI in some form. I use it daily for work and for personal projects. It is becoming more natural as part of my workflow. Used properly, it can be a great assistant to make one more productive.
Be sure to watch my video on this topic!
When it comes to Home Assistant, AI can be that great assistant. The Home Assistant team is making great strides in making configuration much easier via the UI. However, there are still opportunities for complexity simply because the number of integrations is massive. Not everything can be neatly packaged into the UI from a configuration point of view. Not only that, but complex automations are still complex. It really comes down to imagination and what one wants to accomplish.
AI can help in many of these cases and that is the focus of this article. Using an MCP server and, in my case Claude Code, I demonstrate some of the advantages of having an AI assistant for Home Assistant.
Installing the ha-mcp app in Home Assistant
Let's start with the MCP server. It is probably helpful to define an MCP server. If you do a quick search, you'll likely see a definition similar to this.
So an an MCP server is a bridge between an LLM and a service such as Home Assistant.
Home Assistant has an MCP server integration that allows you to control entities. That's not quite enough for what I want to do. For that reason, I use ha-mcp, which is a standalone server built for configuring, building, and debugging your smart home, not just controlling it.
I should stop here and just state the obvious.
Now that you have been warned, let's start by installing the MCP server. In Home Assistant, you will navigate to Settings->Apps and then click the "Install App" button in the bottom right of the window. From there, click the 3 dots in the top right and click Repositories.

This will bring up a list of the custom repositories you have installed. Click the blue "Add" button. There you will paste in the ha-mcp repo:
https://github.com/homeassistant-ai/ha-mcp
Once you have that installed, go back to the app store and search for mcp. You will see a list of servers under Home Assistant MCP Server. Choose the "Home Assistant MCP Server" to install, not the dev or webhook versions.

Of course, you can always click the Add APP to Repository button from the ha-mcp github page for an easier install experience.

Once you install and start the app, check the log tab to get your private URL. Keep this handy as you will need it to configure your LLM of choice.

Configuring your LLM
Now you need to choose your LLM. The author of ha-mcp has provided a very nice setup guide for most LLMs. I wasn't aware of this page when I first started so I just ran a command directly in Claude Code to make Claude aware of the MCP server on my Home Assistant instance.
claude mcp add-json home-assistant '{
"url": "http://172.31.10.3:9583/private_your_url",
"type": "http"
}'
To be honest, there are so many LLMs and so many different configuration options it can be quite confusing. ha-mcp has another page for a quick start that differs from how connectivity is done using the private URL. The method I am using works well so I will stick with it for now.
Using ha-mcp
I will only scratch the surface of possibilities as there are so many ways to use ha-mcp and Home Assistant.
Let's get started by making sure Claude can actually see your Home Assistant instance. For this, we will just ask. The answer should be yes with info about your instance.
Can you see my Home Assistant instance?
Yes, I can see your Home Assistant instance! Here's a quick summary:
- **Version:** 2026.6.1
- **Location:** Home (America/Chicago timezone)
- **Status:** Running
- **Entities:** 4,980 across 45 domains
- **Areas:** 16
- **Services:** 515
The new HTTP connection is working great. What would you like to do?
Once you have connected, it's just a matter of doing things. As an example, I did some troubleshooting of my FP300 sensor as it relates to turning on lights in the garage. I started with a simple prompt.
Check my Home Assistant instance and tell me why the garage motion sensor fp300 is no longer working. Check the entities as well to see if that device is offline.
The full response is too long for this blog post, so I'll post a small snippet just to show it is working. What's nice is that is shows the tools it used to actually accomplish the task.

This is the diagnostic response I received.

Here is another query I made asking to compare the sensor against the automation runs that should be triggered by that sensor.

Ok. So I wanted a way to know if that sensor was somehow going offline and that is why it didn't trigger the automation in some cases. So I asked.

Based on that response, I asked Claude to create an automation for me.

...and it did. Expanding the tools used section, you can see the whole automation configuration. Claude even mentioned a trigger warning and gave an explanation why it kept it anyway. Nice touch.

From a maintenance perspective, asking to look over your Home Assistance instance is a helpful task.

The results were surprising and quite long. It's nice that the issues were grouped by severity. We can ignore frigate because I don't run that on HA even though it is installed. I need to remove it since Frigate runs stand-alone on another server. The rest are things I should take a look at.

The next thing I wanted to try is to build a dashboard. I don't know that I would use Claude to do this but I wanted to see what it would produce for a simple prompt.

One thing you will notice while building the dashboard is use of the home-assistant-best-practices skill. This is an important piece in order to allow Claude to follow best practices.

Here is what the dashboard looks like on the first run. If I were to continue to use Claude to build this out, I would need to spend a bit of time tweaking things as this is very basic in its current form. I also see it put a few switches into the incorrect areas, which is something I would handle on subsequent prompts.

HA-MCP Settings
If you open the webui for ha-mcp, you will see quite a few settings broken down into sections.

In the tools section, each of the 86 (as of this writing) tools can be enabled/disabled, pinned, and security gated. This allows fine grained control of what the LLM can do

Server Settings allows you to enable or disable server wide tool search as well as other beta features.

Under Backups, you can set how you want to handle backing up configs before edits. This is useful in case you need to restore back to before the LLM made an edit.

Tool Security Policies allow you to control what happens to tools you set to security gated. This is also where you can approve pending tools. This is another layer of security.

There is so much more you can do with ha-mcp and Home Assistant. Fixing issues, troubleshooting sensors, creating automations. These are all just the tip of the iceberg.