python-homey
A Model Context Protocol (MCP) server for interacting with HomeyPro home automation systems. This server provides paginated access to devices, zones, and flows with comprehensive management capabilities.
claude mcp add --transport stdio pigmej-python-homey-mcp uvx homey-mcp \ --env HOMEY_API_URL="http://YOUR_HOMEY_IP_ADDRESS" \ --env HOMEY_API_TOKEN="YOUR_PERSONAL_ACCESS_TOKEN"
How to use
This MCP server provides programmatic access to a HomeyPro integration layer, exposing tools to manage devices, zones, and flows, as well as retrieve system information. It uses FastMCP-compatible tooling to offer paginated lists, search, and action execution (such as triggering flows or controlling devices). The server is designed to be run via uvx (the recommended approach) or directly via the uvx FastMCP runner, and it reads HomeyPro credentials from environment variables. Tools are available to list devices, zones, and flows, fetch detailed device information, manage system configuration, and trigger automations. Users can configure which tools are exposed to clients via environment variables, enabling a lean surface area for clients that only need specific capabilities.
How to install
Prerequisites:
- Python 3.8+ and a working Python environment
- uvx (FastMCP virtual environment/runtime)
- Access to a HomeyPro instance with a Personal Access Token
Installation steps:
- Clone the repository and install dependencies
git clone https://github.com/pigmej/python-homey-mcp.git
cd python-homey-mcp
# Install dependencies (via uvx or your preferred Python environment)
uvx sync
- Configure environment variables
export HOMEY_API_URL="http://YOUR_HOMEY_IP_ADDRESS"
export HOMEY_API_TOKEN="YOUR_PERSONAL_ACCESS_TOKEN"
- Run the server with uvx (recommended)
uvx --from . homey-mcp
- Optional: run using Makefile targets for development or Docker setup as described in the repository's documentation
make run
Docker usage (optional):
docker pull ghcr.io/pigmej/python-homey-mcp:latest
docker run -e HOMEY_API_URL="http://YOUR_HOMEY_IP_ADDRESS" \
-e HOMEY_API_TOKEN="YOUR_PERSONAL_ACCESS_TOKEN" \
ghcr.io/pigmej/python-homey-mcp:latest
Additional notes
Tips and common considerations:
- Ensure HOMEY_API_URL is reachable from the host running the MCP server; network restrictions may block access.
- The HOMEY_API_TOKEN should have appropriate permissions for the required operations (read access for listing, write access for control/trigger actions).
- Tools can be selectively enabled/disabled using HOMEY_ENABLED_TOOLS and HOMEY_DISABLED_TOOLS to reduce model confusion in MCP clients.
- When debugging, use the --log-level DEBUG option with uvx to view detailed tool behavior and responses.
- The server supports cursor-based pagination for lists (devices, zones, flows); handle paging in clients to fetch large datasets efficiently.
Related MCP Servers
web-eval-agent
An MCP server that autonomously evaluates web applications.
mcp-neo4j
Neo4j Labs Model Context Protocol servers
Gitingest
mcp server for gitingest
zotero
Model Context Protocol (MCP) server for the Zotero API, in Python
fhir
FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server.
unitree-go2
The Unitree Go2 MCP Server is a server built on the MCP that enables users to control the Unitree Go2 robot using natural language commands interpreted by a LLM.