Skip to content

Home Assistant MCP Server. Enable Cursor, VS Code, Claude Code or any MCP-enabled IDE to vibe-code and manage Home Assistant: create automations, design dashboards, tweak themes, modify configs and deploy changes to your HA instance using natural language ๐Ÿ ๐Ÿค–

License

Notifications You must be signed in to change notification settings

Coolver/home-assistant-mcp

Repository files navigation

Home Assistant Vibecode MCP

NPM Version License: MIT

โš™๏ธ This MCP server works together with the
Home Assistant Vibecode Agent,
installed as a Home Assistant add-on.
The agent runs on your Home Assistant instance and provides โ€œeyes and handsโ€ for AI IDEs like Cursor, VS Code, Claude Code, or any other MCP-enabled IDE.

Let AI build your Home Assistant automations โ€“ or act as your DevOps for the ones you write by hand. Just describe what you need in natural language. ๐Ÿ ๐Ÿค–

You describe your goal โ†’ AI inspects your Home Assistant โ†’ designs a custom solution โ†’ and deploys it on-board automatically. ๐Ÿš€

And if you prefer to handcraft your automations and scripts yourself, the agent can simply act as your DevOps and extra pair of hands: quickly uploading your changes, running tests, and analyzing logs on demand. You stay in control and decide how much you delegate to AI and how deep it should go.

Transform the way you manage your smart home. This add-on enables Cursor, Visual Studio Code (VS Code), or any MCP-enabled IDE to:

  • ๐Ÿ“ Analyze your Home Assistant configuration, entities, and devices
  • ๐Ÿ—๏ธ Create intelligent automations, scripts, and complete systems โ€” including Home Assistant helpers that can be fully managed programmatically
  • ๐ŸŽจ Design and customize Lovelace dashboards with full control over cards, layouts, and styling
  • ๐Ÿ–Œ๏ธ Create and tweak themes for a personalized UI
  • ๐Ÿ”„ Safely deploy changes with automatic Git-based versioning
  • ๐Ÿ” Monitor and troubleshoot your setup through log analysis
  • ๐Ÿ“ฆ Install and manage HACS integrations and custom repositories

No more manual YAML editing or searching through documentation - just describe what you want in natural language!

Example: "Install smart climate control for my radiators" โ†’ AI creates 10+ automations, helpers, sensors, and scripts optimized for YOUR TRVs.

Built on Model Context Protocol and powered by HA Vibecode Agent.

โœจ Key Features

๐Ÿ” Analyze your setup

โœ… Read your full configuration โ€” entities, automations, scripts, helpers
โœ… Understand your devices โ€” capabilities, relations, and usage patterns
โœ… Learn existing logic โ€” analyze how your current automations and scripts behave


๐Ÿ—๏ธ Build intelligence

โœ… Create complete systems โ€” multiple interconnected automations in seconds
โœ… Generate helpers and sensors โ€” tailored to your actual setup and needs
โœ… Write optimized scripts โ€” based on real entities, areas, and devices
โœ… Refactor existing logic โ€” improve or merge automations instead of starting from scratch


๐Ÿ“Š Dashboards & UI

โœ… Create and update Lovelace dashboards โ€” fully programmatically
โœ… Add, remove, or rearrange cards โ€” stat, graphs, history, custom cards, and more
โœ… Control layouts and views โ€” organize rooms, areas, and scenarios
โœ… Design and tweak themes โ€” colors, typography, and styles for a personalized UI


๐Ÿ”’ Safe operations

โœ… Git-based versioning โ€” every change is tracked with meaningful commit messages
โœ… Human-readable commits โ€” AI explains what changed and why
โœ… Configuration validation โ€” test before apply to reduce breaking changes
โœ… One-click rollback โ€” revert to a previous state if something goes wrong
โœ… Activity log โ€” full audit trail of what the agent did and when


๐Ÿ“ฆ Extend with the community

โœ… Install and configure HACS โ€” unlock 1000+ community integrations
โœ… Search repositories โ€” themes, plugins, custom components, dashboards
โœ… Install integrations โ€” one-command setup for new HACS components
โœ… Keep things fresh โ€” update all HACS repositories from a single place


Result:
You describe your goal โ†’ AI inspects your Home Assistant โ†’ designs a custom solution โ†’ and deploys it on-board automatically. ๐Ÿš€


๐Ÿš€ How is this different from other MCP modules for Home Assistant?

Most MCP integrations Iโ€™ve seen for Cursor, VS Code or Claude work only on your local machine and talk to Home Assistant over SSH and sometimes the REST API.

For serious Home Assistant work, thatโ€™s not really enough:

Home Assistant is not just a bunch of YAML files. It exposes multiple internal APIs, and some of the most important ones are only available from inside HA itself over the WebSocket API.

When you access HA only via SSH, the AI usually has to generate and upload a helper script on every request, then execute it blindly on the host. Since that script can be different every time, each request is a bit of a black box โ€” more like playing Russian roulette than doing reliable automation.

Because of that, I chose a different architecture.

This project is split into two modules:

Home Assistant Agent (this module) โ€“ runs inside Home Assistant (as an add-on), has native access to all relevant APIs, files and services, and exposes a safe, well-defined interface for external tools.

Home Assistant MCP server โ€“ runs on your computer alongside your AI IDE (Cursor, VS Code, etc.) and talks to the Agent over a controlled API instead of SSH hacks (installation steps below)

This design makes working with Home Assistant faster, more predictable, safer and repeatable. Your AI IDE gets exactly the actions and data it needs โ€” through a stable API โ€” instead of constantly inventing ad-hoc scripts and hoping they behave correctly.


๐Ÿ“‹ Prerequisites

Before installing, you need:

  1. Home Assistant running (any version)
  2. HA Vibecode Agent v2.2.0+ installed as add-on
  3. Agent Key from HA Vibecode Agent (auto-generated on first start)
  4. AI-enabled editor installed (Cursor, VS Code + GitHub Copilot, Claude Code etc)

๐Ÿš€ Quick Start (5 minutes)

Step 0: Install Node.js (if not already installed)

The MCP server requires Node.js to run on your computer (where your AI editor is installed):

  1. Check if Node.js is already installed: open terminal and run node --version
  2. If not installed or version is below v18.0.0, download and install from nodejs.org
  3. After installation, verify: node --version should show v18.0.0 or higher
  4. Important: Install Node.js on the computer where your AI editor runs, not on the Home Assistant server

Step 1: Install HA Vibecode Agent

Install the agent in your Home Assistant from :

  1. Go to Settings โ†’ Add-ons โ†’ Add-on Store
  2. Click โ‹ฎ โ†’ Repositories
  3. Add: https://github.com/Coolver/home-assistant-vibecode-agent
  4. Install HA Vibecode Agent (v2.0.0+)
  5. Start the agent

Step 2: Setup MCP in Your AI Editor

Get configuration from Home Assistant:

  1. Open your Home Assistant (usually http://homeassistant.local:8123)
  2. Go to Settings โ†’ Add-ons โ†’ HA Vibecode Agent
  3. Click "Open Web UI" button
  4. Click the Cursor or VS Code tab (depending on which IDE you want to use with Home Assistant) and follow the setup instructions. Youโ€™ll need to install and configure Cursor or VS Code so they can connect to the HA Agent via the MCP protocol.
  5. Thatโ€™s it โ€” youโ€™re ready to start working with your Home Assistant scripts, automations and dashboards using AI. If you find this project useful and want to support its development, please consider giving it a GitHub Star โญ

Step 3: Test Connection

Verify everything works:

Open your AI editor (Cursor, VS Code, etc) and send this message to AI:

Connect to my Home Assistant and show me:
1. List of all my climate entities
2. Current status of the HA Vibecode Agent

This will verify the MCP connection is working.

If AI successfully returns your entities and agent status, you're all set! โœ…

Troubleshooting: If connection fails:

  • Check that HA Vibecode Agent is running
  • Ensure your AI editor was fully restarted
  • Verify configuration was pasted correctly

Step 4: Start Building!

Just describe what you want in natural language - AI will handle the rest!


๐Ÿ”ง Configuration

Environment Variables

Variable Description Required Default
HA_AGENT_URL URL of HA Vibecode Agent Yes http://homeassistant.local:8099
HA_AGENT_KEY Agent Key for authentication Yes -

Custom Agent URL

If your agent runs on a different URL:

{
  "mcpServers": {
    "home-assistant": {
      "command": "npx",
      "args": ["-y", "@coolver/home-assistant-mcp@latest"],
      "env": {
        "HA_AGENT_URL": "http://<home-assistant-host>:8099",
        "HA_AGENT_KEY": "your_api_key_here"
      }
    }
  }
}

๐Ÿ› Troubleshooting

"Invalid Agent Key" error

  1. Check your Agent Key is correct in mcp.json (under HA_AGENT_KEY)
  2. Regenerate key if needed: Settings โ†’ Add-ons โ†’ HA Vibecode Agent โ†’ Open Web UI
  3. Make sure HA Vibecode Agent is running
  4. Verify agent is accessible: curl http://homeassistant.local:8099/api/health

"Connection refused"

  1. Check HA Vibecode Agent is started in Home Assistant
  2. Verify the URL in HA_AGENT_URL
  3. Make sure port 8099 is not blocked by firewall

"spawn npx ENOENT" error

This error means Node.js is not installed or not found in your system PATH.

Solution: Install Node.js (v18.0.0 or higher) on the computer where Cursor is running:

  1. Download and install Node.js from https://nodejs.org
  2. Restart Cursor completely after installation
  3. Verify installation by running node --version in a terminal

Important: Node.js must be installed on your computer (where Cursor, VS Code, Claude or other IDE runs), not on the Home Assistant server.


๐Ÿ” Security

  • โœ… All communication goes through HA Vibecode Agent (port 8099)
  • โœ… Agent Key authentication for MCP clients
  • โœ… Agent validates Agent Key for all requests
  • โœ… Agent uses internal SUPERVISOR_TOKEN for Home Assistant API operations
  • โœ… Your Agent Key is stored only in local IDE config file
  • โš ๏ธ Never commit mcp.json with your Agent Key to git!

๐Ÿค Related Projects


๐Ÿ“ License

MIT ยฉ Vladimir Eremeev


๐Ÿ”ง Development

Project Structure

home-assistant-mcp/
โ”œโ”€โ”€ package.json            # NPM package config
โ”œโ”€โ”€ tsconfig.json           # TypeScript config
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ index.ts           # MCP server entry point
โ”‚   โ”œโ”€โ”€ ha-client.ts       # HA Agent API client
โ”‚   โ”œโ”€โ”€ handlers.ts        # Tool request handlers
โ”‚   โ”œโ”€โ”€ tools.ts           # Legacy tool definitions
โ”‚   โ””โ”€โ”€ tools/             # Modular tool definitions
โ”‚       โ”œโ”€โ”€ index.ts       # Tool exports
โ”‚       โ”œโ”€โ”€ files.ts       # File operation tools
โ”‚       โ”œโ”€โ”€ system.ts      # System operation tools
โ”‚       โ””โ”€โ”€ dashboard.ts   # Dashboard tools
โ”œโ”€โ”€ build/                 # Compiled JavaScript output
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ CHANGELOG.md
โ””โ”€โ”€ QUICK_START.md

Architecture

MCP Server (index.ts) โ† Communication Protocol
โ†“
Tool Handlers (handlers.ts) โ† Business Logic
โ†“
HA Client (ha-client.ts) โ† HTTP API Wrapper
โ†“
HA Vibecode Agent (https://github.com/Coolver/home-assistant-vibecode-agent) (REST API) โ† Home Assistant Integration


๐Ÿ™ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ’ฌ Support


โญ Show your support

Give a โญ๏ธ if this project helped you control your smart home with AI!

About

Home Assistant MCP Server. Enable Cursor, VS Code, Claude Code or any MCP-enabled IDE to vibe-code and manage Home Assistant: create automations, design dashboards, tweak themes, modify configs and deploy changes to your HA instance using natural language ๐Ÿ ๐Ÿค–

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published