HomeyPro MCP 服务器是一个用于与 HomeyPro 家庭自动化系统进行交互的模型上下文协议(MCP)服务器。该服务器提供对设备、区域和流程的分页访问,并具备全面的管理能力。
cd python-homey-mcp
uv sync
拉取预构建的 Docker 镜像:
docker pull ghcr.io/pigmej/python-homey-mcp:latest
使用 Docker 时无需额外的安装步骤。
在运行服务器之前,你需要配置 HomeyPro 连接。
设置以下环境变量:
export HOMEY_API_URL="http://YOUR_HOMEY_IP_ADDRESS"
export HOMEY_API_TOKEN="YOUR_PERSONAL_ACCESS_TOKEN"
HOMEY_API_TOKEN 环境变量。你可以在以下位置找到 HomeyPro 的 IP 地址:
使用 uvx 运行服务器是最简单的方法:
# 设置环境变量
export HOMEY_API_URL="http://YOUR_HOMEY_IP_ADDRESS"
export HOMEY_API_TOKEN="YOUR_PERSONAL_ACCESS_TOKEN"
# 使用 uvx 运行
uvx --from . homey-mcp
或者直接使用 FastMCP CLI 运行:
# HTTP 传输(推荐用于测试)
uvx fastmcp run main.py --transport http --host 0.0.0.0 --port 4445
# STDIO 传输(适用于 MCP 客户端)
uvx fastmcp run main.py --transport stdio
# 使用 uv run
uv run fastmcp run main.py --transport http --host 0.0.0.0 --port 4445 --log-level DEBUG
# 或者使用旧方法
uv run fastmcp run -t http --host 0.0.0.0 -p 4445 -l DEBUG main.py
你可以使用 FastMCP 直接在 MCP 客户端中安装此服务器:
# 在 Claude Desktop 中安装
uvx fastmcp install claude-desktop main.py \
--env-var HOMEY_API_URL=http://YOUR_HOMEY_IP_ADDRESS \
--env-var HOMEY_API_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
# 在 Claude Code 中安装
uvx fastmcp install claude-code main.py \
--env-var HOMEY_API_URL=http://YOUR_HOMEY_IP_ADDRESS \
--env-var HOMEY_API_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
# 在 Cursor 中安装
uvx fastmcp install cursor main.py \
--env-var HOMEY_API_URL=http://YOUR_HOMEY_IP_ADDRESS \
--env-var HOMEY_API_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
# 生成 MCP JSON 配置
uvx fastmcp install mcp-json main.py \
--env-var HOMEY_API_URL=http://YOUR_HOMEY_IP_ADDRESS \
--env-var HOMEY_API_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
在 Docker 容器中运行 MCP 服务器:
docker run -p 4445:4445 \
-e HOMEY_API_URL="http://YOUR_HOMEY_IP_ADDRESS" \
-e HOMEY_API_TOKEN="YOUR_PERSONAL_ACCESS_TOKEN" \
ghcr.io/pigmej/python-homey-mcp:latest
或者使用 docker-compose:
version: '3.8'
services:
python-homey-mcp:
image: ghcr.io/pigmej/python-homey-mcp:latest
ports:
- "4445:4445"
environment:
- HOMEY_API_URL=http://YOUR_HOMEY_IP_ADDRESS
- HOMEY_API_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
服务器将启动并连接到你的 HomeyPro 实例,你将看到连接确认消息。具体操作请参考 FastMCP 文档。
服务器提供上下文感知的提示,帮助你更有效地与 HomeyPro 系统进行交互。这些提示会分析你当前的系统状态并提供针对性的指导。
服务器提供智能资源缓存功能,当 HomeyPro 暂时不可用时,会自动回退到陈旧数据。
homey://system/overview):提供全面的系统概述,包括设备数量、区域数量和健康指标。
homey://devices/registry):包含当前状态、功能和在线/离线指标的完整设备清单。
homey://zones/hierarchy):包含设备关联和父子关系的区域结构。
homey://flows/catalog):包含元数据、状态和执行统计信息的可用流程。
服务器提供全面的 API 工具,用于直接与 HomeyPro 进行交互。所有工具都支持分页和错误处理,并提供详细的响应信息。
list_devices:列出所有设备,支持分页。
get_device:获取特定设备的详细信息。
get_devices_classes:列出所有可用的设备类别。
get_devices_capabilities:列出所有可能的设备功能。
search_devices_by_name:按名称搜索设备,支持分页。
search_devices_by_class:按类别/类型搜索设备。
control_device:控制设备功能。
get_device_insights:获取设备历史数据。
list_zones:列出所有区域,支持分页。
get_zone_devices:获取特定区域内的所有设备。
get_zone_temp:获取区域的平均温度。
list_flows:列出所有流程(普通和高级),支持分页。
flow_type 字段(“普通”或“高级”)。trigger_flow:执行任何流程(自动检测类型)。
get_flow_folders:获取所有流程组织文件夹。
get_flows_by_folder:获取特定文件夹中的流程。
get_flows_without_folder:获取未组织的流程。
get_flow_folders:获取所有流程组织文件夹。
get_flows_by_folder:获取特定文件夹中的流程。
get_flows_without_folder:获取未组织的流程。
get_system_info:获取全面的系统概述。
本项目采用 MIT 许可证。