Hi,
I’m experiencing a persistent issue with the official Homey integration in ChatGPT when ChatGPT tries to retrieve the Flow Trigger Card catalogue.
The Homey MCP call list_flow_trigger_cards consistently fails with:
INVALID_ARGUMENT: Invalid structured content for tool list_flow_trigger_cards
The relevant validation error is:
Expected string, received null
at paths such as:
cards[1353].args[0].values[0].title
cards[1353].args[0].values[1].title
cards[1384].args[0].values[0].title
There are multiple affected cards/values.
It appears that Homey returns one or more Flow Trigger Cards containing an argument with values[] entries where title is null, while the MCP schema requires:
title: string
Because validation fails on these entries, ChatGPT cannot retrieve any of the Flow Trigger Card catalogue.
Impact
Other Homey MCP functionality continues to work. ChatGPT can:
- read devices and their capabilities
- read existing Advanced Flows
- inspect cards and connections inside an Advanced Flow
- retrieve current sensor/device values
However, because list_flow_trigger_cards fails, ChatGPT cannot safely create/update Advanced Flows, as retrieving the Flow Card catalogue is required before performing these writes.
Troubleshooting already performed
- Restarted Homey
- Disconnected and reconnected the ChatGPT/Homey integration
- Deleted the Advanced Flow that initially appeared to be involved
- Confirmed other Advanced Flows work normally in the Homey editor
- Restarted several Homey apps individually, including:
- Toros Vision
- Better Logic Library
- < group >
- Smart Gateways
- Solar Forecast
- Enphase Controller
- Tuya Cloud
- Aqara
The error persists.
Restarting apps sometimes changes the numerical index of the affected cards (for example from ~1620 to ~1460 and later ~1353), presumably because the catalogue is rebuilt, but the same values[].title = null validation error remains.
Possible cause
This looks like a schema/serialization compatibility issue between Homey’s Flow Card data and the MCP response schema rather than an Advanced Flow problem itself.
If null is valid/possible for a Flow Card value title on the Homey side, perhaps the MCP schema should accept:
title: string | null
Alternatively, the MCP server could normalize a null title to a string/fallback value or skip malformed entries instead of failing the complete Flow Trigger Card catalogue.
It would also be very useful if the error exposed the Flow Card ID / app ID, rather than only its numerical position in the returned cards[] array. That would make identifying the originating app/card much easier.
Is this a known issue with the official Homey MCP server / ChatGPT integration?
I’m happy to provide additional diagnostics or test a fix.