home / mcp / loxone mcp server
MCP server enabling AI assistants and IDEs to control Loxone devices, scenes, and climate with real-time updates.
Configuration
View docs{
"mcpServers": {
"bernhardrode-loxone-mcp-server": {
"url": "http://127.0.0.1:8000/mcp",
"headers": {
"MCP_HOST": "127.0.0.1",
"MCP_PORT": "8000",
"LOG_LEVEL": "INFO",
"MCP_TRANSPORT": "http"
}
}
}
}You can connect your Loxone smart home to AI assistants and IDEs using this MCP server. It lets you control devices, trigger scenes, receive real-time updates, and secure sensitive commands with PINs. This makes it easier to automate, script, and chat your home actions with confidence and speed.
You interact with the MCP server from compatible MCP clients. Start the server locally and connect via stdio for desktop assistants, or run it in HTTP mode to reach it over the web. Once connected, you can list devices, check current states, turn switches on or off, adjust dimmers and climate, manage blinds, trigger scenes, and send raw or secured commands. Credentials for your Miniserver are supplied as part of each tool call.
Prerequisites: Python 3.10 or newer and a Loxone Miniserver (Gen 1/2, firmware 10.0+). Ensure your computer can reach the Miniserver over the network with valid credentials.
# Install uv (Python package manager)
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Clone the MCP server repository, set up the environment, and install dependencies. Then run the server with the default stdio transport (no extra config needed):
# Clone and setup
git clone <repository-url>
cd loxone-mcp-server
# Install dependencies
uv venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
# Run the server (stdio mode by default)
uv run loxone-mcp-serverThe server is stateless and does not require environment credentials. Each MCP client provides credentials when calling tools. You can customize runtime settings with optional environment variables.
# Optional server settings
MCP_TRANSPORT=http # Set to 'http' for HTTP mode (default: 'stdio')
MCP_HOST=127.0.0.1 # HTTP host (default: '127.0.0.1')
MCP_PORT=8000 # HTTP port (default: 8000)
LOG_LEVEL=INFO # Logging levelYou can run in two transport modes. For local clients (stdio): start the server with stdio transport. For web-based clients (HTTP): start the server with HTTP transport.
# 1) Stdio Mode (Default)
uv run loxone-mcp-serverTo use HTTP transport, set MCP_TRANSPORT to http and run the HTTP server, or run the dedicated HTTP entry point. The server will be available at the MCP endpoint.
# 2) HTTP Mode
MCP_TRANSPORT=http uv run loxone-mcp-server
# Or use the dedicated HTTP command
uv run loxone-mcp-server-http
# Server will be available at: http://127.0.0.1:8000/mcpList all Miniserver devices with their identifiers and basic metadata (requires host, username, password)
Query the current state of a specific device by UUID (requires host, username, password, uuid)
Turn a switch on or off (requires host, username, password, uuid, state)
Set a dimmer level for a light (requires host, username, password, uuid, brightness)
Control blinds or covers by position (requires host, username, password, uuid, position)
Set targeted climate temperature (requires host, username, password, uuid, temperature)
List available scenes (requires host, username, password)
Activate a scene by UUID (requires host, username, password, uuid)
Send a raw command to a device (requires host, username, password, uuid, value)
Send a PIN-protected command (requires host, username, password, uuid, value, code)