Skip to main content
Glama

nvr_enable_rtsp

Enable ONVIF/RTSP on a TP-Link VIGI NVR for one-time setup, requiring confirm_write=true and VIGI_NVR_ALLOW_WRITES=true; returns enabled_before/after.

Instructions

Enable ONVIF/RTSP on the NVR (onvif_server set). One-time setup. WRITE: needs VIGI_NVR_ALLOW_WRITES=true and confirm_write=true. Honours VIGI_NVR_DRY_RUN. Re-reads and returns enabled_before/after.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirm_writeNoMust be the JSON boolean true to authorise this mutating write. A string such as "true"/"1"/"yes" does NOT count and the write is refused with no network call; re-send with the boolean confirm_write=true after confirming the change with the operator.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so well: it declares this is a WRITE, names the required VIGI_NVR_ALLOW_WRITES gate, the confirm_write requirement, and dry-run behaviour via VIGI_NVR_DRY_RUN. It also discloses the re-read and enabled_before/after result, though it does not cover reversibility (a matching disable) or auth/permission scope beyond the env flags.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Terse and front-loaded: purpose first, then the WRITE preconditions, then dry-run and return semantics. Every fragment carries information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, yet the description usefully notes the re-read and enabled_before/after. For a one-parameter mutating tool with no annotations, the preconditions and dry-run disclosure make it nearly self-sufficient, with only alternative-routing guidance missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single confirm_write parameter is fully documented in the schema, including the boolean-only rejection behaviour. The description restates the confirm_write=true requirement without adding format or syntax detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Enable) and resource (ONVIF/RTSP on the NVR), plus the concrete backend effect ('onvif_server set'). The mutation verb cleanly distinguishes it from read-side siblings like nvr_get_rtsp_status and nvr_get_stream_url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'One-time setup' implies when the tool applies, and the WRITE preconditions frame the context. However, it never explicitly routes the agent to alternatives (e.g., checking state via nvr_get_rtsp_status first) or states when-not to use it, leaving usage to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.