Smart home, built right.

Home Assistant · Guides & Tutorials

Connect Claude or ChatGPT to Home Assistant with the built-in MCP server

Turn on Home Assistant's built-in MCP server, limit what an AI can control, and connect Claude's free plan. Plus what ChatGPT requires, what MCP can't do yet, and privacy notes.

By the TechnoGecko Team· · Updated · 7 min read

The setup-complete dialog for Home Assistant's built-in Model Context Protocol Server integration in our test setup, confirming the server is active for all LLM APIs.

Home Assistant has a built-in Model Context Protocol (MCP) server, so an AI app like Claude can read the state of your home and control your devices. To set it up, turn on MCP under Settings > System > AI, copy the server URL, and add it to the AI app as a custom connector. Before you do, limit which devices the AI can see. Two catches: Claude and ChatGPT connect from their own cloud, so your Home Assistant has to be reachable from the internet. And of the two, only Claude lets you do this on a free plan (one custom connector). ChatGPT’s full MCP support is limited to its business plans.

What MCP is, in one paragraph

MCP is an open standard for connecting AI apps to tools and data. Home Assistant’s MCP Server integration exposes the same tools its own Assist voice assistant uses: turn things on and off, set values, and read the current state of what you’ve exposed. The AI app decides when to call those tools based on what you ask, like “Is the garage light on?” or “Turn off the porch lights.”

Before you start

You need:

Step 1: Decide what the AI can control

Do this first. A new MCP setup exposes “everything Home Assistant has to offer”, in the words of the 2026.10 release notes, and allows administrator accounts only. Home Assistant’s docs recommend the main MCP server on the AI page (labeled Your MCP API in Home Assistant 2026.10) for full control. For a first try, we suggest narrowing it down instead:

  1. Go to Settings > Devices & services, select Model Context Protocol Server, then Configure.
  2. Turn off Expose all LLM APIs. Control Home Assistant then appears: select Assist. Leave Require an administrator account on (the default). With this setting, Home Assistant’s docs say clients “can only control or provide information about entities that are exposed to them”.
  3. Go to Settings > Voice assistants, open the Expose tab, and expose only what you want the AI to reach. A few lights and sensors is a good start. Home Assistant’s docs say exposure exists so that sensitive devices “such as locks and garage doors” can’t be controlled by accident. Leave those off.

Step 2: Turn on MCP and copy the URL

  1. Go to Settings > System > AI. (Before 2026.10 this page was called AI tasks, per the 2026.10 release notes.)
  2. On the Model Context Protocol card, select Enable.
  3. Next to Your MCP API, select the copy icon to copy its URL. Your MCP API follows the options you set under Configure in Step 1; its gear icon opens those same options. The rows under Individual MCP APIs each expose a single LLM API, such as Assist.
The Model Context Protocol Server setup dialog in Home Assistant's Add integration flow in our test setup, before submitting.
The MCP Server setup dialog in the Add integration flow, before submitting.

The page shows only the end of each URL. The copy icon adds the address you’re using right now, so if you opened Home Assistant at a local address, the copied URL is local. A cloud AI app has to reach the URL from the internet, so use your remote address with the same path (for example /api/mcp). Home Assistant’s docs point to Home Assistant Cloud or another remote access method for that.

Step 3: Connect Claude (free plan)

Anthropic’s help center says custom connectors using remote MCP are available on Free, Pro, Max, Team and Enterprise plans, and “Free users are limited to one custom connector.” Directory connectors don’t count toward that limit.

Following Home Assistant’s docs:

  1. On claude.ai, open the connectors page and select Add > Add custom connector. In Claude Desktop, go to Settings > Connectors and select Add > Add custom connector. (Anthropic’s own help pages currently describe the path as Customize > Connectors. Use whichever your app shows.)
  2. Enter Name: Home Assistant and MCP Server URL: your copied URL.
  3. Select Add. Claude checks the server and shows a dialog.
  4. Set Authentication to Sign in now and OAuth client to Use Claude’s published identity.
  5. Select Add, then Connect on the connector’s page.
  6. Log in to your Home Assistant when it asks.

To use it, turn the connector on for a conversation from the + button in the chat box, under Connectors. Home Assistant’s docs note that Claude asks your permission before calling any Home Assistant tool. If Claude offers to always allow a tool, we’d keep asking each time for anything that switches devices.

What about ChatGPT?

Home Assistant’s docs include ChatGPT steps: add a custom MCP server under Plugins, choose OAuth, then sign in to Home Assistant. There’s a catch, though. OpenAI’s help center says custom MCP server connections with full support, including write actions, are “available for ChatGPT Business and Enterprise/Edu customers on ChatGPT web”. Pro users can connect custom MCP servers with read and fetch permissions only. The free plan isn’t listed. If you’re on one of those plans, follow the ChatGPT example on Home Assistant’s MCP Server page. It’s web only: OpenAI says custom MCP servers can’t be connected on mobile.

Home Assistant’s docs also cover developer tools like Claude Code, Codex and OpenCode. They need their own accounts or setup and aren’t covered here.

What MCP can’t do yet

Privacy: what leaves your house

When the AI calls a Home Assistant tool, the result (entity names, states, the action taken) goes back to the AI provider’s servers as part of your conversation, and the provider’s privacy terms apply. Exposing fewer entities means less of your home goes into those chats. Remote access also means your Home Assistant is reachable from the internet, so use strong passwords and keep it updated.

If you’d rather keep everything local, Home Assistant can also use a local model through Ollama. Our upcoming Ollama guide and AI in Home Assistant hub cover the local options.

Troubleshooting

From Home Assistant’s MCP Server docs:

How pages like this are made: How we work.

Sources

Related

The short list

New guides and explainers when we publish them. No product spam. The form is not connected yet. Use the RSS feed.