2,500+ MCP servers ready to use
Vinkius

Home Assistant MCP Server for Mastra AI 15 tools — connect in under 2 minutes

Built by Vinkius GDPR 15 Tools SDK

Mastra AI is a TypeScript-native agent framework built for modern web stacks. Connect Home Assistant through the Vinkius and Mastra agents discover all tools automatically — type-safe, streaming-ready, and deployable anywhere Node.js runs.

Vinkius supports streamable HTTP and SSE.

typescript
import { Agent } from "@mastra/core/agent";
import { createMCPClient } from "@mastra/mcp";
import { openai } from "@ai-sdk/openai";

async function main() {
  // Your Vinkius token — get it at cloud.vinkius.com
  const mcpClient = await createMCPClient({
    servers: {
      "home-assistant": {
        url: "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
      },
    },
  });

  const tools = await mcpClient.getTools();
  const agent = new Agent({
    name: "Home Assistant Agent",
    instructions:
      "You help users interact with Home Assistant " +
      "using 15 tools.",
    model: openai("gpt-4o"),
    tools,
  });

  const result = await agent.generate(
    "What can I do with Home Assistant?"
  );
  console.log(result.text);
}

main();
Home Assistant
Fully ManagedVinkius Servers
60%Token savings
High SecurityEnterprise-grade
IAMAccess control
EU AI ActCompliant
DLPData protection
V8 IsolateSandboxed
Ed25519Audit chain
<40msKill switch
Stream every event to Splunk, Datadog, or your own webhook in real-time

* 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.

Mastra's agent abstraction provides a clean separation between LLM logic and Home Assistant tool infrastructure. Connect 15 tools through the Vinkius and use Mastra's built-in workflow engine to chain tool calls with conditional logic, retries, and parallel execution — deployable to any Node.js host in one command.

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 Mastra AI 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 Mastra AI via MCP

Follow these steps to integrate the Home Assistant MCP Server with Mastra AI.

01

Install dependencies

Run npm install @mastra/core @mastra/mcp @ai-sdk/openai

02

Replace the token

Replace [YOUR_TOKEN_HERE] with your Vinkius token

03

Run the agent

Save to agent.ts and run with npx tsx agent.ts

04

Explore tools

Mastra discovers 15 tools from Home Assistant via MCP

Why Use Mastra AI with the Home Assistant MCP Server

Mastra AI provides unique advantages when paired with Home Assistant through the Model Context Protocol.

01

Mastra's agent abstraction provides a clean separation between LLM logic and tool infrastructure — add Home Assistant without touching business code

02

Built-in workflow engine chains MCP tool calls with conditional logic, retries, and parallel execution for complex automation

03

TypeScript-native: full type inference for every Home Assistant tool response with IDE autocomplete and compile-time checks

04

One-command deployment to any Node.js host — Vercel, Railway, Fly.io, or your own infrastructure

Home Assistant + Mastra AI Use Cases

Practical scenarios where Mastra AI combined with the Home Assistant MCP Server delivers measurable value.

01

Automated workflows: build multi-step agents that query Home Assistant, process results, and trigger downstream actions in a typed pipeline

02

SaaS integrations: embed Home Assistant as a first-class tool in your product's AI features with Mastra's clean agent API

03

Background jobs: schedule Mastra agents to query Home Assistant on a cron and store results in your database automatically

04

Multi-agent systems: create specialist agents that collaborate using Home Assistant tools alongside other MCP servers

Home Assistant MCP Tools for Mastra AI (15)

These 15 tools become available when you connect Home Assistant to Mastra AI via MCP:

01

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

02

check_ha_configuration

Check Home Assistant configuration validity

03

fire_ha_event

The event type must match automation triggers configured in Home Assistant. Fire a custom event in Home Assistant

04

get_api_status

Use this as a connectivity test before making other API calls. Check if the Home Assistant API is running

05

get_calendar_events

Get events from a Home Assistant calendar

06

get_entity_history

Useful for analyzing trends and past behavior. Get historical state data for an entity

07

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

08

get_ha_config

Get the Home Assistant configuration details

09

get_logbook_entries

Can be filtered by entity and time range. Get Home Assistant logbook entries

10

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

11

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

12

list_ha_calendars

List all calendars configured in Home Assistant

13

list_ha_components

List all loaded components/integrations in Home Assistant

14

list_ha_events

Useful for understanding what events Home Assistant is tracking. List all event types currently registered in Home Assistant

15

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 Mastra AI

Ready-to-use prompts you can give your Mastra AI agent to start working with Home Assistant immediately.

01

"List all my smart home entities and show me the lights."

02

"Turn on the living room light and set it to 50% brightness."

03

"What is the current temperature in the bedroom and what mode is the thermostat?"

Troubleshooting Home Assistant MCP Server with Mastra AI

Common issues when connecting Home Assistant to Mastra AI through the Vinkius, and how to resolve them.

01

createMCPClient not exported

Install: npm install @mastra/mcp

Home Assistant + Mastra AI FAQ

Common questions about integrating Home Assistant MCP Server with Mastra AI.

01

How does Mastra AI connect to MCP servers?

Create an MCPClient with the server URL and pass it to your agent. Mastra discovers all tools and makes them available with full TypeScript types.
02

Can Mastra agents use tools from multiple servers?

Yes. Pass multiple MCP clients to the agent constructor. Mastra merges all tool schemas and the agent can call any tool from any server.
03

Does Mastra support workflow orchestration?

Yes. Mastra has a built-in workflow engine that lets you chain MCP tool calls with branching logic, error handling, and parallel execution.

Connect Home Assistant to Mastra AI

Get your token, paste the configuration, and start using 15 tools in under 2 minutes. No API key management needed.