Skip to main content
Glama

router_set_dhcp_range

Destructive

Updates the router's DHCP start and end IP addresses while preserving other settings, then verifies the change with a fresh read-back.

Instructions

Patch DHCP boundaries only; preserve other settings and verify by fresh read-back. Requires writes enabled and explicit user approval.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "confirm": "<confirm>"
    },
    "name": "router_set_dhcp_range"
  }
}

Input Schema

NameRequiredDescriptionDefault
endNo
startNo
confirmYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, and the description adds meaningful context beyond them: changes are partial ('preserve other settings'), results are verified by 'fresh read-back', and a write-enablement prerequisite plus user approval gate exist. That materially softens the destructive labeling and explains what actually happens. It stops short of describing failure behavior or what an invalid range does.

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?

Two dense sentences, front-loaded with the operation and its scope, followed by prerequisites. No filler and no restatement of the tool name.

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?

For a destructive, non-idempotent mutation with no output schema and undocumented parameters, the description covers safety, scope preservation, verification, and prerequisites. The remaining gap is the per-parameter contract, which the schema does not describe either.

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?

With 0% schema description coverage, the description must compensate for three bare parameters. 'DHCP boundaries' implicitly maps to start/end, and 'explicit user approval' hints that confirm must be true, but it never states constraints such as start being below end or that confirm is the required gate, leaving the agent to infer semantics.

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?

The description names a specific verb and resource ('Patch DHCP boundaries') and narrows scope with 'only', which separates it from the read-side sibling router_get_dhcp and from the broader router_execute_action / router_soap_action. It never names an alternative explicitly, but the operation is unmistakable from the text alone.

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?

It gives real prerequisites ('Requires writes enabled and explicit user approval'), which tells the agent when the call can succeed. It does not say when to prefer this over router_execute_action or what to do if writes are disabled, so the when-not side of the guidance is missing.

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