Skip to main content
Glama
jacedomotz

Domotz MCP Server

by jacedomotz

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOMOTZ_API_KEYYesYour Domotz API key
DOMOTZ_API_BASE_URLYesThe base URL for the Domotz API, e.g., https://api-us-east-1-cell-1.domotz.com/public-api/v1

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
domotz_agentsA

Manage Domotz collectors (agents). Use the "action" parameter to select an operation. Requires agent_id for most actions.

ACTION REFERENCE:

  • list: List all collectors (paginated, filterable by display_name/team_name)

  • count: Count collectors (lightweight HEAD request, returns {"count": N})

  • get: Get single collector details by agent_id

  • delete: Delete a collector

  • activity_log: Collector activity log (filterable by from/to/type)

  • connection_consumption: Bandwidth consumption data

  • vpn_connections: List VPN sessions

  • create_vpn: Create a VPN session (needs body)

  • delete_vpn: Delete a VPN session (needs vpn_session_id)

  • status_history: Online/offline event history (filterable by from/to)

  • speed_test_history: Internet speed test results (filterable by from/to)

  • ip_conflicts: Detected IP conflicts on a collector

  • rtd_stats: Round-trip delay statistics for all devices on a collector

  • network_topology: Network topology map

  • uptime: Collector uptime percentage (filterable by from/to)

  • list_uptime_all: Uptime for ALL collectors (no agent_id needed - the only action that doesn't require one)

  • variables: Collector-level variables (paginated, filterable by value/path/metric)

  • count_variables: Count collector variables (lightweight HEAD request)

  • variable_history: Time-series for a specific variable (needs variable_id)

  • move: Move collector to a different team (needs team_id)

  • eyes_usage: SNMP/TCP sensor usage statistics

  • metric_usage: Metric usage statistics

  • device_applications: Applications across all devices on collector (paginated)

  • count_device_applications: Count applications (lightweight HEAD)

  • device_variables: Variables across all devices on collector (paginated)

  • count_device_variables: Count device variables (lightweight HEAD)

  • eyes_snmp: All SNMP sensors across collector

  • eyes_tcp: All TCP sensors across collector

  • unmanaged_devices: Devices not being monitored

  • external_host: Add an external host to monitor (needs body)

  • dhcp_discovery: Configure DHCP discovery (needs body)

GOTCHAS:

  • count/count_variables/count_device_applications/count_device_variables use HEAD requests and return {"count": N} from the X-Entities-Count header

  • list_uptime_all is the ONLY action that works without specifying agent_id

  • from/to accept ISO 8601 timestamps, default to last 7 days if omitted

  • Use page_size (1-1000) and page_number (0-based) for large result sets

EXAMPLES:

  • List all collectors: {"action": "list"}

  • Get collector details: {"action": "get", "agent_id": 5}

  • Check for IP conflicts: {"action": "ip_conflicts", "agent_id": 12}

  • Show network topology: {"action": "network_topology", "agent_id": 8}

  • Uptime for all collectors: {"action": "list_uptime_all"}

domotz_devicesA

Manage devices on Domotz collectors. Use the "action" parameter to select an operation. Most actions require agent_id and device_id.

ACTION REFERENCE:

  • list: List all devices on a collector (supports show_hidden, show_excluded filters)

  • get: Get single device details

  • delete: Delete a device

  • delete_down: Delete ALL down devices on a collector (only needs agent_id)

  • edit: Edit a device field (needs "field" param for the field name e.g. "importance", "details", and body with the new value)

  • hide: Hide a device from the dashboard

  • status_history: Device online/offline event history (filterable by from/to)

  • rtd_history: Round-trip delay (latency) time series (filterable by from/to)

  • connect: Create a remote connection to device (needs body with connection config)

  • onvif_snapshot: Get ONVIF camera snapshot image

  • uptime: Device uptime percentage (filterable by from/to)

  • monitoring_state: Set monitoring state (needs body)

  • applications: Applications running on a device (paginated)

  • count_applications: Count applications (lightweight HEAD request)

  • variables: Device variables (paginated, filterable by value/path/metric)

  • count_variables: Count device variables (lightweight HEAD request)

  • variable_history: Time-series for a specific device variable (needs variable_id)

GOTCHAS:

  • The "edit" action uses a "field" URL parameter to specify WHICH field to update (e.g. "importance", "details"), plus a body with the new value

  • count_applications/count_variables use HEAD requests and return {"count": N}

  • from/to accept ISO 8601 timestamps, default to last 7 days if omitted

  • delete_down deletes ALL down devices on the collector - use with caution

EXAMPLES:

  • List devices: {"action": "list", "agent_id": 5}

  • Get device details: {"action": "get", "agent_id": 5, "device_id": 200}

  • Device status history: {"action": "status_history", "agent_id": 5, "device_id": 42}

  • Latency history: {"action": "rtd_history", "agent_id": 5, "device_id": 99}

  • Device uptime: {"action": "uptime", "agent_id": 2, "device_id": 10, "from": "2025-01-01T00:00:00Z"}

domotz_monitoringA

Manage SNMP and TCP sensors (called "Eyes" in Domotz) on devices. Use the "action" parameter to select an operation. Requires agent_id and device_id for all actions.

ACTION REFERENCE:

  • list_snmp: List all SNMP sensors on a device

  • create_snmp: Create an SNMP sensor (needs body with OID config)

  • delete_snmp: Delete an SNMP sensor (needs sensor_id)

  • snmp_history: SNMP sensor value history over time (needs sensor_id, filterable by from/to)

  • snmp_trigger_functions: List available trigger functions for an SNMP sensor (needs sensor_id) — call this FIRST to get valid function_id values

  • list_snmp_triggers: List triggers configured on an SNMP sensor (needs sensor_id)

  • create_snmp_trigger: Create a trigger on an SNMP sensor (needs sensor_id + body with function_id and value)

  • delete_snmp_trigger: Delete a trigger (needs sensor_id + trigger_id)

  • create_snmp_trigger_alert: Activate alert notifications on a trigger (needs sensor_id + trigger_id + medium_name e.g. "email", "slack")

  • delete_snmp_trigger_alert: Remove alert notifications from a trigger (needs sensor_id + trigger_id + medium_name)

  • list_tcp: List TCP sensors on a device

  • create_tcp: Create a TCP sensor (needs body with port/host config)

  • delete_tcp: Delete a TCP sensor (needs service_id)

TRIGGER WORKFLOW (must follow these steps in order):

  1. Call snmp_trigger_functions to get available function_ids (e.g. function_id=2 means "is greater than")

  2. Call create_snmp_trigger with body containing function_id and value — VERIFY the response contains the created trigger before proceeding

  3. Call create_snmp_trigger_alert with the trigger_id from step 2 to activate notifications — VERIFY the response confirms activation If ANY step returns an error, STOP and report the error to the user. Do NOT claim success without confirming each step's response.

GOTCHAS:

  • SNMP sensors and TCP sensors use different ID params: sensor_id for SNMP, service_id for TCP

  • Trigger creation requires a valid function_id from snmp_trigger_functions — do not guess function_ids

  • from/to on snmp_history accept ISO 8601 timestamps, default to last 7 days

  • TCP sensors do NOT support triggers or alerts

EXAMPLES:

  • List SNMP sensors: {"action": "list_snmp", "agent_id": 5, "device_id": 50}

  • Sensor history: {"action": "snmp_history", "agent_id": 5, "device_id": 50, "sensor_id": 3}

  • Get trigger functions: {"action": "snmp_trigger_functions", "agent_id": 5, "device_id": 50, "sensor_id": 3}

  • Create trigger (alert when value > 90): {"action": "create_snmp_trigger", "agent_id": 5, "device_id": 50, "sensor_id": 3, "body": {"function_id": 2, "value": "90"}}

  • Activate email alert on trigger: {"action": "create_snmp_trigger_alert", "agent_id": 5, "device_id": 50, "sensor_id": 3, "trigger_id": 1, "medium_name": "email"}

  • List TCP sensors: {"action": "list_tcp", "agent_id": 5, "device_id": 50}

domotz_alertsA

Manage alert profiles and their bindings to collectors and devices. Use the "action" parameter to select an operation.

ACTION REFERENCE:

  • list_profiles: List all alert profiles (no parameters needed)

  • bind_to_agent: Bind an alert profile to a collector (needs alert_profile_id + agent_id)

  • unbind_from_agent: Unbind an alert profile from a collector (needs alert_profile_id + agent_id)

  • bind_to_device: Bind an alert profile to a specific device (needs alert_profile_id + agent_id + device_id)

  • unbind_from_device: Unbind an alert profile from a device (needs alert_profile_id + agent_id + device_id)

  • get_agent_bindings: List all alert bindings for a collector (needs agent_id)

  • get_device_bindings: List alert bindings for all devices on a collector (needs agent_id)

  • list_profiles_deprecated: List profiles by user ID (deprecated, use list_profiles instead)

GOTCHAS:

  • Binding workflow: first list_profiles to get alert_profile_id, then bind_to_agent or bind_to_device

  • get_device_bindings returns bindings for ALL devices on a collector, not a single device

EXAMPLES:

  • List all profiles: {"action": "list_profiles"}

  • Check collector alerts: {"action": "get_agent_bindings", "agent_id": 5}

  • Bind profile to device: {"action": "bind_to_device", "alert_profile_id": 2, "agent_id": 5, "device_id": 100}

domotz_networkA

Manage network scan policies, interfaces, routed networks, and excluded devices. Use the "action" parameter to select an operation. Requires agent_id for all actions.

ACTION REFERENCE:

  • get_external_scan_policy: Get external host scan policy for a collector

  • set_external_scan_policy: Set external host scan policy (needs body)

  • delete_external_scan_policy: Delete external host scan policy

  • get_interfaces: List network interfaces on a collector

  • get_interfaces_policy: Get interfaces scanning policy

  • set_interfaces_policy: Set interfaces scanning policy (needs body)

  • delete_interfaces_policy: Delete interfaces scanning policy

  • get_ip_scan_policy: Get IP scan policy

  • set_ip_scan_policy: Set IP scan policy (needs body)

  • delete_ip_scan_policy: Delete IP scan policy

  • create_routed_network: Add a routed network to monitor (needs body)

  • list_excluded: List devices excluded from monitoring

  • add_excluded: Exclude a device from monitoring (needs device_id)

  • delete_excluded: Remove a device from the exclusion list (needs device_id)

EXAMPLES:

  • Show interfaces: {"action": "get_interfaces", "agent_id": 5}

  • Get IP scan policy: {"action": "get_ip_scan_policy", "agent_id": 5}

  • List excluded devices: {"action": "list_excluded", "agent_id": 5}

domotz_configurationA

Manage device configuration backups, credentials, and SNMP authentication. Use the "action" parameter to select an operation. Requires agent_id and device_id for all actions.

ACTION REFERENCE:

  • backup: Trigger a config backup for a device

  • history: List config backup history for a device

  • create_config: Upload a configuration (needs body)

  • get_config: Get a specific config by timestamp (needs configuration_timestamp)

  • set_credentials: Set device credentials for SSH/Telnet (needs body)

  • get_snmp_auth: Get SNMP authentication settings

  • set_snmp_auth: Set SNMP v3 authentication (needs body)

  • set_snmp_community: Set SNMP community string (needs body)

GOTCHAS:

  • Backup workflow: first trigger "backup", then use "history" to see available backups, then "get_config" with the timestamp to retrieve one

EXAMPLES:

  • Trigger backup: {"action": "backup", "agent_id": 5, "device_id": 30}

  • View backup history: {"action": "history", "agent_id": 5, "device_id": 30}

  • Get SNMP settings: {"action": "get_snmp_auth", "agent_id": 5, "device_id": 30}

domotz_powerA

Manage device power actions and PDU power outlets. Use the "action" parameter to select an operation. Requires agent_id and device_id for all actions.

ACTION REFERENCE:

  • get_power_actions: List available power actions for a device (e.g. reboot, shutdown)

  • power_action: Execute a power action (needs "field" param with the action name from get_power_actions)

  • get_outlets: List power outlets on a PDU device

  • update_outlet: Update outlet settings (needs power_outlet_id + body)

  • trigger_outlet: Trigger an outlet action like cycle/on/off (needs power_outlet_id + outlet_action param e.g. "cycle", "on", "off")

  • attach_device: Attach a device to a power outlet (needs power_outlet_id + attached_device_id)

  • detach_device: Detach a device from a power outlet (needs power_outlet_id + attached_device_id)

GOTCHAS:

  • "trigger_outlet" uses "outlet_action" parameter (NOT "action") to specify what the outlet should do. The "action" param is always the tool operation selector.

  • "power_action" uses "field" parameter to identify which power action to execute

  • Workflow: get_power_actions first to see what's available, then power_action with the field name

EXAMPLES:

  • List power actions: {"action": "get_power_actions", "agent_id": 5, "device_id": 15}

  • List PDU outlets: {"action": "get_outlets", "agent_id": 5, "device_id": 15}

  • Cycle outlet: {"action": "trigger_outlet", "agent_id": 5, "device_id": 15, "power_outlet_id": 2, "outlet_action": "cycle"}

domotz_driversA

Manage custom drivers and their associations with devices. Use the "action" parameter to select an operation.

ACTION REFERENCE:

  • list: List all custom drivers (no parameters needed)

  • get: Get custom driver details (needs custom_driver_id)

  • create_association: Associate a driver with a device (needs custom_driver_id + agent_id + device_id + body)

  • delete_association: Remove a driver association (needs custom_driver_id + association_id)

  • update_association_params: Update association parameters (needs custom_driver_id + association_id + body)

  • list_associations: List driver associations for a collector (needs agent_id)

  • execute_action: Execute a custom driver action (needs custom_driver_id + agent_id + device_id + action_id + body)

  • re_enable: Re-enable failed associations (optional: include_unrecoverable flag)

GOTCHAS:

  • Workflow: list drivers first to get custom_driver_id, then create_association to bind to a device

  • execute_action needs action_id which comes from the driver definition

EXAMPLES:

  • List all drivers: {"action": "list"}

  • Show associations: {"action": "list_associations", "agent_id": 5}

domotz_inventoryA

Manage inventory fields, custom tags, device profiles, and device types. Use the "action" parameter to select an operation.

ACTION REFERENCE:

  • get_inventory: Get all inventory field definitions (no parameters needed)

  • delete_inventory: Delete all inventory fields (caution: removes all)

  • create_field: Create an inventory field (needs inventory_field name + body)

  • delete_field: Delete an inventory field (needs inventory_field name)

  • update_field: Update an inventory field (needs inventory_field name + body)

  • get_device_inventory: Get inventory data for a device (needs agent_id + device_id)

  • set_device_field: Set inventory field value on a device (needs agent_id + device_id + inventory_field + body)

  • delete_device_field: Clear inventory field on a device (needs agent_id + device_id + inventory_field)

  • get_tags: List all custom tags (no parameters needed)

  • create_tag: Create a custom tag (needs body)

  • edit_tag: Edit a custom tag (needs custom_tag_id + body)

  • delete_tag: Delete a custom tag (needs custom_tag_id)

  • bind_tag: Bind a tag to a device (needs agent_id + device_id + custom_tag_id)

  • unbind_tag: Unbind a tag from a device (needs agent_id + device_id + custom_tag_id)

  • get_device_tags: Get tags bound to a device (needs agent_id + device_id)

  • list_profiles: List all device profiles (no parameters needed)

  • apply_profile: Apply a profile to devices (needs device_profile_id + body)

  • list_base_types: List base device types (no parameters needed)

  • list_detected_types: List detected device types (no parameters needed)

EXAMPLES:

  • List all tags: {"action": "get_tags"}

  • Device inventory: {"action": "get_device_inventory", "agent_id": 5, "device_id": 42}

  • List device profiles: {"action": "list_profiles"}

  • List device types: {"action": "list_base_types"}

domotz_accountA

Account information, API usage, areas, and teams. Use the "action" parameter to select an operation.

ACTION REFERENCE:

  • get_user: Get current authenticated user info (no parameters needed)

  • api_usage: Get API usage statistics (no parameters needed)

  • list_areas: List all areas in the account (no parameters needed)

  • list_teams: List teams in an area (needs area_id)

  • create_team: Create a team in an area (needs area_id + body)

EXAMPLES:

  • Who am I: {"action": "get_user"}

  • API usage: {"action": "api_usage"}

  • List areas: {"action": "list_areas"}

domotz_get_device_full_statusA

Get comprehensive device status in a single call. Combines 5 API calls into one: device info, status history, SNMP sensors, TCP sensors, and alert bindings. Use this instead of making separate calls when you need a full picture of a device. Requires agent_id and device_id. Results are summarized if >50 items in any category.

domotz_get_agent_overviewA

Get a collector overview in a single call. Combines agent details, full device list, and uptime into one response. Use this as your starting point when exploring a collector/site. Requires agent_id. Device list is summarized (first 50 + total count) if >50 devices.

domotz_search_devicesA

Search devices by name or IP address across one or all collectors. Returns matching devices with their agent_id so you know which collector they belong to. Provide "query" (search string) and optionally "agent_id" to limit search to one collector. Without agent_id, searches ALL collectors. Great for finding a device when you don't know which site it's on.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/jacedomotz/domotz-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server