FI

Fibaro Home Center 3 MCP Server

Manage your Fibaro Home Center 3 with the MCP server for seamless automation, secure remote access, and reliable smart-home control.

Quick Install
npx -y @coding-sailor/mcp-server-hc3

Overview

The Fibaro Home Center 3 MCP Server is a lightweight proxy and integration layer that exposes the Home Center 3 Model Context Protocol (MCP) in a developer-friendly way. It runs next to your HC3 controller and provides a stable HTTP/WebSocket interface, optional authentication, logging, and transport-level security. The server makes it simpler to build external automations, dashboards, and monitoring services without directly exposing the HC3 to the public internet.

By centralizing connection management (retries, sessions, TLS) and offering a consistent API surface, the MCP server reduces integration complexity and improves reliability. Developers can treat the server as a single entry point for reading device state, controlling scenes, and subscribing to HC3 events while keeping the controller protected behind a trusted host or private network.

Features

  • Acts as a proxy for the HC3 Model Context Protocol (MCP) with HTTP and WebSocket transport
  • Centralized authentication and access control for third‑party integrations
  • TLS support for secure remote connections (custom cert/key)
  • Docker and binary distribution for fast deployment
  • Configurable logging and runtime options
  • Automatic reconnect and session management to handle HC3 restarts
  • Lightweight footprint suitable for edge devices and home servers

Installation / Configuration

Install via Docker (recommended):

docker run -d \
  --name mcp-server-hc3 \
  -p 8080:8080 \
  -e HC3_HOST="192.168.1.50" \
  -e HC3_USERNAME="admin" \
  -e HC3_PASSWORD="secret" \
  -e SERVER_PORT=8080 \
  coding-sailor/mcp-server-hc3:latest

Or with Docker Compose:

version: "3.7"
services:
  mcp-server:
    image: coding-sailor/mcp-server-hc3:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      HC3_HOST: "192.168.1.50"
      HC3_USERNAME: "admin"
      HC3_PASSWORD: "secret"
      SERVER_PORT: "8080"

Run a prebuilt binary (Linux example):

wget https://github.com/coding-sailor/mcp-server-hc3/releases/latest/download/mcp-server-hc3-linux-amd64.tar.gz
tar xzf mcp-server-hc3-linux-amd64.tar.gz
sudo ./mcp-server-hc3 --config /etc/mcp-server/config.yaml

Example YAML configuration (/etc/mcp-server/config.yaml):

hc3:
  host: "192.168.1.50"
  username: "admin"
  password: "secret"

server:
  bind: "0.0.0.0:8080"
  tls:
    enabled: true
    cert_file: "/etc/mcp-server/cert.pem"
    key_file: "/etc/mcp-server/key.pem"

logging:
  level: "info"

Systemd unit example:

[Unit]
Description=MCP Server for Fibaro HC3
After=network.target

[Service]
ExecStart=/usr/local/bin/mcp-server-hc3 --config /etc/mcp-server/config.yaml
Restart=on-failure
User=nobody
Group=nogroup

[Install]
WantedBy=multi-user.target

Environment variables supported (common):

VariablePurposeDefault
HC3_HOSTIP or hostname of your Home Center 3
HC3_USERNAMEHC3 username
HC3_PASSWORDHC3 password
SERVER_PORTPort to listen on8080
TLS_ENABLEDEnable TLS (true/false)false
TLS_CERT_PATHPath to TLS certificate
TLS_KEY_PATHPath to TLS private key
LOG_LEVELLogging verbosity (debug/info/warn/error)info

Available Tools / Resources

  • GitHub repository (source, issues, releases): https://github.com/coding-sailor/mcp-server-hc3
  • Docker image tags and releases on the GitHub releases page
  • Example docker-compose and systemd unit files in the repo
  • Config file examples (YAML) bundled with the project
  • Built-in logging to stdout for containerized deployments

Use Cases

  • Remote automation runner: Run external automation workflows (CI jobs, cloud functions) that read or act on HC3 state without exposing the controller directly.

    • Example: A nightly job queries room temperature via the MCP server and logs trends to an external database.
  • Secure third‑party integrations: Give voice assistants, dashboards, or monitoring services access to HC3 data through the server’s single endpoint and access controls.

    • Example: A dashboard calls the MCP server’s /api/rooms or /api/devices endpoints to render the home layout and device states.
  • Edge gateway and tunneling: Combine MCP server with an SSH or VPN tunnel to enable secure remote access to HC3 while keeping the device on a private subnet.

    • Example: Run the MCP server on a Raspberry Pi in the same LAN as HC3, forward a single port through a reverse tunnel for remote access.
  • Reliable automation during controller reboot: The server keeps a session pool and retries connections so external systems are resilient to HC3 restarts.

    • Example: Automations that trigger on HC3 events reconnect automatically after controller updates.
  • Monitoring and alerts: Feed HC3 state into observability stacks or trigger alerts when devices report unexpected states.

    • Example: Use the server to emit metrics or push device health checks into a monitoring pipeline.

Quick API example

Basic resource fetch (replace RESOURCE with scenes, devices, rooms, variables, etc.):

curl -s http://localhost:8080/api/mcp/RESOURCE | jq .

If TLS and authentication are enabled, use HTTPS and provide credentials or tokens according to your server configuration.


For more detailed setup steps, advanced configuration options, and troubleshooting, check the project repository and the included examples on GitHub.