Skip to main content
Glama

dhcp_servers

List MikroTik DHCP server configuration by device name, returning interface, address pool, lease time, and authoritative status so you can inspect server settings, not handed-out leases.

Instructions

List DHCP server CONFIG (/ip/dhcp-server) - as opposed to dhcp_leases, which lists the leases a server has handed out. Each entry keeps every field RouterOS returns (name, interface, address-pool, lease-time, authoritative, comment, ...), with disabled normalized to bool | None (formatting.coerce_ros_bool

  • never a == "true" string-equality trap, see that helper's docstring). authoritative is left as RouterOS's own raw value (it can be "yes"/"no"/"after-2sec-delay"/... - not a strict boolean - so it is not coerced).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
device_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.11.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden, and it does add real value: it discloses that every RouterOS field is returned and that `disabled` is normalized to `bool | None` while `authoritative` is left raw. It never states the operation is read-only/has no side effects, nor does it cover pagination or auth, leaving gaps for a zero-annotation tool.

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

Conciseness3/5

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

The core sentence is well front-loaded, but the text is bloated with internal implementation references (`formatting.coerce_ros_bool`, 'see that helper's docstring', the '== "true" string-equality trap') that are not useful to a tool-selecting agent.

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?

An output schema exists, so the lengthy field-normalization narrative is partly redundant, while the one input parameter receives no explanation. Adequate but with a clear gap on the parameter side.

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?

The single required parameter `device_name` has 0% schema description coverage and is never mentioned in the description. The description's detail is entirely about returned fields (output), so it does not compensate for the undocumented input parameter.

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 (List) and resource (DHCP server config at `/ip/dhcp-server`) and explicitly distinguishes itself from the sibling `dhcp_leases`. An agent can pick the right tool without opening either schema.

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

Usage Guidelines4/5

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

The contrast with `dhcp_leases` ('as opposed to... which lists the leases a server has handed out') gives clear routing guidance for the most likely confusion. It does not, however, state when not to use it or any prerequisite/auth context.

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

Deploy Server

Other Tools