MCP server for ESPHome

Hey folks, I've built a MCP server for ESPHome to allow you to interact with it directly from whatever AI you're using (in my case, Open Design + Claude Code to make pretty UIs).

You can check it out here: GitHub - loryanstrant/ESPHome-MCP: A MCP server for ESPHome that supports the new Device Builder functionality released in build 2026.6 ยท GitHub

(There were 2 other MCP projects, but they hadn't been updated to handle the new API and methods used in ESPHome 2026.6.)

Great stuff! Does it also work with openweb ui?

I have been working hard to get a good lvgl display (1400+ lines now!), and Claude is key for that.

But more direct integration would make things even easier.

Sure does!
However, I have Claude talk directly to it.

I have the docker running on Portainer and connected to ESPHome. But connecting it to Open WebUI hasn't worked yet. Seems to me that the issue is that the docker image doesn't support OpenAI connection types?

How are you connecting it?
It should be added as a tool server.

and

  # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  # ESPHome MCP native server
  # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  mcp-esphome:
    image: ghcr.io/loryanstrant/esphome-mcp:latest
    container_name: mcp-esphome
    restart: unless-stopped
    environment:
      - ESPHOME_DASHBOARD_URL=${ESPHOME_DASHBOARD_URL}
      - ESPHOME_API_KEY=${ESPHOME_API_KEY}
    networks:
      - webui-net

  # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  # mcpo bridge for ESPHome MCP (HTTP type)
  # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  mcp-esphome-proxy:
    image: ghcr.io/open-webui/mcpo:latest
    container_name: mcp-esphome-proxy
    restart: unless-stopped
    command: [
      "--port", "8090",
      "--type", "streamable_http",
      "http://mcp-esphome:8080/mcp"
    ]
    depends_on:
      - mcp-esphome
    networks:
      - webui-net

Can this connect to esphome if it is running as an addon - i.e. through the ingress controller?