Home Assistant MCP Server for Windsurf 15 tools — connect in under 2 minutes
Windsurf brings agentic AI coding to a purpose-built IDE. Connect Home Assistant through the Vinkius and Cascade will auto-discover every tool — ask questions, generate code, and act on live data without leaving your editor.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
Vinkius Desktop App
The modern way to manage MCP Servers — no config files, no terminal commands. Install Home Assistant and 2,500+ MCP Servers from a single visual interface.




{
"mcpServers": {
"home-assistant": {
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
}
}
}
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Home Assistant MCP Server
Connect to your Home Assistant instance (local or Nabu Casa cloud) and control your entire smart home from any AI agent. Manage lights, climate, media players, covers, switches, and trigger automations via the Home Assistant REST API.
Windsurf's Cascade agent chains multiple Home Assistant tool calls autonomously — query data, analyze results, and generate code in a single agentic session. Paste the Vinkius Edge URL, reload, and all 15 tools are immediately available. Real-time tool feedback appears inline, so you see API responses directly in your editor.
What you can do
- Entity Discovery — List all entities and their current states across all integrations
- Device Control — Turn lights on/off, adjust brightness, set thermostat temperatures, open/close covers
- Service Calls — Call any Home Assistant service (light, switch, climate, cover, media_player, automation, script)
- State Monitoring — Get real-time state of any entity including sensors, binary sensors, and device trackers
- History & Logbook — Query historical state changes and logbook entries for analysis
- Calendar Management — List and query calendar events from Home Assistant calendars
- Event Automation — Fire custom events to trigger Home Assistant automations
- Template Rendering — Render Jinja2 templates for advanced state access
- Configuration — View system configuration, loaded components, and validate configuration
- Local or Cloud — Works with local instances (http://IP:8123) or Nabu Casa cloud (https://INSTANCE.ui.nabu.casa)
The Home Assistant MCP Server exposes 15 tools through the Vinkius. Connect it to Windsurf in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Home Assistant to Windsurf via MCP
Follow these steps to integrate the Home Assistant MCP Server with Windsurf.
Open MCP Settings
Go to Settings → MCP Configuration or press Cmd+Shift+P and search "MCP"
Add the server
Paste the JSON configuration above into mcp_config.json
Save and reload
Windsurf will detect the new server automatically
Start using Home Assistant
Open Cascade and ask: "Using Home Assistant, help me..." — 15 tools available
Why Use Windsurf with the Home Assistant MCP Server
Windsurf provides unique advantages when paired with Home Assistant through the Model Context Protocol.
Windsurf's Cascade agent autonomously chains multiple tool calls in sequence, solving complex multi-step tasks without manual intervention
Purpose-built for agentic workflows — Cascade understands context across your entire codebase and integrates MCP tools natively
JSON-based configuration means zero code changes: paste a URL, reload, and all 15 tools are immediately available
Real-time tool feedback is displayed inline, so you see API responses directly in your editor without switching contexts
Home Assistant + Windsurf Use Cases
Practical scenarios where Windsurf combined with the Home Assistant MCP Server delivers measurable value.
Automated code generation: ask Cascade to fetch data from Home Assistant and generate models, types, or handlers based on real API responses
Live debugging: query Home Assistant tools mid-session to inspect production data while debugging without leaving the editor
Documentation generation: pull schema information from Home Assistant and have Cascade generate comprehensive API docs automatically
Rapid prototyping: combine Home Assistant data with Cascade's code generation to scaffold entire features in minutes
Home Assistant MCP Tools for Windsurf (15)
These 15 tools become available when you connect Home Assistant to Windsurf via MCP:
call_ha_service
This is the primary way to control devices in Home Assistant. COMMON SERVICE CALLS: - light.turn_on: entity_id, brightness (0-255), color_temp, rgb_color - light.turn_off: entity_id - switch.turn_on: entity_id - switch.turn_off: entity_id - climate.set_temperature: entity_id, temperature - climate.set_hvac_mode: entity_id, hvac_mode (heat, cool, auto, off) - cover.open_cover: entity_id - cover.close_cover: entity_id - media_player.turn_on: entity_id - media_player.turn_off: entity_id - media_player.media_play: entity_id - automation.trigger: entity_id - script.turn_on: entity_id DOMAINS: light, switch, climate, cover, fan, lock, media_player, automation, script, scene, input_boolean, input_number, notify PARAMETERS: - domain (REQUIRED): Domain name (e.g. light, switch, climate) - service (REQUIRED): Service name (e.g. turn_on, turn_off, set_temperature) - service_data (OPTIONAL): JSON object with service parameters including entity_id EXAMPLES: - "Turn on living room light" → domain="light", service="turn_on", service_data={"entity_id":"light.living_room"} - "Set bedroom temperature to 20" → domain="climate", service="set_temperature", service_data={"entity_id":"climate.bedroom","temperature":20} Call a Home Assistant service on a domain
check_ha_configuration
Check Home Assistant configuration validity
fire_ha_event
The event type must match automation triggers configured in Home Assistant. Fire a custom event in Home Assistant
get_api_status
Use this as a connectivity test before making other API calls. Check if the Home Assistant API is running
get_calendar_events
Get events from a Home Assistant calendar
get_entity_history
Useful for analyzing trends and past behavior. Get historical state data for an entity
get_entity_state
Use entity IDs from list_entity_states (e.g., light.living_room, climate.bedroom, sensor.temperature). Get the current state of a specific entity
get_ha_config
Get the Home Assistant configuration details
get_logbook_entries
Can be filtered by entity and time range. Get Home Assistant logbook entries
list_available_services
g., light: turn_on, turn_off, toggle; climate: set_temperature, set_hvac_mode). Essential for discovering what actions can be performed. List all available services across all domains
list_entity_states
Each entity includes entity_id, state, last_changed timestamp, and attributes. Essential for discovering available devices. List all entity states in Home Assistant
list_ha_calendars
List all calendars configured in Home Assistant
list_ha_components
List all loaded components/integrations in Home Assistant
list_ha_events
Useful for understanding what events Home Assistant is tracking. List all event types currently registered in Home Assistant
render_ha_template
Useful for accessing HA template functions and state from the API. Render a Jinja2 template in Home Assistant
Example Prompts for Home Assistant in Windsurf
Ready-to-use prompts you can give your Windsurf agent to start working with Home Assistant immediately.
"List all my smart home entities and show me the lights."
"Turn on the living room light and set it to 50% brightness."
"What is the current temperature in the bedroom and what mode is the thermostat?"
Troubleshooting Home Assistant MCP Server with Windsurf
Common issues when connecting Home Assistant to Windsurf through the Vinkius, and how to resolve them.
Server not connecting
Home Assistant + Windsurf FAQ
Common questions about integrating Home Assistant MCP Server with Windsurf.
How does Windsurf discover MCP tools?
mcp_config.json file on startup and connects to each configured server via Streamable HTTP. Tools are listed in the MCP panel and available to Cascade automatically.Can Cascade chain multiple MCP tool calls?
Does Windsurf support multiple MCP servers?
mcp_config.json. Each server's tools appear in the MCP panel and Cascade can use tools from different servers in a single flow.Connect Home Assistant with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Home Assistant to Windsurf
Get your token, paste the configuration, and start using 15 tools in under 2 minutes. No API key management needed.
