Model Context Protocol Client
The Model Context Protocol Client integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] gives your AI conversation agent in Home Assistant extra tools from an MCP server of your choice. For example, you can connect the MCP server of a service you already use, such as a project tracker or a note-taking app, and then ask Assist about it. You can also connect to an MCP server that lets Assist remember things between conversations, or search the web in ways Home Assistant canât do on its own.
The Model Context Protocol (MCP) is an open standard that lets AI apps use tools and information from other services. With this integration, Home Assistant is the MCP client. It connects to an MCP server and passes that serverâs tools on to your conversation agent.
Home Assistant has two MCP integrations, and they work in opposite directions:
- Model Context Protocol Client (this page): Your Home Assistant conversation agent uses tools from another service.
- Model Context Protocol: Another AI app, such as Claude or ChatGPT, controls Home Assistant.
If you want to talk to Claude or ChatGPT and have it turn on your lights, you need the Model Context Protocol integration.
Prerequisites
- An AI conversation agent in Home Assistant that can use tools. For example, Anthropic, Google Gemini, Ollama, or OpenAI.
- The URL of an MCP server that Home Assistant can reach over the network.
- If your MCP server only runs locally using stdio, you also need an MCP proxy, such as mcp-proxy, to make it available over the network.
- If your MCP server requires you to sign in, an OAuth client ID and client secret from the service that provides the MCP server.
Configuration
To add the Model Context Protocol Client 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 Client.
-
Follow the instructions on screen to complete the setup.
If an app you installed in Home Assistant provides an MCP server, Home Assistant can discover it automatically. The MCP server then shows up under Discovered in Settings > Devices & services, and you only need to confirm it.
Configuration options
The integration provides the following configuration options:
Signing in to the MCP server
If the MCP server requires you to sign in, Home Assistant detects this after you enter the URL. The first time, it asks you for an OAuth Client ID and Client Secret for the MCP server and stores them as Application Credentials.
If you entered OAuth credentials for an MCP server before, Home Assistant asks how you want to sign in instead:
- Set up new credentials: Enter a new OAuth Client ID and Client Secret for the MCP server.
- Use existing credentials: Reuse OAuth credentials you entered before.
After that, you sign in to the service that provides the MCP server and give Home Assistant access.
Using the MCP tools in a conversation agent
After you add the integration, your conversation agent doesnât use the new tools until you allow it.
- Go to Settings > Devices & services and select the integration of your conversation agent, for example OpenAI.
- Next to the conversation agent, select the cogwheel
. - Under AI tools, select the MCP server. It is listed by its name. You can keep Device control selected as well, so the agent can still control your home.
- Select Submit.
The next time you talk to this conversation agent, it can use the tools from the MCP server.
How it works
Home Assistant acts as a client to the MCP server you specify. It connects to the MCP server and asks for the list of tools it offers. These tools are then made available to Home Assistant conversation agents, in the same way as the tools of Device control. For more details on the protocol, refer to the Model Context Protocol introduction.
Home Assistant connects to MCP servers over the network. It first tries the Streamable HTTP transport. If the MCP server doesnât support it, Home Assistant uses the Server-Sent Events (SSE) transport instead.
Many MCP servers are made to run as a local command-line tool that an AI app starts directly, using the stdio transport. Home Assistant canât start these servers itself. Use an MCP proxy, such as mcp-proxy, to run the server and make it available to Home Assistant over the network.
Supported functionality
Tools
MCP Tools let an LLM perform actions or look up information. The tools of the MCP server become available to the conversation agents that you allow to use them.
Authorization
The Model Context Protocol supports OAuth, so you can give Home Assistant access to MCP servers that require you to sign in. Home Assistant stores the MCP serverâs OAuth client ID and client secret as Application Credentials. For the setup steps, refer to Signing in to the MCP server.
Data updates
Home Assistant checks the MCP server for its list of available tools every 30 minutes.
Known limitations
The Home Assistant Model Context Protocol Client integration currently only supports a subset of MCP features:
- Prompts: Not supported
- Tools: Supported
- Resources: Not supported
- Sampling: Not supported
- Notifications: Not supported
Troubleshooting
The MCP server does not support a required capability
Symptom: âThe MCP server does not support a required capability (Tools)â
When you add the integration, setup stops with this message.
Resolution
Home Assistant only works with MCP servers that provide tools. Check the documentation of the MCP server to make sure it offers tools, and that the URL points to the MCP endpoint of the server.
General MCP troubleshooting
Refer to Model Context Protocol: Debugging for general tips on debugging MCP. If you are developing your own MCP server and it doesnât work with Home Assistant, use the MCP Inspector to verify that your MCP server is working correctly.
Removing the 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.
- Next to the entry you want to remove, select the three dots
menu. Then, select Delete. - Depending on the integration, the entries are listed under one of the following headings:
- Devices
- Hubs
- Services
- Integration entries
- Depending on the integration, the entries are listed under one of the following headings:
- To confirm, select Delete.
- Home Assistant also deletes the devices and entities of the entry.
- If Home Assistant asks you to restart, restart Home Assistant.
- If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.
- If you keep them, Home Assistant uses them automatically when you add the integration again.
- To delete them later, refer to Deleting application credentials.