loading…
Search for a command to run...
loading…
MCP server for Loxone Miniserver - expose smart-home rooms, controls, and commands to Claude and other AI assistants
MCP server for Loxone Miniserver - expose smart-home rooms, controls, and commands to Claude and other AI assistants
CI npm version npm downloads Glama License: MIT
An MCP (Model Context Protocol) server that connects AI assistants to a Loxone Miniserver smart home system.
Lets Claude (or any MCP-compatible AI) list rooms, query live sensor/actuator states, search devices, and send commands.
list_rooms — all rooms with their controlslist_controls — all controls (name, type, UUID, room)find_control — keyword search across name/room/typeget_status — live sensor and actuator values (optional room filter)control_device — send commands (On/Off, dimmer %, blinds, HVAC, audio)npm install -g @syntropic/loxone-mcp
Then run with environment variables set:
LOXONE_SERIAL=XXXXXXXXXXXX \
LOXONE_USER=admin \
LOXONE_PASS=yourpass \
MCP_API_KEY=$(openssl rand -hex 32) \
loxone-mcp
git clone https://github.com/syntropicsignal-ai/loxone-mcp.git
cd loxone-mcp
cp .env.example .env
# edit .env with your Miniserver serial, credentials, and a random API key
npm install
npm run build
npm start
The server listens on http://localhost:3000. The MCP endpoint is POST /mcp.
docker build -t loxone-mcp .
docker run -p 3000:3000 --env-file .env loxone-mcp
| Variable | Required | Description |
|---|---|---|
LOXONE_SERIAL |
Yes | 12-char Miniserver serial (from Loxone Config → Miniserver) |
LOXONE_USER |
Yes | Miniserver username |
LOXONE_PASS |
Yes | Miniserver password |
MCP_API_KEY |
Yes | Bearer token for MCP endpoint auth (openssl rand -hex 32) |
PORT |
No | HTTP port (default: 3000) |
Add to your Claude MCP configuration:
{
"mcpServers": {
"loxone": {
"url": "https://your-server/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY"
}
}
}
}
| Type | Commands |
|---|---|
| Switch / Light | On, Off, pulse |
| Dimmer | On, Off, value/50 (0–100%), Up, Down |
| Jalousie (blinds) | Up, Down, Stop, FullUp, FullDown, shade |
| Gate | Open, Close, Stop |
HVAC (IRoomControllerV2) |
setComfortTemperature/21.5, override/1/22/3600 |
| AudioZone | play, pause, stop, volume/50 |
dns.loxonecloud.com on every requestLoxAPP3.json) cached for 60 secondsMIT
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"loxone-miniserver-mcp": {
"command": "npx",
"args": []
}
}
}