Searches and controls Home Assistant devices with natural-language commands from Cursor.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add home-assistant-hpohlmann --env HOME_ASSISTANT_TOKEN='<HOME_ASSISTANT_TOKEN>' -- uv --directory /path/to/your/home-assistant-mcp run main.py~/.codex/config.toml
[mcp_servers.home-assistant-hpohlmann]
command = "uv"
args = ["--directory", "/path/to/your/home-assistant-mcp", "run", "main.py"]
env = { HOME_ASSISTANT_TOKEN = "<HOME_ASSISTANT_TOKEN>" }
# codex mcp add home-assistant-hpohlmann --env HOME_ASSISTANT_TOKEN='<HOME_ASSISTANT_TOKEN>' -- uv --directory /path/to/your/home-assistant-mcp run main.py~/.cursor/mcp.json
{
"mcpServers": {
"home-assistant-hpohlmann": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/home-assistant-mcp",
"run",
"main.py"
],
"env": {
"HOME_ASSISTANT_TOKEN": "<HOME_ASSISTANT_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"home-assistant-hpohlmann": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/path/to/your/home-assistant-mcp",
"run",
"main.py"
],
"env": {
"HOME_ASSISTANT_TOKEN": "<HOME_ASSISTANT_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"home-assistant-hpohlmann": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/home-assistant-mcp",
"run",
"main.py"
],
"env": {
"HOME_ASSISTANT_TOKEN": "<HOME_ASSISTANT_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"home-assistant-hpohlmann": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/home-assistant-mcp",
"run",
"main.py"
],
"env": {
"HOME_ASSISTANT_TOKEN": "<HOME_ASSISTANT_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"home-assistant-hpohlmann": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/home-assistant-mcp",
"run",
"main.py"
],
"env": {
"HOME_ASSISTANT_TOKEN": "<HOME_ASSISTANT_TOKEN>"
}
}
}
}Environment variables
HOME_ASSISTANT_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.