Skip to main content
Glama
Domotz MCP Server

Domotz MCP Server

by jacedomotz

Domotz MCP Server for Claude

Connect Claude AI to your Domotz network monitoring platform using the Model Context Protocol (MCP). This integration gives Claude access to 10 category tools covering 133 API actions, enabling natural language queries about your network infrastructure.

What This Does

With this MCP server, you can ask Claude things like:

  • "Show me all devices on the network that are currently offline"

  • "What's the uptime history for my core switch(s) over the last month?"

  • "List all collectors and their connection status"

  • "Are there any active IP conflicts?"

Claude translates your natural language requests into Domotz API calls and presents the results in a readable format.


Related MCP server: NinjaOne MCP Server

Prerequisites

Before you begin, ensure you have:

  1. A Domotz account with API access enabled

  2. Claude Desktop installed (download here)

  3. Node.js 18+ installed on your system

  4. Your Domotz API Key (see below for how to generate one)


Quick Start

Step 1: Generate Your Domotz API Key

  1. Log into the Domotz Portal

  2. Navigate to Account Settings → API Keys

  3. Click Generate New Key

  4. Copy and save the key securely (you won't be able to see it again)

Step 2: Download the MCP Server Files

Clone or download this repository to your local machine:

git clone https://github.com/jacedomotz/domotz-mcp-server.git
cd domotz-mcp-server

Remember where you save this folder - you'll need the full path in Step 4.

Step 3: Install Dependencies

npm install

Step 4: Configure Claude Desktop

Locate your Claude Desktop configuration file:

OS

Path

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

Open the file and add the Domotz MCP server configuration. Use claude_desktop_config.example.json as a reference:

{
  "mcpServers": {
    "domotz": {
      "command": "node",
      "args": ["REPLACE_WITH_FULL_PATH_TO/domotz-mcp-server/index.js"],
      "env": {
        "DOMOTZ_API_KEY": "YOUR_API_KEY_HERE",
        "DOMOTZ_API_BASE_URL": "https://api-us-east-1-cell-1.domotz.com/public-api/v1"
      }
    }
  }
}

You MUST customize three things:

  1. args path - Replace with the full path to index.js on your machine:

    • Windows example: ["C:\\Users\\YourName\\domotz-mcp-server\\index.js"]

    • Mac example: ["/Users/yourname/domotz-mcp-server/index.js"]

    • Linux example: ["/home/yourname/domotz-mcp-server/index.js"]

  2. DOMOTZ_API_KEY - Replace with your actual API key from Step 1

  3. DOMOTZ_API_BASE_URL - Use the URL matching your Domotz account region:

    • US: https://api-us-east-1-cell-1.domotz.com/public-api/v1

    • Europe: https://api-eu-west-1-cell-1.domotz.com/public-api/v1

Windows users: Use double backslashes (\\) in the path, or forward slashes (/).

Step 5: Restart Claude Desktop

Quit and reopen Claude Desktop to load the new MCP server configuration.

Step 6: Verify the Connection

In Claude, try asking:

"List my Domotz collectors"

If configured correctly, Claude will query the Domotz API and return your collector list.


Available Capabilities

This MCP server exposes 10 category tools covering 133 Domotz API actions:

Tool

Actions

Example Operations

domotz_agents

31

List collectors, status history, uptime, VPN, topology, variables

domotz_devices

17

List/get devices, status history, RTD metrics, connect, uptime

domotz_monitoring

13

SNMP sensors, TCP sensors, triggers, sensor history

domotz_alerts

8

Alert profiles, bind/unbind to collectors and devices

domotz_network

14

Scan policies, interfaces, routed networks, excluded devices

domotz_configuration

8

Config backups, credentials, SNMP authentication

domotz_power

7

Power actions, outlets, attach/detach devices

domotz_drivers

8

Custom drivers, associations, execute driver actions

domotz_inventory

19

Custom fields, tags, device profiles, device types

domotz_account

5

User info, API usage, areas, teams

Each tool uses an action parameter to select which API operation to perform. For example, domotz_agents with action: "list" lists all collectors, while action: "ip_conflicts" checks for IP conflicts.


Example Queries

Here are some practical queries you can try:

Network Overview

  • "Give me a summary of all my Domotz collectors and their status"

  • "How many devices are being monitored across all my sites?"

Troubleshooting

  • "Show me all offline devices on collector 12345"

  • "What's the RTD (latency) history for device 67890 over the past week?"

  • "Are there any IP conflicts on the main office network?"

Reporting

  • "List all devices with their last seen status for the Acme Corp site"

  • "Show me the internet speed test history for the past month"

Configuration

  • "What SNMP sensors are configured on device 11111?"

  • "List all custom tags I've created"


Troubleshooting

"Claude doesn't see the Domotz tools"

  1. Verify the path in claude_desktop_config.json is correct and points to index.js

  2. Ensure Node.js is installed and accessible from your PATH

  3. Check that the API key is set correctly (no extra spaces or quotes issues)

  4. Restart Claude Desktop completely (not just close the window)

"API calls are failing"

  1. Verify your API key is valid in the Domotz portal

  2. Check that you're using the correct regional API URL (US vs Europe)

  3. Ensure you have the appropriate permissions for the operations you're attempting

"Rate limiting errors"

The Domotz API has rate limits. If you're making many requests in quick succession, you may hit these limits. Wait a moment and try again.


Security Notes

  • Never share your API key publicly - The key in claude_desktop_config.json is for your use only

  • API keys have full account access - Anyone with your key can access your Domotz data

  • This MCP server file is safe to share - It contains only endpoint definitions, not credentials

  • Rotate keys if compromised - Generate a new key in the Domotz portal if you suspect exposure


File Structure

domotz-mcp-server/
├── index.js                            # MCP server entry point
├── package.json                        # Node.js dependencies
├── README.md                           # This file
├── LICENSE                             # MIT license
├── claude_desktop_config.example.json  # Claude Desktop config template
├── lib/
│   ├── api.js                          # Domotz API client (Axios)
│   └── registry.js                     # Generic action dispatcher
├── categories/
│   ├── agents.js                       # domotz_agents (31 actions)
│   ├── devices.js                      # domotz_devices (17 actions)
│   ├── monitoring.js                   # domotz_monitoring (13 actions)
│   ├── alerts.js                       # domotz_alerts (8 actions)
│   ├── network.js                      # domotz_network (14 actions)
│   ├── configuration.js               # domotz_configuration (8 actions)
│   ├── power.js                        # domotz_power (7 actions)
│   ├── drivers.js                      # domotz_drivers (8 actions)
│   ├── inventory.js                    # domotz_inventory (19 actions)
│   └── account.js                      # domotz_account (5 actions)
└── .claude/
    └── skills/
        └── domotz-api/                 # Claude Code skill (auto-loaded)
            ├── SKILL.md                # Main skill reference
            ├── references/
            │   └── tool-reference.md   # Full action catalog
            └── examples/
                └── common-queries.md   # Natural language → tool call examples

Resources


License

MIT License - See LICENSE file for details.


About

This MCP server was created to help MSPs, IT teams, and network administrators leverage AI for network monitoring and management tasks. By connecting Claude to Domotz, you can query your network infrastructure using natural language instead of navigating multiple dashboards.

Questions? Reach out to the Domotz community on https://www.reddit.com/r/domotz/.

Available Tools

13 tools
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"}

Inputs: action (required), body, area_id.

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"}

Inputs: action (required), to, body, from, +17 more.

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}

Inputs: action (required), user_id, agent_id, device_id, +1 more.

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}

Inputs: action (required), body, agent_id, device_id, +1 more.

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"}

Inputs: action (required), to, body, from, +16 more.

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}

Inputs: action (required), body, agent_id, action_id, +4 more.

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.

Inputs: agent_id (required).

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.

Inputs: agent_id (required), device_id (required).

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"}

Inputs: action (required), body, agent_id, device_id, +3 more.

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}

Inputs: action (required), to, body, from, +6 more.

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}

Inputs: action (required), body, agent_id, device_id.

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"}

Inputs: action (required), body, field, agent_id, +4 more.

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.

Inputs: query (required), agent_id.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool has a clearly distinct domain (agents, devices, monitoring, alerts, network, configuration, power, drivers, inventory, account, plus three composite helpers). There is no overlap in purpose; an agent can easily distinguish which tool to use based on the operation needed.

    Naming Consistency4/5

    All tools use the 'domotz_' prefix with a descriptive noun or verb phrase. Most are nouns (e.g., domotz_agents, domotz_devices) but three composite tools use verbs (get_device_full_status, get_agent_overview, search_devices), introducing a minor inconsistency. Overall pattern is clear and predictable.

    Tool Count5/5

    The tool count of 13 is well-scoped for a comprehensive network monitoring platform. Each tool covers a distinct area, and the set is neither too lean nor overwhelming. The three composite tools provide efficiency without bloating the surface.

    Completeness5/5

    The tool surface is remarkably complete, covering agent and device management, sensor configuration and monitoring, alerts, network policies, configuration backups, power management, custom drivers, inventory, and account info. Composite and search tools address common multi-step queries, leaving no obvious dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Exposes the Firewalla MSP API as tools for Claude Code and other MCP clients, enabling natural-language management of Firewalla boxes, alarms, rules, devices, flows, target lists, and trends with full read/write capabilities.
      19
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables Claude to interact with Datto RMM accounts for device, alert, site, and quick job management through natural language.
      Apache 2.0
    • A
      license
      A
      quality
      C
      maintenance
      Provides Claude with access to IT Glue documentation and asset management, enabling search, retrieval, and creation of organizations, configurations, locations, passwords, documents, attachments, flexible assets, and user activity metrics through the IT Glue API.
      28
      Apache 2.0