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.
npx -y @coding-sailor/mcp-server-hc3Overview
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):
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):
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]
MCP Server for Fibaro HC3
network.target
[Service]
/usr/local/bin/mcp-server-hc3 --config /etc/mcp-server/config.yaml
on-failure
nobody
nogroup
[Install]
multi-user.target
Environment variables supported (common):
| Variable | Purpose | Default |
|---|---|---|
| HC3_HOST | IP or hostname of your Home Center 3 | — |
| HC3_USERNAME | HC3 username | — |
| HC3_PASSWORD | HC3 password | — |
| SERVER_PORT | Port to listen on | 8080 |
| TLS_ENABLED | Enable TLS (true/false) | false |
| TLS_CERT_PATH | Path to TLS certificate | — |
| TLS_KEY_PATH | Path to TLS private key | — |
| LOG_LEVEL | Logging 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.):
|
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.