Domotz MCP for AI agents
Agents read Domotz MCP at once. Changes and sends are held for a person's approval by default.
About Domotz MCP
Domotz MCP lets agents inspect and manage authorized network-monitoring data, devices, alerts, sites, and IT operations through Domotz.
What an agent can do in Domotz MCP
Every Domotz MCP action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.
Runs at once (reads)
Looks things up in Domotz MCP without asking first. 43 actions.
- Collector discovery statusReturns the discovery dashboard data for a collector, including initial discovery progress, device statistics, collector issues, and device categories. Use this after a collector comes online to monit
- Compare config backupCompares two configuration backup snapshots of the same device. `config_type` selects which side(s) to compare: `running` (default), `startup`, or `both`. Returns a unified diff (LCS) when both sides
- Device inventoryReturns detailed information about a single device: identity, status, capabilities, protocol coverage, attached sensors/drivers/profiles, OS info, location, power source, and end-of-life (EOL) status
- Get account infoReturns identity and account context for the currently authenticated user: user ID, email, billing state, trial end date, whether the user is the account owner, and whether RBAC is enabled. For freemi
- Get audit log filtersReturn the set of values available for filtering Domotz audit logs: the operation categories (each with its operation types), source applications, target entities, actor entities, and outcome statuses
- Get collector alert rule bindingsList alert rules bound to a specific collector, including bindings at the collector level and bindings to variables owned by that collector. Use to see which alert rules are active on a collector and
- Get collector capabilitiesInspect what the customer's Collector can actually run. Without `driver_id`, returns the Collector's current sandbox module version plus the full supported / unsupported `D.*` symbol lists. With `driv
- Get collector credential coverageCollector-wide credential audit. Returns only credential STATUS and metadata (integration status, SNMP reading sub-status). Does NOT return passwords, private keys, or SNMP community strings. Returns
- Get config backup entryReturns a single configuration backup snapshot's text for a device. `config_type` selects which block to return: `running`, `startup`, or `both` (default). When running and startup configs are identic
- Get config backup statusLists devices on a collector that have configuration backup ('config backup') enabled, with the active backup driver, mode (READ_WRITE / READ_ONLY / AVAILABLE / INSUFFICIENT_PRIVILEGE / ERROR), status
- Get device alert rule bindingsList alert rules bound to a specific device, including device-level bindings and bindings to variables owned by that device. Requires both collector_id and device_id. Use to see which alert rules are
- Get device alertsRetrieve alert and monitoring configuration status for a specific device. Returns whether shared alerts are configured, event/alert rule counts, alert rule IDs, and setup integrations. Requires a devi
Show all 43
- Get device credentialsPer-device credential status drill-down. Returns only credential STATUS and metadata (authentication status, SNMP version, public-key fingerprint, timestamps). Does NOT return passwords, private keys,
- Get device historyReturns the per-device History / Event Log for a single device: the chronological stream of events the device generated, most recent first. Events include availability transitions (`UP`/`DOWN`), `IP_C
- Get device interfacesLists the SNMP-collected interfaces on a device. Returns id as a string (= ifIndex, pass directly to `get_interface_traffic.interface_ids`), name, alias, description, admin/operational status (IF-MIB
- Get device metricsFetch summarised time-series analytics for one or more named metrics on a device within a time range. `metric_names` is capped at 15 per call and the total variables analysed across all metrics is cap
- Get device profile job historyLists device-profile apply jobs for the account: which profile was applied, who submitted it, when it started and ended, how it finished, and which devices failed. Use it to answer whether an earlier
- Get driver catalogLists the account-wide catalog of drivers available for attaching and executing on devices. Each entry returns the `id` (use as `driver_id` in `attach_driver` / `execute_driver`), `name`, `description
- Get driver templateFetch a single driver template, including its full JS code body and requirement metadata (`requirements.sandbox_version`, etc.). Use the returned `code` as the starting point for `inspect_driver` and
- Get interface trafficReturns traffic counters for one or more device interfaces over a time range. Octets are reported in bps (per-period delta). `interface_ids` accepts strings or integers (pass the `id` values returned
- Get network configurationFetch what a collector actually scans, to answer 'why isn't this device discovered?'. Read-only. Returns: - `discovery_settings`: the three flags bounding the scan. `broadcast_discovery` is the decisi
- Get organizationGet the full details of a single Organization by its internal `id`: name, `organization_id` (the caller-facing reference), its Contacts, and the ids of the Collectors bound to it. Use search_organizat
- List alert rulesLists alert rule definitions in the account. Each rule defines a condition and threshold that, when matched, fires an alert. This tool returns the rule definitions (id, name, metric, function, operand
- List communication channelsList the user's notification channels (email, webhook, Slack, etc.). Each channel has an id, endpoint, description, and type. Use to discover channel_ids before creating an alert rule via create_alert
- List config backup historyLists configuration backup snapshots for a device on a collector, newest first. When `running_md5` differs from `startup_md5` the device has unsaved changes (running config diverges from what would pe
- List device driversLists drivers currently attached to a device. Each binding returns the driver identity, the binding status, parameter values (with secrets pre-masked), and the list of executable actions (e.g. `valida
- List device metricsList everything monitorable on a device. Returns the metric catalog (what CAN be alerted on — always populated, even at discovery time). Pass metric (prefix match) to also include the live variable in
- List device profilesLists device profiles in the account. A device profile bundles sensor definitions and credentials that can be applied to one or more devices. Use the returned `id` with `apply_device_profile`. The opt
- List device sensorsLists the sensors currently attached to a device, merged across CUSTOM_OID, TCP, CUSTOM_DRIVER, and PRECONFIGURED kinds. Every entry carries `kind`. CUSTOM_OID entries carry `id`, `name`, `oid`, `desc
- List device typesReturns the device-type catalog used to classify devices (router, switch, AP, server, etc.). Stable across calls within an API version. Each entry has an `id` (used as the `type_id` filter in `search_
- List driver templatesList shared driver templates the account can start from. Each entry returns `id` (use as `template_id` in `get_driver_template` and `save_driver`), `name`, `category`, `type`, and `version`. Templates
- List metric functionsList the evaluation functions (e.g. GREATER_THAN, LESS_THAN, RANGE, CHANGED) available for a given metric name. Each function describes the comparison used to evaluate incoming variable values. Use to
- List organizationsList the account's Organizations with their Contacts and bound Collector ids. Each result carries the internal `id` (use it to address an organization) and the caller-facing `organization_id`. Optiona
- List preconfigured sensorsReturns the account-wide catalog of preconfigured sensors available to attach via `attach_sensor(sensor_spec={kind: 'overlay', overlay_id: ...})`. When `device_ids` is provided, each sensor includes a
- List remote connectionsList the remote connections of a collector - by default the ones still open, with the device and port each reaches and how long before it expires. Use it to see what `create_remote_connection` has lef
- List tagsReturns the account-wide catalog of user-defined tags applied to devices and collectors. Each entry includes id, name, color, and the count of devices and collectors currently using it. For MSP accoun
- List variable alert rule candidatesList alert rules that could be bound to a specific device variable. Each candidate includes an 'attached' flag: true means the rule is already bound to this variable, false means it could be bound. Us
- Network topologyReturns the network topology discovered by a single collector: device-to-device links and per-outlet (port) details. `view` controls detail level — `summary` returns infrastructure-only counts (~10 no
- Search alertsSearch alert history with filters. Returns both active and historical alerts. Each result carries the `unique_id` UUID (the chain identifier into `resolve_alert(unique_ids=[...])`), the `status`, `sev
- Search audit logsSearch Domotz audit logs for the caller's organization. Filter by time range, operation type/category, target entity, actor, outcome status, and source application. Timestamps may be ISO 8601 strings
- Search collectorsSearch and list Domotz collectors with filtering and pagination (zero-based: first page is page=0). filter_by keys: name, collector_id, status (ONLINE/OFFLINE), health_status (HEALTHY/ISSUES/DOWN), or
- Search devicesCross-account device search with filters and pagination (zero-based: first page is page=0). Supports filtering by text_match, name, ip_mac, vendor, model, collector_ids, status (ONLINE/OFFLINE), type_
- Search organizationsList and filter the organizations visible to the calling user. The discovery entry-point for multi-tenant workflows: resolve an organization name to an `id` before scoping subsequent calls (e.g., `sea
Held for approval by default (changes and sends)
Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 51 actions.
- Apply device profileApplies a device profile (a saved bundle of sensors, and optionally credentials) to one or more devices. Apply runs as a background job — the tool blocks for up to `poll_timeout_seconds` (default 60s,
- Attach driverAttach a driver to a device. THIS IS A LIVE OPERATION: the backend runs the driver's `validate()` action against the device during attach and, once the binding is persisted, the scheduler will trigger
- Attach sensorAttach a sensor to a device. `sensor_spec.kind` selects the variant: `overlay` applies a preconfigured sensor (use `list_preconfigured_sensors` to discover `overlay_id`, optional `selected_fields` to
- Bind alert rule to collectorBind an existing alert rule to a collector. Use this for collector-scoped metrics such as agent_status or agent_performance/*. Already-bound combinations return status=ALREADY_BOUND rather than an err
- Bind alert rule to deviceBind an existing alert rule to a specific device. The system will then watch every variable on that device whose metric matches the rule and raise incidents when the rule's condition is met. Use after
- Bind collector to organizationBind a Collector to an Organization (addressed by its internal `id`). A Collector can belong to one Organization at a time. Reversible via unbind_collector_from_organization.
- Bind tagsBind tags to a device or to a collector, setting which tags it carries. Pass `device_id` to tag a device (with the `collector_id` that monitors it), or omit `device_id` to tag the collector itself. Th
- Close remote connectionClose a remote connection opened with `create_remote_connection`, invalidating its URL and releasing the collector's remote-access allowance immediately. Any browser tab or client still using it drops
- Create alert ruleCreate an alert rule. The rule fires when the named metric matches the given condition against the provided operands. `function` accepts a name (e.g. 'GREATER_THAN', 'LESS_THAN', 'RANGE') or a numeric
- Create contactAdd a Contact to the Organization with the given internal `id`. `name` and `email` are required; `mobile_phone` and `phone` are optional. Returns the new contact_id. Contacts belong to a single Organi
- Create device profileCreates an empty device profile in the account. A device profile bundles sensor definitions and credentials that can be applied to devices in one go. The new profile has no modules yet, so applying it
- Create organizationCreate a new Organization for the calling account. Returns the new internal `id`. `organization_id` is an optional caller-defined reference (e.g. a CRM id); it is stored as-is and is not used to addre
Show all 51
- Create remote connectionOpen a temporary remote connection to one port of one device behind a collector, and return how to reach it. For `rdp`, `ssh` and `telnet` the answer is a `web_portal` URL that opens a Domotz browser
- Create tagCreate a new user-defined tag. `color` is cosmetic and user-visible: do not pick one yourself -- ask the user which colour they want, and omit the parameter when you cannot ask (omitted means gray). V
- Cycle outlet powerPower-cycle a single outlet on a host device (PoE switch / PDU). The powered device will experience a brief outage while the outlet turns OFF and back ON. Although the outlet itself returns to its pri
- Delete alert ruleDelete an alert rule by ID. Irreversible — the rule and all its device/collector/variable bindings are removed. Use `list_alert_rules` to discover valid IDs. Idempotent: deleting a non-existent rule r
- Delete contactPermanently delete a Contact from the Organization with the given internal `id`. This cannot be undone.
- Delete devicePERMANENTLY delete one or more device records from a collector: the device and its history are removed entirely. This is IRREVERSIBLE - deleted devices cannot be recovered (though a device may be redi
- Delete device profilePermanently deletes a device profile and everything it contains. This cannot be undone. It does NOT undo anything the profile already applied: sensors and credentials written to devices by earlier app
- Delete driverPermanently delete a driver from the account. This is IRREVERSIBLE: the driver disappears for every device it was attached to, all existing bindings are removed, and the scheduler stops running it eve
- Delete organizationPermanently delete an Organization. Any Collectors bound to it are unlinked (not deleted). Fails if it is the account's only Organization. This cannot be undone.
- Delete tagDelete a user-defined tag by ID. Irreversible — the tag is removed and unbound from every device and collector it was assigned to. Use `list_tags` to discover valid IDs. Idempotent: deleting a non-exi
- Detach driverRemove the binding between a driver and a device on the given collector. The driver itself stays in the account and remains attached to other devices — only THIS device's binding is removed. The sched
- Detach sensorDetach a preconfigured (overlay) sensor from a device. Irreversible — the overlay link is removed and the sensor stops collecting. Use `list_device_sensors` to discover the `overlay_id` for currently
- Execute driverRun an action of a driver against a device. The tool auto-selects mode based on whether the driver is attached to the device: - NOT attached → DRY-RUN. The action runs on the device (real network, rea
- Get create tag formShows an interactive form to create a new custom tag, with a name field and a color picker. Use this tool when the user asks to create a new tag. If the user already stated the tag name or the color,
- Get snmp credentials formShows an interactive form to set or update SNMP credentials on a specific device.Only use this tool when the user explicitly asks to set, update, or change SNMP credentials for a deviceDo NOT use for
- Manage external hostsAdd or remove an external host on a collector. An external host is a single address - a public or remote IP, or a hostname/FQDN - monitored as one device (the equivalent of a /32 routed network); publ
- Manage ip scan policyManage the collector's forced IP scan policy: extra addresses the collector must probe on top of what it discovers by itself. Use it for a device that never answers a normal discovery scan (silent hos
- Manage routed networksAdd, update or remove a routed network on a collector. A routed network is a subnet the collector cannot reach at layer 2 (no ARP), only through a router, so it is probed at layer 3 only; devices foun
- Resolve alertPermanently resolve one or more alert incidents. Resolution is IRREVERSIBLE — once resolved an incident cannot be re-opened. Domotz has no intermediate 'acknowledged-but-not-fixed' state; this tool tr
- Save driverCreate or update a driver on the account. Omit `driver_id` to CREATE a new driver (requires `name`, `code`, `type`); pass `driver_id` to UPDATE an existing one (only `code`, `description`, `timeout` a
- Set collector default snmp credentialsSet the collector's DEFAULT SNMP credentials — the ones used for devices that have no SNMP credentials of their own. Devices already configured keep theirs: to change one of those use `set_device_cred
- Set device credentialSet or overwrite a device credential. `credential_spec.kind` selects the credential family. Access keys (SSH / HTTP / HTTPS / TELNET / WINRM / ONVIF) require {username, password} and accept optional `
- Set device powerChange the power state of a device: turn it `on`, hold it `off`, `cycle` it, or issue a `software_reboot`. `on`/`off`/`cycle` act on the outlet of the PoE switch or PDU the device is plugged into; `so
- Set interfaces policySet which of the collector's own network interfaces take part in discovery, by name. Rules are interface-name patterns where `*` is the only wildcard (e.g. 'eth0', 'docker*', 'br-*'); matching is case
- Snooze collector alertsSnooze (temporarily mute) all alerting for a collector for a maintenance window. Equivalent to 'Snooze Agent Alerts' in the UI: alerting is suppressed now and automatically resumes when the window end
- Submit feedbackSubmit feedback about a gap in available MCP tools or data. Use this ONLY when you searched for a tool but could not find one, got incomplete results from an existing tool, or a tool was missing a nee
- Unbind alert rule from collectorUnbind an alert rule from a collector. Removes the bindings of all of the collector's variables to the rule — the rule definition itself stays. Use after `bind_alert_rule_to_collector` or to clean up
- Unbind alert rule from deviceUnbind an alert rule from a device. Removes the bindings of all of the device's variables to the rule — the rule definition itself stays. Use after `bind_alert_rule_to_device` or to clean up a rule th
- Unbind collector from organizationUnbind a Collector from an Organization (addressed by its internal `id`). The Collector is not deleted, only detached from the Organization.
- Unsnooze collector alertsResume alerting on a collector immediately, cancelling any active snooze/maintenance window set by `snooze_collector_alerts`. Safe to call even if the collector is not currently snoozed.
- Update alert ruleUpdate an existing alert rule in place, preserving its device/collector/variable bindings and alert history (unlike deleting and recreating). Only the fields you pass are changed; omitted fields keep
- Update collector metadataUpdate editable metadata on a collector (the on-site monitoring agent). Editable fields: `name` (the collector's display name), `time_zone` (an IANA time zone such as 'Europe/Rome'), and the postal ad
- Update collector settingsChange how a collector monitors and what it scans: the scope of its device discovery, whether the scheduled scan of the site's public IP for open TCP ports runs, the periodic ping of managed devices,
- Update contactUpdate a Contact on the Organization with the given internal `id`. `name` and `email` are required (the full contact is replaced); `mobile_phone` and `phone` are optional.
- Update device metadataUpdate editable metadata fields on a device: `name`, `importance` (important or not important), `zone`, `room`, `serial`, `notes` (max 256 chars). To clear a field, pass the sentinel value `"__clear__
- Update device monitoring stateManage or unmanage one or more devices by changing their monitoring state. This is the ONLY way to manage or unmanage devices. When the user asks to 'manage', 'start monitoring', 'add to monitoring',
- Update device profileRenames or re-describes an existing device profile. Only the fields you supply are changed; anything omitted is left as it is, so this is safe to call with just one of them. It does not touch the prof
- Update organizationUpdate an existing Organization by its internal `id`. Only the fields you pass are changed (omit a field to leave it untouched). Updating just the name will not clear the organization_id. `organizatio
- Update tagRename an existing user-defined tag, change its colour, or both. This is a partial update: omit a field to leave it untouched, and pass at least one -- empty calls are rejected. `color` is cosmetic an
Changes wait in Needs you
Changes and sends in Domotz MCP are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
Domotz MCP questions
Can an agent change data in Domotz MCP on its own?
Not by default. Changes and sends in Domotz MCP are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
What can an agent read in Domotz MCP?
This connector lists 43 read actions. Reads run at once, without waiting for approval.
How does Domotz MCP connect?
It connects with API key. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.