Overview
Home Assistant MCP is an integration server for Home Assistant that utilizes Model Context Protocol (MCP) to enhance smart home control capabilities through domain-specific tools.
To use the Home Assistant MCP server, you need to configure environment variables in a .env file with your Home Assistant token and base URL, then follow the installation guide provided in the documentation.
- Control various domains within Home Assistant like lights, climate, locks, and security systems. - Access to a variety of tools to manage smart home devices. - Easy setup through environment configuration.
- Automating the control of lights and climate settings in a smart home.
- Managing security systems including alarms and locks.
- Implementing advanced home automation through MCP integration.
Add to your AI client
Use these steps to connect 🤝 in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"home-assistant-mcp-miguelg719": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-home-assistant-mcp-miguelg719"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"home-assistant-mcp-miguelg719": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-home-assistant-mcp-miguelg719"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"home-assistant-mcp-miguelg719": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-home-assistant-mcp-miguelg719"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"home-assistant-mcp-miguelg719": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-home-assistant-mcp-miguelg719"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"home-assistant-mcp-miguelg719": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-home-assistant-mcp-miguelg719"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"home-assistant-mcp-miguelg719": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-home-assistant-mcp-miguelg719"
]
}
}
}FAQ
What do I need to start using Home Assistant MCP?
You need to have Home Assistant set up with a long-lived access token and the URL of your instance.
Can I control multiple domains with this server?
Yes! The server supports controlling lights, climate, locks, and alarm systems.
Is there any development involved?
Yes! You can build and publish the MCP server using the provided development guidelines in the documentation.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":460,"uuid":"cb12788e-d7af-4045-befb-f0fb9bc9cf8c","name":"home-assistant-mcp","title":"🤝","description":"An MCP server for Home Assistant","avatar_url":"https://avatars.githubusercontent.com/u/36487034?v=4","created_at":"2024-12-19T02:13:09.034Z","updated_at":"2024-12-19T12:39:30.045Z","status":"created","author_name":"miguelg719","author_avatar_url":"https://avatars.githubusercontent.com/u/36487034?v=4","tags":"home-assistant,mcp-server,smart-home","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/miguelg719/home-assistant-mcp","target":"_self","content":"$29","summary":"$2a","img_url":"https://github.com/miguelg719/home-assistant-mcp/raw/main/img/ha.png","type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]