Maintenance Checks You Ask For in Plain Language and Keep on Record — Using NOX MCP to Find Recording Gaps, Disk Issues, and Offline Cameras

As the number of sites under maintenance contracts grows, inspections eventually become a bottleneck. At every site you open the NVR screen, scan the camera list for anything that has dropped off, skim recordings day by day, and check storage health separately. None of these steps is hard. The problem is that the same routine has to be repeated for every site, and in a busy week inspections get pushed back. The worst moment is finding out only after an incident that "the recording for that day was missing."

NOX gives you a way to ask for these repetitive checks in plain language. The device runs as a read-only MCP (Model Context Protocol) server, so an MCP client such as Claude Code can connect to it and bring back answers to questions like "Are any cameras offline?", "Where are the recording gaps on this camera over the last 7 days?", or "How are the disks?" This post walks through how to ask for the three core checks, how to connect, the safeguards, and the conditions and limits you must know.

Let's start with the conditions. MCP integration is an Enterprise edition feature. It is reachable only from the same network, it cannot be used in NIS (Korea's National Intelligence Service) security mode, and it is not available in Free mode (no license registered, or license expired). We cover these limits in more detail later.

Ask for the three checks in plain language

Maintenance inspections ultimately come down to three questions: are the cameras alive, has any recording been missed, and is the storage healthy? NOX MCP provides a tool for each.

CheckAsk it like this (example)Tool
Offline cameras and recording problems"Are any cameras offline or not recording right now?"nox_camera_health
Recording gaps"Show me the recording gaps on the parking entrance camera over the last 7 days."nox_recording_coverage
Disk and storage status"How are storage capacity and disk health?"nox_storage_status

The questions in the table are examples to help you get the idea. In practice the MCP client interprets your question and picks the right tool to call, so there is no fixed phrasing to memorize. Below we go through what each tool checks.

Offline cameras and recording problems: nox_camera_health

The camera health tool checks each camera's video reception and recording status (bitrate and measurement time) and flags cameras with problems. It flags the following:

  • The camera is offline
  • There is a recording error
  • Recording data is not flowing
  • Recording has stopped because of licensing, a disabled channel, a deleted source, or similar reasons

On screen, these are easy to miss unless you click into each camera one by one. The state where "the camera is online but no recording data is flowing" in particular tends to be found late, because the live video looks normal. A single question lets you sweep for this state as well.

If you need the camera list with online/offline status and a recording configuration summary, you can also use nox_list_cameras. It finds cameras by part of their name and provides the camera IDs that other tools take as input. That is why you can say something like "the parking lot camera" and the follow-up tool still finds the exact camera.

Recording gaps: nox_recording_coverage

The recording coverage tool reports the recording rate and the gaps for a single camera over a period. A few things to know:

  • It covers one camera at a time, for up to 7 days.
  • The recording rate is calculated over the part of the query range up to the current time. Future time that has not yet arrived is not included.
  • Gaps include gaps at the start and end of the query range.
  • By default, the gap list omits short gaps under 60 seconds.

So this tool fits a flow where you first narrow down suspect cameras with nox_camera_health and then check that camera's recent recordings, rather than "checking last week's recording rate for every camera during a routine inspection." Camera health narrows the candidates; recording coverage pinpoints the hours that are actually missing.

Storage and disks: nox_storage_status, nox_system_health

The storage status tool reports storage volume capacity and disk S.M.A.R.T. status. Disk problems often show warning signs before any symptom becomes visible, so it is worth making this a fixed item in every routine inspection.

If you want to know the state of the device itself, the system health tool (nox_system_health) reports service status, CPU, memory, GPU, and temperature, maintenance status, and the software version. During maintenance or an upgrade the service list can be empty, so read this tool's results together with the maintenance status.

Beyond the three checks, there are tools for event search and statistics, object search, and playback links — 10 tools in total. If you find a suspicious period during an inspection, the playback link tool creates a web UI link that opens the playback screen at that time. The video itself is not returned as an MCP result; you open the link and a person checks it directly.

How to connect

Connecting takes four steps: issue a key in the device's admin screen, register it with your MCP client, make the client trust the device certificate, and check the connection. The steps below are for Claude Code.

Step 1: Issue an AI agent key

On the API Keys screen under system settings, click Issue Key and enter a name, an expiry, and the allowed IPs. Then there are two important choices.

  1. Under Purpose, select AI agent (MCP). If your license does not include the MCP feature, this purpose is locked and a notice is shown.
  2. Choose the Allowed tools and the Camera scope. All 10 tools are selected by default, and at least one must be selected to issue the key. For camera scope, choose either all cameras or specific resource groups.

If the key is only for inspections, we recommend keeping only the tools the inspection needs — for example camera health, recording coverage, storage status, system health, and the camera list. The tool selection is signed into the key, so changing it after issuance requires rotating the key.

Choose the camera scope carefully, too. What a key can query follows the camera scope chosen at issuance, not the permissions of the admin account that issued it. A key issued for all cameras can query data from every camera on that device, so the safer approach is to group only the cameras under maintenance into a resource group and assign that. Include only cameras whose data may be passed to the agent.

Step 2: Register it with your MCP client

Once the key is issued, a Connect an AI agent section appears in the result dialog. It shows a Claude Code registration command containing the endpoint and the key, along with a copy button. The format is:

claude mcp add --transport http nox-<key name> https://<device address>/agent/mcp \
  --header "Authorization: Bearer <AI agent key>"

A few things to watch:

  • Do not add a trailing slash to the endpoint. /agent/mcp/ will not connect.
  • Always send the key in the Authorization header. It is not accepted as a URL query parameter.
  • The registration command contains the key itself, so running it leaves the key in your shell history. Delete that line after running it.
  • If you issued the key from the device's local screen (localhost), the command will contain localhost. When connecting from another PC, replace it with https://<device address>.
  • For other MCP clients such as Cursor, put the same endpoint and Authorization header into that client's remote (HTTP) MCP server settings.

Step 3: Trust the device CA certificate

The device's HTTPS certificate is signed by the device's internal CA. The PC running the agent therefore has to trust that CA before it can connect.

  1. Click the Download the device CA certificate (ca.crt) link in the result dialog, or open https://<device address>/ca.crt in a browser to download the certificate. No login is required.
  2. Set NODE_EXTRA_CA_CERTS=<path to the downloaded file> in the environment where the agent runs, then start the agent.
export NODE_EXTRA_CA_CERTS=$HOME/nox-ca.crt
claude

Also make sure the address the agent connects to (IP or domain) is included in the device certificate. If it is not, add it in the certificate address settings.

Step 4: Check the connection and start asking

Check the connection status with claude mcp list. Once it is connected, just ask something like "Are any cameras offline?" The client calls the relevant tool and summarizes the result for you.

Why it is safe to use as an inspection tool

When you talk about attaching an outside tool to on-site equipment, the first worry is usually "What if it changes a setting or stops recording?" NOX MCP reduces this worry by design.

It is read-only. The device runs as a read-only MCP server, and no tools that change cameras, recording, or settings are provided at all. You can inspect and query in plain language, but you cannot change settings in plain language. When an inspection finds a problem, a person fixes it in the admin screen, as today.

Tools and camera scope are restricted per key. As shown above, each key has its own allowed tools and camera scope. You can split them up — for example, technician A's key covers only their assigned site group, and an inspection-only key gets only inspection tools. Note, however, that the tool selection applies only to MCP access; if the same key is used to call the REST API directly, read-only API permissions apply. The camera scope applies in both cases. So store keys like passwords and keep their expiry short and their allowed IPs narrow.

Sensitive information is not included in results. Tool results do not include camera connection addresses or credentials, device serial numbers, thumbnail images, or user names. Video itself is not returned either; a web UI playback link is created only when playback is needed. Opening the link requires a web login, and playback runs with the logged-in user's permissions.

Every call is recorded in the audit log. Tool calls made with an AI agent key are recorded in the audit log, one row per call, whether they succeed or fail. You can check afterward which tool was called, whether the result was normal, and which PC it came from. Natural-language queries and sensitive strings such as license plates are stored in masked form, not as the original text. On the audit log screen, choose the AI agent category to see only agent calls.

There is a call limit. To protect core functions such as recording and live view, MCP access has a per-key call limit. This keeps inspections from putting load on the device's primary functions.

Errors and "no results" are never mixed up. If a permission check is temporarily impossible or an internal service does not respond, the tool returns an error, not an empty result. This distinction matters for inspections: if an empty result that looks like "no problems" was really a failed query, the inspection means nothing.

Conditions and limits to know

Here they are, plainly. Check the following before you adopt it.

  • It is an Enterprise edition feature. The MCP feature is included by default in the Enterprise license. It is not available in Free mode (no license registered, or license expired). Check the license edition of the on-site device first.
  • It is reachable only from the same network. The PC running the agent must be able to reach the device's web server over HTTPS. Remote connection through the cloud is not provided. You need to inspect from inside the site network, or have an environment, agreed with the customer, from which you can reach the device.
  • It cannot be used in NIS security mode. On a device with NIS security mode enabled, the entire API key feature is blocked and the MCP endpoint does not work. In addition, switching a regular device to NIS security mode permanently revokes all keys issued before the switch. If the delivery site falls under NIS security mode, this method cannot be used.
  • It is query-only. Changing settings, starting or stopping recording, and adding or removing cameras cannot be done through MCP.
  • You need a separate MCP client. The person doing the inspection must prepare an MCP client such as Claude Code. The client's terms of use are set by its provider and are not covered in this post.
  • People check the results. You ask in plain language, but people make the judgments and take action. The questions in this post are examples, and the wording of actual answers may differ depending on the client you use. Check suspicious periods directly with the playback link.
  • Include the time zone when you give a time. Times passed to the tools need a time zone offset (for example, 2026-10-01T22:00:00+09:00). Most clients handle this for you, but if results look wrong, check this first.

Build an inspection routine like this

Even with the tools in place, inspections still slip without a routine. Here is one example.

  1. Issue an inspection-only key for each site. Limit the tools to what the inspection needs, and set the camera scope to that site's group.
  2. Put three fixed questions on the inspection checklist. Offline cameras and recording problems, recent recording gaps on suspect cameras, and storage and disk status.
  3. If something looks wrong, check the video directly with the playback link and take action in the admin screen.
  4. Attach the inspection results to your customer report. What was checked is also recorded in the audit log.

If you standardize the inspection questions within your team, the same items get checked the same way even when the technician changes.

How to explain it to your customer

When you propose or renew a maintenance contract, what the end client wants to know is not the technical method but "evidence that regular inspections are being done." You can explain it like this:

"We regularly check that there are no gaps in recording, no offline cameras, and that storage is healthy. The inspection is query-only, so it does not affect settings or recording, and every inspection call is recorded in the device's audit log."

The fact that the inspection tool is read-only and leaves a record is also easy to explain to the customer's security staff. And as shown above, you can limit a key's camera scope to that site, so you can state clearly how far the inspection reaches.

Wrapping up

The goal of maintenance inspection is to find problems before they become incidents. NOX MCP turns three checks — camera status, recording gaps, and storage status — into questions you ask in plain language. Because it is read-only, restricts tools and camera scope per key, and records every call, it is easy to justify as an inspection tool attached to on-site equipment. Still, the conditions — an Enterprise edition feature, same-network access only, and no use in NIS security mode — must be checked for each site before adoption.

NOX is licensed per device, and adding channels does not add per-channel charges. So even as the number of cameras at your maintenance sites grows, the license structure gives you no reason to shrink the scope of inspection. We can confirm in a consultation which edition fits and whether MCP inspection is possible with your site setup.

If you would like to try MCP inspection on your sites, please apply for an installer partner consultation.

MCP integration is an Enterprise edition feature. It is reachable only from the same network and is not available in NIS security mode or Free mode. Edition configurations and costs are provided through consultation.


Related Posts