Loxone
STDIOLoxone智能家居自动化控制MCP服务器
Loxone智能家居自动化控制MCP服务器
Bridging Loxone home automation with the Model Context Protocol ecosystem through high-performance Rust implementation
A Model Context Protocol (MCP) server that enables programmatic control of Loxone home automation systems. This implementation provides comprehensive device control through 17 specialized tools and 25+ resources, supporting both stdio (for Claude Desktop) and HTTP transports.
git clone https://github.com/avrabe/mcp-loxone cd mcp-loxone cargo build --release
Quick Setup with Credential ID:
# Interactive setup with ID generation cargo run --bin loxone-mcp-setup --generate-id --name "Main House" # Store credentials manually cargo run --bin loxone-mcp-auth store \ --name "Office" \ --host 192.168.1.100 \ --username admin \ --password secure123
Manage Multiple Servers:
# List stored credentials cargo run --bin loxone-mcp-auth list # Test connections cargo run --bin loxone-mcp-auth test <credential-id>
Basic Setup:
cargo run --bin loxone-mcp-setup
Environment variables:
export LOXONE_HOST="http://192.168.1.100" export LOXONE_USER="your-username" export LOXONE_PASS="your-password"
Production with Infisical (optional):
export INFISICAL_PROJECT_ID="your-project-id" export INFISICAL_CLIENT_ID="your-client-id" export INFISICAL_CLIENT_SECRET="your-client-secret" export INFISICAL_ENVIRONMENT="production"
If you're currently using environment variables, see the Credential Migration Guide for step-by-step instructions to migrate to the new Credential ID system.
{ "mcpServers": { "loxone": { "command": "/path/to/loxone-mcp-server", "args": ["stdio", "--credential-id", "abc123def-456-789"] } } }
{ "mcpServers": { "loxone": { "command": "/path/to/loxone-mcp-server", "args": ["stdio"], "env": { "LOXONE_HOST": "192.168.1.100", "LOXONE_USER": "admin", "LOXONE_PASS": "password" } } } }
cargo run --bin loxone-mcp-server http --port 3001 --credential-id abc123def-456-789
cargo run --bin loxone-mcp-server http --port 3001
# Test with credential ID cargo run --bin loxone-mcp-auth test <credential-id> # Or list available credentials cargo run --bin loxone-mcp-auth list
The server implements 17 tools for actions and 25+ resources for data access:
control_device, control_multiple_devicescontrol_lights_unified, control_all_lights, control_room_lightscontrol_rolladen_unified, control_all_rolladen, control_room_rolladen, discover_rolladen_capabilitiesset_room_temperature, set_room_modecontrol_audio_zone, set_audio_volumearm_alarm, disarm_alarmcreate_workflow, execute_workflow_demoloxone://rooms, loxone://rooms/{room}/devices, loxone://rooms/{room}/overviewloxone://devices/all, loxone://devices/category/{category}, loxone://devices/type/{type}loxone://system/status, loxone://system/capabilities, loxone://system/categoriesloxone://sensors/door-window, loxone://sensors/temperature, loxone://sensors/motionloxone://audio/zones, loxone://audio/sourcesFull tool documentation → | Resource documentation →
The server uses an async Rust architecture with:
# Development build with debug symbols cargo build # Run tests cargo test # Format and lint cargo fmt && cargo clippy
src/
├── server/          # MCP protocol implementation
├── tools/           # Tool implementations
├── client/          # Loxone client
├── security/        # Auth and validation
└── main.rs          # Entry point
Contributions are welcome! Please see contributing.md for guidelines.
Licensed under either of:
at your option.
Built on the PulseEngine MCP framework. Special thanks to the Loxone community for protocol documentation.