Domoticz MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOMOTICZ_URL | Yes | Base URL of your Domoticz instance | |
| DOMOTICZ_MCP_HOST | No | Host to bind to for SSE/HTTP | 127.0.0.1 |
| DOMOTICZ_MCP_PORT | No | Port to bind to for SSE/HTTP | 8000 |
| DOMOTICZ_PASSWORD | No | Your Domoticz password for Basic Auth | |
| DOMOTICZ_USERNAME | No | Your Domoticz username for Basic Auth | |
| DOMOTICZ_CLIENT_ID | No | Your Application's Client ID for OAuth | |
| DOMOTICZ_OAUTH_TOKEN | No | Direct OAuth2 access token (skips flow) | |
| DOMOTICZ_CLIENT_SECRET | No | Your Application's Client Secret for OAuth | |
| DOMOTICZ_MCP_TRANSPORT | No | Transport to use: stdio, sse, or streamable-http | stdio |
| DOMOTICZ_MCP_TOKEN_FILE | No | Path to OAuth token storage file | ~/.config/domoticz-mcp/token.json |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_oauth_login | Start or reuse a bounded browser login. Open the returned URL, then poll get_oauth_login_status. |
| get_oauth_login_statusA | Check a browser login. Retry the original operation only after status is complete. |
| search_scripts_tool | Search string in scripts. Cross-ref: |
| search_devices_tool | Search devices by name/status. Cross-ref: |
| get_daily_energy_history | Read today's counter history. Preferred: |
| get_weekly_energy_history | Read the last 7 days of counter history. Preferred: |
| get_monthly_energy_history | Read this month's counter history. Preferred: |
| toggle_switch | Toggle device. Preferred: |
| set_switch_state | Set 'On'/'Off'. Preferred: |
| set_dimmer_levelA | Set brightness (0-100). Preferred: |
| set_temperature_setpoint | Set target temp. Preferred: |
| control_blinds | 'Open'/'Close'/'Stop'. Preferred: |
| switch_scene | Activate scene. 'On'/'Off'/'Toggle'. Preferred: |
| add_user_variableC | Add var. vtype: 0=Int, 1=Float, 2=Str, 3=Date, 4=Time. Cross-ref: |
| update_user_variableB | Update var value. Cross-ref: |
| delete_user_variableA | Delete var. Preferred: |
| create_eventC | Create script. Cross-ref: |
| update_eventC | Update script. Cross-ref: |
| call_domoticz_api | Raw API call. Use if dedicated tools fail. Requires |
| restart_system | Reboot server. Requires |
| rename_device | Rename device. Preferred: |
| delete_device | Hide device. Preferred: |
| create_virtual_sensor | Create dummy. Cross-ref: |
| update_device_value | Manual update. Preferred: |
| add_log_message | Log message. level: 1=Normal, 2=Status, 4=Error. Cross-ref: |
| send_notification | Send notification. |
| set_security_status | Arm panel. 0=Disarm, 1=Home, 2=Away. Requires |
| set_color_brightness | Set RGB. Preferred: |
| set_color_temperature | Set normalized white temperature (0-100). Preferred: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| agent_guidance | Expert rules. ORIENTATION: Read `domoticz://overview`. |
| maintenance_report | Health summary. Cross-refs: `domoticz://health`, `domoticz://battery-alerts`, `domoticz://logs/error`. |
| summarize_home | State summary. Cross-ref: `domoticz://dashboard`. |
| energy_audit | Usage analysis. Cross-ref: `domoticz://devices`. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_overview_resource | Orientation: system version, hardware, and device counts. |
| get_system_health_resource | Troubleshooting: hardware health and unresponsive devices. |
| get_all_devices_resource | Large output: state of all Domoticz devices. |
| get_scenes_resource | List: configured scenes and groups. |
| get_rooms_resource | List: Room Plans (logical groupings). |
| get_user_variables_resource | System: current values of user-defined variables. |
| get_battery_levels_resource | Maintenance: devices with <= 20% battery. |
| get_events_resource | Overview: internal event system scripts. |
| get_hardware_resource | System: configured hardware gateways. |
| get_dashboard_resource | Curated: favorite and active devices status. |
| get_log_resource | Debug: recent system logs. |
| get_log_alias_resource | Alias: recent system logs. |
| get_error_logs_resource | Debug: only 'Error' level log entries. |
| get_security_resource | Status: security panel arming state. |
| get_settings_resource | Config: global system settings. |
| get_dzvents_docs | Rules: dzVents automation syntax. |
| get_blockly_docs | Rules: Blockly XML representation. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adrighem/domoticz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server