Provides tools for interacting with smart home devices through Home Assistant, enabling verification of API status, retrieving entity states, and calling services to control devices like lights.
Home Assistant MCP
This is an MCP (Model Context Protocol) server that provides tools for integration with Home Assistant, allowing AI assistants to interact with smart home devices.
Setup
Installing via Smithery
To install Home Assistant Integration for Claude Desktop automatically via Smithery:
Manual Installation
Install dependencies:
Configure environment variables:
Obtain a Long-Lived Access Token from your Home Assistant
Configure the environment variables in a
.envfile at the project root:
Related MCP server: SwitchBot MCP Server
Starting the server
For development:
Available Tools
Home Assistant API Verification
homeassistant_api: Verifies if the Home Assistant API is online
Parameters: none
Example:
homeassistant_api()
Get Entity State
homeassistant_get_state: Gets the current state of a Home Assistant entity
Parameters:
entity_id(entity ID)Example:
homeassistant_get_state("light.living_room")
Call Services
homeassistant_call_service: Calls a service for a Home Assistant entity
Parameters:
entity_id(entity ID)domain(service domain)service(service to call)
Example:
homeassistant_call_service("light.living_room", "light", "turn_on")
Development
This project uses TypeScript and the MCP SDK library to create tools that can be accessed by language models such as Claude, GPT, etc.
To add new tools:
Create a module in
src/tools/[category]Implement your tools following the existing pattern
Register the module in
src/index.ts
Contributions
Contributions are welcome! Feel free to open issues or submit pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.