Model Context Protocol

The Model Context Protocol is an open protocol that standardizes how applications provide context to LLMs. The Model Context Protocol integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] enables using MCP Servers in Home Assistant for providing additional tools to use with a conversation agent. For example, you can add an MCP server that supports memory functionality, or that can search the web using functionality not already available in Home Assistant.

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

  1. You will need an MCP server.
  2. 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.

  • Go to Settings > Devices & Services.

  • 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:

SSE Server URL

The URL for the SSE endpoint of the MCP server. For example, http://example/sse.

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 for more details on the protocol.

The Home Assistant Model Context Protocol integration acts as a client using the Server-Sent Events (SSE) transport allowing streaming client-to-server communication. Most MCP clients today only support stdio transport, and directly run an MCP server as a local command line tool. You can use an MCP proxy server like mcp-proxy to enable Home Assistant to access an MCP SSE server.

Once the integration is configured, you also need to configure the conversation agent to use the tools.

Supported functionality

Tools

MCP Tools enable LLMs to perform actions through Home Assistant. The tools used by the configured LLM API are exposed.

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 for general tips on debugging MCP. If you are developing your own MCP server and having trouble making it work with Home Assistant, you can also use the MCP Inspector to verify that your MCP server is working correctly.

Remove integration

This integration can be removed by following these steps:

To remove an integration instance from Home Assistant

  1. Go to Settings > Devices & services and select the integration card.
  2. From the list of devices, select the integration instance you want to remove.
  3. Next to the entry, select the three-dot menu. Then, select Delete.