mcpField
M
mcp-homeassistant

mcp-homeassistant

Local
github.com/daedalusOther0Updated 27w ago

About mcp-homeassistant

mcp-homeassistant exposes Home Assistant REST API operations through an MCP server. It provides tools and resources for inspecting configuration and state, calling services, and accessing history and calendars.

Key features

  1. 01Inspect API status and configuration
  2. 02Read and modify entity states
  3. 03List services, events, and components
  4. 04Call services and fire events
  5. 05Render templates and validate configuration
  6. 06Access history, logs, and calendars

Use cases

  1. 01Check entity states and available services
  2. 02Call a Home Assistant service
  3. 03Review historical changes or calendar events

MCP support

The MCP server exposes Home Assistant REST API operations as tools and provides resources for configuration, states, services, and components.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"daedalus-mcp-homeassistant": {
"command": "uvx",
"args": [
"mcp-homeassistant"
]
}
}
}
Run commanduvx mcp-homeassistant

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-homeassistant0.1.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp-homeassistant

MCP server exposing Home Assistant 2026.4.1 REST API functionality.

PyPI Python Ruff

mcp-name: io.github.daedalus/mcp-homeassistant

Install

pip install mcp-homeassistant

Configuration

Set the following environment variables:

  • HA_URL: Home Assistant URL (default: http://localhost:8123)
  • HA_TOKEN: Long-Lived Access Token (required)

Usage

export HA_URL="http://homeassistant:8123"
export HA_TOKEN="your_long_lived_access_token"
mcp-homeassistant

Tools

The MCP server exposes the following tools:

  • get_api_status - Check if the API is running
  • get_config - Get HA configuration
  • get_components - List loaded components
  • get_events - List event types and listener counts
  • get_services - List available services by domain
  • get_states - Get all entity states
  • get_state - Get a specific entity state
  • set_state - Update or create an entity state
  • delete_state - Delete an entity state
  • fire_event - Fire a custom event
  • call_service - Call a Home Assistant service
  • render_template - Render a Jinja template
  • get_history - Get historical state changes
  • get_logbook - Get logbook entries
  • check_config - Validate configuration.yaml
  • handle_intent - Handle an intent
  • get_error_log - Get error log
  • get_calendars - List calendar entities
  • get_calendar_events - Get calendar events

Resources

  • homeassistant://config - Current config
  • homeassistant://states - All entity states
  • homeassistant://services - Available services
  • homeassistant://components - Loaded components

Development

git clone https://github.com/daedalus/mcp-homeassistant.git
cd mcp-homeassistant
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.