Skip to main content
Glama
NemoN

Tvheadend MCP

by NemoN

tvh_scan_networks

Destructive

Queue service scans for selected Tvheadend networks and return immediately; monitor scan queue length and mux scan states/results to track progress.

Instructions

Queue a service scan for selected networks; returns immediately.

Monitor list_networks.scanq_length and list_muxes.scan_state/scan_result. Scans use tuner capacity. For one mux, update_node with its schema's scan_state.

Input Schema

NameRequiredDescriptionDefault
dry_runNo
network_uuidsYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already flag destructiveHint/openWorldHint/idempotent=false; the description adds genuinely new behavior: the call is asynchronous and returns immediately, and it consumes tuner capacity, which implies contention with live viewing/recording. It does not explain what a rescan does to existing services on the mux (the destructive aspect), which keeps it short of a 5.

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

Conciseness4/5

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

Three tight sentences, front-loaded with the async contract, then monitoring, then the single-mux alternative. No filler; the final clause "with its schema's scan_state" is slightly terse but still parseable.

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

Completeness3/5

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

Output schema exists so return values need no explanation, and the async/monitoring story is covered. However, for a destructive, tuner-consuming mutation, the absence of any dry_run guidance or UUID sourcing leaves a real gap.

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

Parameters2/5

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

Schema coverage is 0% and the description does not mention dry_run at all, nor where network UUIDs come from or what format they take. "Selected networks" only loosely maps to network_uuids, so the agent gets no help on the one parameter that could make this a safe operation.

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+resource ("Queue a service scan for selected networks") and immediately fixes the scope with "returns immediately." It also separates itself from the single-mux path by naming update_node, so the agent can tell the bulk tool from the singular one.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use this for selected networks in bulk, use update_node for a single mux. It also names the monitoring calls (list_networks.scanq_length, list_muxes.scan_state/scan_result), so selection and follow-up are both specified.

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