Model Context Protocol
The Model Context Protocol
Controlling Home Assistant is done by providing MCP clients access to the Assist API of Home Assistant. You can control what devices and entities it can access from the exposed entities page.
Prerequisites
- You will need an MCP server
. - If your MCP server only supports the stdio protocol, you will also need an additional
MCP proxy (such as mcp-proxy
) to expose the server over SSE.
Configuration
To add the Model Context Protocol integration to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select Model Context Protocol.
-
Follow the instructions on screen to complete the setup.
Configuration options
The integration provides the following configuration options:
Architecture overview
This integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] can provide additional functionality for LLM conversation agents (for example Anthropic, Google Generative AI, Ollama, Open AI).
Home Assistant acts as a client to the MCP server you specify. Home Assistant will
poll the MCP server SSE endpoint and query the list of available tools. The tools are
made available for use by Home Assistant conversation agents, similar to the Assist API.
See the Model Context Protocol Introduction
The Home Assistant Model Context Protocol integration acts as a client using the
Server-Sent Events (SSE) transport
Once the integration is configured, you also need to configure the conversation agent to use the tools.
Supported functionality
Tools
MCP Tools
Known limitations
The Home Assistant Model Context Protocol integration currently only supports a subset of MCP features:
Feature | Supported by Home Assistant |
---|---|
Prompts | ❌ |
Tools | ✅ |
Resources | ❌ |
Sampling | ❌ |
Notifications | ❌ |
Troubleshooting
See Model Context Protocol: Debugging
Remove integration
This integration can be removed by following these steps:
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three-dot
menu. Then, select Delete.