Skip to main content
Glama
adrighem

Domoticz MCP Server

by adrighem

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOMOTICZ_URLYesBase URL of your Domoticz instance
DOMOTICZ_MCP_HOSTNoHost to bind to for SSE/HTTP127.0.0.1
DOMOTICZ_MCP_PORTNoPort to bind to for SSE/HTTP8000
DOMOTICZ_PASSWORDNoYour Domoticz password for Basic Auth
DOMOTICZ_USERNAMENoYour Domoticz username for Basic Auth
DOMOTICZ_CLIENT_IDNoYour Application's Client ID for OAuth
DOMOTICZ_OAUTH_TOKENNoDirect OAuth2 access token (skips flow)
DOMOTICZ_CLIENT_SECRETNoYour Application's Client Secret for OAuth
DOMOTICZ_MCP_TRANSPORTNoTransport to use: stdio, sse, or streamable-httpstdio
DOMOTICZ_MCP_TOKEN_FILENoPath to OAuth token storage file~/.config/domoticz-mcp/token.json

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
start_oauth_loginA

Start or reuse a bounded login in a local browser, 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_toolC

Search string in scripts. Cross-ref: domoticz://events.

search_devices_toolA

Search devices by name/status. Cross-ref: domoticz://devices.

get_daily_energy_historyA

Read today's counter history. Preferred: idx. Set include_instantaneous=False for daily totals.

get_weekly_energy_historyA

Read the last 7 days of counter history. Preferred: idx.

get_monthly_energy_historyA

Read this month's counter history. Preferred: idx.

toggle_switchC

Toggle device. Preferred: idx. Cross-ref: set_switch_state.

set_switch_stateA

Set 'On'/'Off'. Preferred: idx. Cross-ref: toggle_switch.

get_switch_actionsA

Get On Action and Off Action URLs or scripts for a switch. Preferred: idx. Cross-ref: set_switch_actions.

set_switch_actionsA

Configure switch On Action and Off Action URLs or scripts. Preferred: idx. Requires confirm=True.

set_dimmer_levelB

Set brightness (0-100). Preferred: idx. Cross-ref: domoticz://device/{idx}.

set_temperature_setpointC

Set target temp. Preferred: idx.

control_blindsC

'Open'/'Close'/'Stop'. Preferred: idx.

switch_sceneB

Activate scene. 'On'/'Off'/'Toggle'. Preferred: idx. Cross-ref: domoticz://scenes.

add_user_variableB

Add var. vtype: 0=Int, 1=Float, 2=Str, 3=Date, 4=Time. Cross-ref: domoticz://user-variables.

update_user_variableC

Update var value. Cross-ref: domoticz://user-variables.

delete_user_variableA

Delete var. Preferred: idx. Requires confirm=True.

create_eventB

Create script. Cross-ref: domoticz://docs/dzvents_syntax.

update_eventC

Update script. Cross-ref: domoticz://event/{event_id}. Requires confirm=True.

call_domoticz_apiA

Raw API call. Use if dedicated tools fail. Requires confirm=True.

restart_systemA

Reboot server. Requires confirm=True.

rename_deviceB

Rename device. Preferred: idx.

delete_deviceA

Hide device. Preferred: idx. Requires confirm=True.

create_virtual_sensorC

Create dummy. Cross-ref: domoticz://hardware.

update_device_valueC

Manual update. Preferred: idx.

add_log_messageB

Log message. level: 1=Normal, 2=Status, 4=Error. Cross-ref: domoticz://logs.

send_notificationD

Send notification.

set_security_statusA

Arm panel. 0=Disarm, 1=Home, 2=Away. Requires confirm=True. Cross-ref: domoticz://security.

set_color_brightnessC

Set RGB. Preferred: idx.

set_color_temperatureA

Set normalized white temperature (0-100). Preferred: idx.

Prompts

Interactive templates invoked by user choice

NameDescription
agent_guidanceExpert rules. ORIENTATION: Read `domoticz://overview`.
maintenance_reportHealth summary. Cross-refs: `domoticz://health`, `domoticz://battery-alerts`, `domoticz://logs/error`.
summarize_homeState summary. Cross-ref: `domoticz://dashboard`.
energy_auditUsage analysis. Cross-ref: `domoticz://devices`.

Resources

Contextual data attached and managed by the client

NameDescription
get_overview_resourceOrientation: system version, hardware, and device counts.
get_system_health_resourceTroubleshooting: hardware health and unresponsive devices.
get_all_devices_resourceLarge output: state of all Domoticz devices.
get_scenes_resourceList: configured scenes and groups.
get_rooms_resourceList: Room Plans (logical groupings).
get_user_variables_resourceSystem: current values of user-defined variables.
get_battery_levels_resourceMaintenance: devices with <= 20% battery.
get_events_resourceOverview: internal event system scripts.
get_hardware_resourceSystem: configured hardware gateways.
get_dashboard_resourceCurated: favorite and active devices status.
get_log_resourceDebug: recent system logs.
get_log_alias_resourceAlias: recent system logs.
get_error_logs_resourceDebug: only 'Error' level log entries.
get_security_resourceStatus: security panel arming state.
get_settings_resourceConfig: global system settings.
get_dzvents_docsRules: dzVents automation syntax.
get_blockly_docsRules: Blockly XML representation.

TDQS

C2.8/5.0

Scored across 31 tools

Disambiguation4/5

Most tools have clearly distinct targets and actions, and the descriptions cross-reference each other where confusion could occur. A few close pairs like toggle_switch/set_switch_state and set_switch_state/set_switch_actions require careful reading, but they are not fundamentally ambiguous.

Naming Consistency4/5

The dominant convention is snake_case verb_noun names such as get_daily_energy_history, add_user_variable, and update_event. The pattern is mostly predictable, but the _tool suffix on search_scripts_tool and search_devices_tool is an unnecessary deviation, and a few names like switch_scene are slightly awkward.

Tool Count2/5

31 tools is above the 25-tool threshold and makes the surface heavy for an agent to select from reliably. Several related tools could reasonably be consolidated, such as the energy history variants or the overlapping switch-control tools, though the breadth is understandable for a home-automation server.

Completeness3/5

The tool set covers switches, scenes, energy history, user variables, events, security, notifications, and system administration, but noticeable lifecycle gaps exist, such as create/update events without a delete event and no explicit get/list device endpoint beyond search. The raw call_domoticz_api fallback helps, but it is not a clean substitute for dedicated read and delete operations.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive