Skip to main content
Glama
dulithdivisekara

universal-tplink-mcp

router_calibrate

Runs autonomous LTE RF band calibration across selected bands and auto-reverts settings if WAN drops for more than 45 seconds.

Instructions

Runs autonomous RF band calibration across LTE frequencies (Band 8, 3, 1, 40, Auto) with 45s watchdog fail-safe.

Launches a real-time Live Web Dashboard on http://localhost:8765. During band switches, the router modem temporarily detaches for 5-15 seconds. The local daemon safeguards against permanent disconnection by auto-reverting if WAN drops for >45s.

Args: web: Launch real-time Web UI on localhost:8765 (default: True). port: Web dashboard port (default: 8765). dry_run: Simulate band switches without modem detachment. confirm: Confirmation flag to execute calibration.

Input Schema

NameRequiredDescriptionDefault
webNo
portNo
confirmNo
dry_runNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

With zero annotations the description carries the full burden and does well: it discloses that the modem detaches for 5-15 seconds per band switch, that a local daemon auto-reverts if WAN drops >45s, and that dry_run simulates without detachment — exactly the risk context an agent needs. Residual gaps are the calibration duration and whether the resulting band persists after the run.

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?

Front-loaded with purpose and the single most important risk fact (45s watchdog fail-safe) in the first sentence, then the detach window. The Args block is somewhat redundant formatting-wise but earns its place given the empty schema descriptions.

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

Completeness5/5

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

For a disruptive multi-band calibration tool with no annotations and an output schema present, the description supplies the risk model, the fail-safe behavior, the dashboard side effect, and all parameter meanings. Nothing essential to calling it safely is missing.

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

Parameters4/5

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

Schema coverage is 0%, so the Args block is the only documentation and it covers all four parameters meaningfully (web = launch UI, port = dashboard port, dry_run = simulate without modem detachment, confirm = execute). It does not state the effect of confirm=false (abort vs no-op) or any port constraints, leaving a small ambiguity.

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

Purpose4/5

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

States a specific verb and resource: runs autonomous RF band calibration across named LTE bands (8, 3, 1, 40, Auto). The 'autonomous ... across frequencies' framing implicitly separates it from router_set_lte_band (single-band set), but it never names that sibling explicitly.

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?

Usage is only implied: the Args line 'confirm: Confirmation flag to execute calibration' hints that confirm=true is required to actually run, and dry_run implies a safe trial path. There is no explicit when-to-use / when-not-to-use guidance and no routing to router_set_lte_band or router_set_cell_lock as alternatives.

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