Skip to main content
Glama
Ringosystems

Homey-Wan-Kenobi-MCP

by Ringosystems

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOMEY_TOKENNoYour Homey local API key. Required when using local API key authentication.
HOMEY_ADDRESSNoThe address of the Homey device (e.g., http://192.168.1.x). Required when using local API key authentication.
MCP_TRANSPORTNoTransport mode: 'stdio' (default) or 'streamable-http'.stdio

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA

List all Homey devices with current capability values. Returns device ID, name, class, zone, availability, capabilities, and live sensor/state values. Use 'zone' to filter by room name (partial match) or 'class' to filter by device type (light, sensor, thermostat, speaker, lock, socket, etc).

get_deviceA

Get detailed information about a specific device by ID, including all capability values, settings, and availability status. Use list_devices or search_devices first to find the device ID.

search_devicesA

Search devices by name, device class, or capability name. Returns matching devices with their current values. Useful for finding devices when you don't know the exact ID — e.g. search 'temperature' to find all temperature sensors, or 'kitchen' to find devices with kitchen in the name.

set_device_capabilityA

Control a device by setting a capability value. Common capabilities: 'onoff' (boolean — turn on/off), 'dim' (number 0-1 — brightness), 'target_temperature' (number — thermostat setpoint), 'volume_set' (number 0-1). Use get_device first to see available capabilities and their current values.

list_zonesA

List all zones (rooms/areas) in the home with their hierarchy. Returns zone ID, name, parent zone, and icon. Zones are organized in a tree: Home → Floors → Rooms.

list_flowsA

List all automation flows (simple and advanced). Returns flow ID, name, enabled/broken status, and type. Flows are Homey's automations with WHEN/AND/THEN logic.

trigger_flowA

Trigger (run) a flow immediately by its ID. Tries simple flow first, then advanced flow. Use list_flows to find the flow ID.

set_flow_enabledA

Enable or disable a flow automation. Disabled flows won't trigger. Use list_flows to find the flow ID.

list_variablesA

List all logic variables with their current values. Logic variables store state (boolean, number, string) that can be used in flow conditions and actions.

set_variableA

Set the value of a logic variable. The value type must match the variable type (boolean, number, or string).

list_appsA

List all installed Homey apps with version, enabled status, and origin (appstore or devkit). Apps provide device drivers, flow cards, and integrations.

restart_appA

Restart a Homey app. Useful when devices from that app are unresponsive. Use list_apps to find the app ID (e.g. 'com.fibaro').

enable_appA

Enable or disable a Homey app. Disabled apps won't run and their devices become unavailable.

uninstall_appA

Permanently uninstall a Homey app and remove all its devices. This cannot be undone.

list_insightsA

List all available insight logs (sensor history, energy meters, etc). Returns log ID, title, data type, and units. Use the log ID with get_insight_entries to retrieve historical data.

get_insight_entriesB

Get historical data points for an insight log. Returns timestamped values (e.g. temperature readings over time). Use list_insights first to find the log ID.

get_energy_liveA

Get real-time power consumption broken down by zone and device. Returns watts (W) currently being consumed. Useful for answering 'what is using power right now?'

get_energy_reportA

Get energy consumption report for a specific period. Returns kWh consumed per device. Useful for 'how much energy did I use today/this week/this month?'

get_weatherA

Get current weather conditions at Homey's location. Returns temperature, humidity, pressure, wind, and weather state (e.g. 'clear sky', 'overcast clouds').

get_weather_hourlyA

Get hourly weather forecast at Homey's location. Returns temperature and weather conditions for upcoming hours.

get_presenceA

Get home/away and awake/asleep status for all household members. Useful for 'is anyone home?' or 'who is home?'

set_presenceA

Set your own presence (home/away) or sleep state (awake/asleep). This affects presence-based automations.

list_notificationsA

List the 50 most recent Homey notifications (app updates, alerts, system messages). Sorted newest first.

create_notificationA

Send a notification to the Homey timeline. Visible in the Homey app for all household members.

list_alarmsA

List all alarms and timers with their schedule and repetition days.

set_alarmA

Create a new alarm or update an existing one. Specify time in HH:MM format and optionally which days to repeat.

delete_alarmA

Permanently delete an alarm. Use list_alarms to find the alarm ID.

list_moodsA

List all moods (scenes/presets) per zone. Moods save device states that can be activated together (e.g. 'Movie Mode' dims lights and closes blinds).

set_moodB

Activate a mood (scene) in a zone. This sets all devices in the mood to their saved states.

get_system_infoA

Get Homey system information including software version, hostname, Wi-Fi network, and hardware details.

get_locationA

Get Homey's configured geographic location (address and GPS coordinates). Used for sunrise/sunset calculations and weather.

list_driversA

List all available device drivers (protocol integrations). Useful for troubleshooting — shows which drivers are ready.

get_zwave_logA

Get recent Z-Wave network log entries. Shows transmit failures, routing issues, and network events. Essential for diagnosing Z-Wave device connectivity problems.

get_backup_statusA

Get backup configuration and last successful backup timestamp.

create_backupB

Schedule a new backup of the Homey configuration. Backup runs in the background.

get_ledringA

Get LED ring screensaver options and current setting.

set_ledringA

Set the LED ring screensaver animation. Use get_ledring to see available options (e.g. 'spectrum', 'off').

get_updatesA

Check for available Homey system updates and current update settings (channel, auto-update).

get_sessionA

Get current API session details including authenticated user, role, and permission scopes.

reboot_homeyA

Reboot the Homey Pro. Takes 2-3 minutes to come back online. Use this to resolve stale devices or Z-Wave/Zigbee mesh issues after firmware updates.

get_memory_infoA

Get Homey memory usage breakdown by app and system component. Useful for identifying memory-hungry apps.

get_storage_infoA

Get Homey storage usage breakdown. Shows how much disk space is used by apps, insights, and system.

set_system_nameA

Set the Homey system name (visible in network discovery and the Homey app).

get_advanced_flowA

Get the full definition of an Advanced Flow by ID, including all cards (triggers/logic/actions) with their args, coordinates and outputSuccess/outputError connections. Use before update_advanced_flow to see the current structure.

create_advanced_flowA

Create a new Advanced Flow. Provide a name and a 'cards' object keyed by UUID; each card has type (trigger/condition/action/note/start/delay/all/any), id (flow card id), optional args, x/y coordinates, and outputSuccess/outputError arrays linking to other card UUIDs. Returns the new flow id and broken status (broken=false means all cards resolved).

update_advanced_flowA

Update an existing Advanced Flow. Pass only the fields to change (name, enabled, and/or the full cards map). Replacing cards replaces the entire flow graph, so fetch with get_advanced_flow first and send the complete cards object. Returns broken status.

delete_advanced_flowA

Permanently delete an Advanced Flow by ID. Cannot be undone.

get_flowA

Get the full definition of a standard (WHEN/AND/THEN) Flow by ID, including its trigger, conditions and actions cards.

create_flowA

Create a standard WHEN/AND/THEN Flow. Provide a name and a 'flow' object containing trigger (card object) and optional conditions[]/actions[] arrays. Use get_flow on a similar flow to learn the exact card shape.

update_flowA

Update a standard Flow. Pass the flow id and a 'flow' object with only the fields to change (name, trigger, conditions, actions, enabled).

delete_flowB

Permanently delete a standard Flow by ID. Cannot be undone.

list_flow_cardsA

List available flow cards of a given type (trigger/condition/action). There are hundreds, so filter by a substring matched against the card id/title/uri (e.g. a device UUID to find that device's cards, or 'windowcoverings', 'dim', 'button'). Returns id + title. Use get_flow_card for full args.

get_flow_cardA

Get the full definition of one flow card (by type + id), including its arguments (names, types, dropdown values, ranges). Use this to learn exactly what args a card needs when building a flow.

rename_deviceA

Rename a device. Use list_devices to find the device ID.

move_device_to_zoneA

Move a device to a different zone (room). Use list_zones for the zone ID and list_devices for the device ID.

create_zoneA

Create a new zone (room/area). Optionally nest it under a parent zone.

diagnose_zigbee_networkA

Read the Zigbee mesh state and report health: controller status, node count, per-node last-seen age, and detected issues with recommended remediations. Note: battery Zigbee devices sleep, so a stale last-seen on a battery node can be normal.

diagnose_zwave_networkA

Read the Z-Wave controller state plus recent network log and report health: controller readiness/version, transmit failures grouped by node, currently-unavailable devices, and detected issues with recommended remediations.

homey_api_callA

Advanced escape hatch: call any Homey Web API endpoint directly. method is GET/POST/PUT/DELETE; path is the API path (e.g. /manager/zwave/state); body is an optional JSON object. Use to reach endpoints not yet wrapped by a dedicated tool, including new firmware capabilities. Prefer the dedicated tools when one exists.

analyze_app_usageA

Cross-references installed apps against RAM usage (from the memory report), how many devices each provides, and whether each app is referenced by any flow (full flow definitions are scanned, not just metadata). Flags removal candidates (apps with 0 devices and no flow references, largest RAM first), reports potential RAM savings, and groups possible duplicate/overlapping app categories (e.g. multiple MQTT apps). Read-only and advisory; it does NOT uninstall anything. Caveat: a few apps run background logic (schedules, exports, tokens) without devices or flow cards, so verify before removing.

Prompts

Interactive templates invoked by user choice

NameDescription
homey_best_practicesZone architecture, device naming, Z-Wave/Zigbee mesh tips, energy management, security, and performance guidelines.
homey_troubleshootingDiagnosing offline devices, Z-Wave/Zigbee issues, flow debugging, and performance problems.
homey_flow_patternsAutomation patterns for presence, lighting, climate, notifications, and common anti-patterns to avoid.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ringosystems/Homey-Wan-Kenobi-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server