Skip to main content
Glama

Netmon (demo)

interfaces_search

Read-onlyIdempotent

Cross-device interface metadata listing — answers 'what interfaces are tracked across the fleet, named like X, on device Y?'. Wraps GET /api/interfaces/all, which returns logging-enabled interfaces across every device the user can see (tag-scoped server-side via withUserTags).

Metadata only. Each row carries: id, device_id, device_label, name, interface, description. The upstream endpoint does NOT return status, octets, errors, MTU, or speed — for per-interface stats, the LLM should follow up with device_get(id, interfaces=true) on the specific device, which surfaces the latest snapshot of those metrics. We don't fabricate the missing fields here.

Filters (client-side, AND-combined): device_id (limit to one device), search (case-insensitive substring on name / description / interface / device_label).

Pagination: per_page defaults to 50 (max 200). On installs with tens of thousands of interfaces, page through results — the upstream endpoint returns the full list in one shot.

Permission: devices. Examples: interfaces_search({device_id: 42}) interfaces_search({search: "WAN"}) interfaces_search({search: "Te1/0", per_page: 10})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-indexed page number (default 1).
searchNoCase-insensitive substring on name / description / interface / device_label.
per_pageNoRows per page (default 50, max 200).
device_idNoRestrict to one device id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/openWorldHint/idempotentHint/destructiveHint, and description goes well beyond them: it says the endpoint returns the full list in one shot, filtering happens client-side with AND-combination, permissions are tag-scoped server-side via withUserTags, and explicitly tells it says it does NOT return status/octets/errors/MTU/speed and must not fabricate them. This level of behavioral disclosure is exactly what an agent needs on an unmodeled fleet query.

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?

The description is longer than the two-sentence ideal, but it is well chunked with bold section headers and examples at the end. Every section—metadata contract, filters, pagination, permission, examples—earns it implied place. Slight redundancy persists with the input schema's parameter descriptions (e.g., default 50/max 200, case-insensitive substring), keeping it from a 5.

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?

There is no output schema, so the description correctly carries the full burden: it names the exact per-row fields (id, device_id, device_label, name, interface, description), clarifies which fields are absent, explains pagination behavior on large installs, and states the rule to not fabricate missing stats. A model can make a correct call and interpret the response without any other source of truth—there are no hidden traps left unaddressed.

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 100% and every parameter has its own informative description, so the baseline is 3. The description adds notable value by stating that filters are client-side, AND-combined, that page/per_page control pagination over the full upstream list, and by giving three realistic invocation examples (device_id restriction, search-only, search+per_page). The semantics genuinely help beyond the schema, though schema already did much of the work.

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?

The description opens with a specific question the tool answers ('what interfaces are tracked across the fleet...') and names the exact resource ('interface metadata listing') and the wrapped endpoint. It distinguishes itself from siblings by emphasizing metadata-only, cross-device scope, and filter by name/device, so an agent can separate it from netflow, syslog, or per-device stats tools.

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 description gives explicit guidance on when to paginate (tens of thousands on interfaces) and when to follow up with device_get(id, interfaces=true): when per-interface statistics are needed. It does not enumerate sibling tools, but the specific follow-up instruction and the metadata-only scoping make usage conditions clear enough to differentiate from alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.