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
- 01Inspect API status and configuration
- 02Read and modify entity states
- 03List services, events, and components
- 04Call services and fire events
- 05Render templates and validate configuration
- 06Access history, logs, and calendars
Use cases
- 01Check entity states and available services
- 02Call a Home Assistant service
- 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.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-homeassistant
MCP server exposing Home Assistant 2026.4.1 REST API functionality.
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 runningget_config- Get HA configurationget_components- List loaded componentsget_events- List event types and listener countsget_services- List available services by domainget_states- Get all entity statesget_state- Get a specific entity stateset_state- Update or create an entity statedelete_state- Delete an entity statefire_event- Fire a custom eventcall_service- Call a Home Assistant servicerender_template- Render a Jinja templateget_history- Get historical state changesget_logbook- Get logbook entriescheck_config- Validate configuration.yamlhandle_intent- Handle an intentget_error_log- Get error logget_calendars- List calendar entitiesget_calendar_events- Get calendar events
Resources
homeassistant://config- Current confighomeassistant://states- All entity stateshomeassistant://services- Available serviceshomeassistant://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
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.