Skip to main content
Glama

Read any RouterOS menu

mikrotik_print
Read-onlyIdempotent

Print RouterOS menu items from any path to inspect configurations lacking a dedicated tool; apply filters, limits, and property selection for targeted results.

Instructions

Print items from any RouterOS menu path (the equivalent of /<path> print in the terminal or opening a window in WinBox). Use this for anything without a dedicated tool, e.g. /ip/dns, /interface/bridge/port, /ip/ipsec/peer, /routing/ospf/neighbor, /queue/simple, /user.

Input Schema

NameRequiredDescriptionDefault
pathYesRouterOS menu path, e.g. "/ip/address", "/interface/bridge/port" or "ip firewall filter".
limitNoMaximum rows to return (default 200).
queryNoRaw RouterOS API query words for advanced filters, e.g. ["dynamic=false", "#!"] or [">rx-byte=1000"].
whereNoEquality filters, e.g. {"type": "ether", "disabled": false}.
deviceNoName of the configured device. Defaults to the first device (see mikrotik_list_devices).
propertiesNoOnly return these properties, e.g. [".id", "name", "running"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds the useful equivalence to `/<path> print`, but says nothing about output volume, the 200-row default cap, or what happens on an invalid path — gaps for a tool that can return up to 5000 rows.

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 sentences, both front-loaded: first sentence establishes the operation and the terminal analogy, second gives the selection rule and examples. Nothing repeats the name or the schema.

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?

For a catch-all read tool with no output schema, an agent would benefit from knowing the return shape (rows of properties, .id presence) and that results are capped/filterable. The description stops at what the command is equivalent to, leaving output and error behavior to be inferred.

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 coverage is 100% and each of the six parameters is documented inline, including path examples, limit default, query syntax and where semantics. The description adds only the convenience that path is expressed like a terminal menu path, so baseline 3 is appropriate.

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?

Names a specific verb ('Print items') and a fully general resource ('any RouterOS menu path'), and anchors it with the terminal/WinBox equivalents. It also explicitly separates itself from the dedicated sibling tools by scoping itself to 'anything without a dedicated tool'.

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?

Gives an explicit selection rule ('use this for anything without a dedicated tool') plus concrete example paths (/ip/dns, /interface/bridge/port, /user) that show the intended fallback role. An agent can decide when to reach for this versus mikrotik_interfaces or mikrotik_firewall_rules without opening any schema.

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