Mcp-homey

:robot: Claude AI + Homey Integration via MCP Protocol - Looking for Feedback!

Hey Homey community! :waving_hand:

I’ve been working on something exciting that I’d love to share and get your feedback on. I’ve created an MCP (Model Context Protocol) server that allows Claude AI to directly control your Homey devices through natural language conversations!

:rocket: What is this?

This integration lets you chat with Claude AI and control your entire Homey setup just by talking to it naturally:

  • “Turn on the kitchen lights at 75%”
  • “Set the thermostat to 22 degrees”
  • “Start my evening routine”
  • “What’s the temperature in the bedroom?”
  • “Show me my energy usage this month”

:sparkles: Features

:house: Complete Device Control (21 tools total):

  • Control lights, thermostats, sensors, and smart appliances
  • Zone-based control (“turn off all bedroom lights”)
  • Advanced light control (color, brightness, temperature)
  • Thermostat management
  • Flow/automation triggering

:bar_chart: Smart Analytics:

  • Historical device data and trends
  • Energy consumption monitoring
  • Real-time dashboard metrics
  • Usage pattern detection
  • Data export capabilities

:globe_showing_europe_africa: Cross-Platform:

  • Works on Windows, macOS, and Linux
  • Simple setup via Claude Desktop
  • Demo mode for testing without real devices

:hammer_and_wrench: How it works

The integration uses Homey’s local API and runs as an MCP server that connects to Claude Desktop. You configure it once, and then you can have natural conversations with Claude about your smart home.

Example conversation:

You: "What devices do I have in the living room?"
Claude: Shows all your living room devices with current status

You: "Turn on the living room lamp and set it to warm white"
Claude: Executes the command and confirms the action

You: "Show me yesterday's energy usage"
Claude: Displays detailed energy consumption analytics

:warning: Current Status & Feedback Needed

This is still experimental! While the core functionality works, I’m sure there are edge cases and improvements needed. I’d really appreciate feedback on:

  1. Device compatibility - Does it work with your specific Homey devices?
  2. API reliability - Any connection issues or timeouts?
  3. Feature requests - What would you like to see added?
  4. Bugs & issues - Anything that doesn’t work as expected?
  5. Documentation - Is the setup process clear enough?

:wrench: Setup Requirements

  • Homey Pro with local API enabled
  • Claude Desktop application
  • Python 3.11+ with uv package manager
  • Personal Access Token from my.homey.app (with all scopes!)

:clipboard: Repository

The code is available on GitHub: GitHub - maerestijnde/mcp-homey

Full documentation, installation guide, and Windows/macOS setup instructions are included in the README.

6 Likes

I see that the macOS/Linux shell script uses hardcoded paths to your home directory. You can replace /Users/sdemaere in the script with $HOME and it should work for others too.

Also, I would replace this:

export PATH="/Users/sdemaere/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

With this:

export PATH="$HOME/.local/bin:$PATH"
2 Likes

should be fixed, thanks!

1 Like

With today’s announced 11.io and this mcp server you can build assistant better and easier than ever :slight_smile:

I just gave it a try and it works out pretty well. Tried a few basic actions for now. Everything worked like a charm.

Thank you!

1 Like

Really cool stuff!

The reason I started playing with this MCP is because I hoped it would solve all the issues with Google Home. We use it for voice control to operate everything in our house. I thought, if Claude interprets commands better, the path to voice control would undoubtedly be less challenging.

I’ve since discovered that Claude, with this MCP, communicates perfectly well with Homey for now, but apparently, “passive listening” and reacting to a pre-set phrase (currently “Hey Google”) doesn’t seem to be something readily available.

A tool that could communicate with the above based on voice would truly be great.

1 Like

still looking on how to achieve this, was my main goal :wink:

1 Like

(post deleted by author)

Hey,

I decided to create a separate implementation that better suits my needs.
https://github.com/pigmej/python-homey-mcp python-homey itself is located here https://github.com/pigmej/python-homey

Why ?

  1. I needed a Python client for another project anyway
  2. Wanted to use more modern FastMCP and functionality there
  3. Had to adjust a few things to my liking to use with other LLMs.
  4. Had to add some more MCP tools and goodies.

There is more to come, for sure. I’m mainly driving the functionality based on my own needs. However, it should also work in generic cases.

I’ll likely extend it over the following days or weeks.

1 Like

Hi, does this also mean devices like this can be used?

Yeah, I’m using it on my mobile via simple LiveKIT integration GitHub - pigmej/homey-assistant-agent with https://github.com/pigmej/homey-assistant-nextjs to “talk” to my homey.

Things like EchoEar would require some additional configuration but would work.

Awesome… but is it me, or is start_homey_mcp.sh missing?

Why would you need it?

Hi.
MCP is awesome! It will add another dimension to home automation!

Got GitHub - maerestijnde/mcp-homey from @Baddelomeus running with Claude AI and Google Gemini. The latter has a CLI which makes it suitable for real Homey integration (e.g. via a simple http server / interface initiating CLI runs and returning results). - For now I am interfacing with Gemini using “Desktop Device” (Desktop Device App für Homey | Homey).

In “mcp_homey” there is however no zone handling / interface. I therefore tried “python-homey-mcp” (https://github.com/pigmej/python-homey-mcp) + “python-homey” (https://github.com/pigmej/python-homey) from @Jedrzej_Nowak. - Unfortunately I can´t get it running…

@Jedrzej_Nowak, it would realy be great if you could give a hint, what I might be missing

Here are the errors I get:

# Run with uvx
uvx --from . homey-mcp

#Error:
Traceback (most recent call last):
File “”, line 198, in _run_module_as_main
File “”, line 88, in run_code
File "C:\Users\ps\AppData\Local\uv\cache\archive-v0\QpnnVGrUb_9TBPNHfXIka\Scripts\homey-mcp.exe_main
.py", line 4, in
from main import mcp
File “C:\Users\ps\AppData\Local\uv\cache\archive-v0\QpnnVGrUb_9TBPNHfXIka\Lib\site-packages\main.py”, line 10, in
from homey_mcp.mcp_instance import mcp
ModuleNotFoundError: No module named ‘homey_mcp’

# STDIO transport (for MCP clients)
uvx fastmcp run main.py --transport stdio

#Error:
[08/21/25 01:44:03] ERROR Failed to run: No module named ‘homey_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

Container runs but shuts down immediately, when startet as MCP extension in/by Claude AI.

Hey, seems that I forgot to add deps correctly when using docker.

I’ll fix it tomorrow. Or you need to install the dep by hand from: GitHub - pigmej/python-homey: A modern, async Python client library for the Homey v3 Local API.

Hi @Jedrzej_Nowak
thank you for your quick response! Great!

How can I fix the error when running python-homey-mcp with “uvx fastmcp run main.py --transport stdio”? - I guess there is also some dependecy issue.

Im without Access to the pc till tomorrow. I need to check uvx path as I actually never ran it like that.

I’ll fix it early TMRW I think.

Nevertheless it will work when you clone the repo and do uv sync and then normal uv run …

I Need to check uvx way basically…

Hey, check now it should work. Sorry for not checking the UVX path deeply enough.

I’m mainly using it in my dev environment or Docker, which works for me without an issue.

Thank you @Jedrzej_Nowak!
I will be travelling the next weeks so it will unfortunately take some time until I can test.

This is so great to have a MCP, Thanks :heart::heart: Has anybody tried to connect to N8N?