Skip to main content
Glama

Devices List

devices_list
Read-onlyIdempotent

List LibreNMS network devices using filters like hostname, OS, location, status, or serial. Get paginated results for monitoring queries.

Instructions

List devices from LibreNMS with optional filters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
queryNoQuery parameters for filtering devices. Examples: - {"type": "hostname", "query": "router"} - search by hostname substring - {"type": "os", "query": "linux"} - filter by operating system - {"type": "location", "query": "datacenter"} - filter by location - {"type": "up"} or {"type": "down"} - filter by status - {"order": "hostname ASC"} - sort results Valid type values: all, active, ignored, up, down, disabled, os, mac, ipv4, ipv6, location, location_id, hostname, sysName, display, device_id, type, serial, version, hardware, features
offsetNoNumber of results to skip (offset) for pagination

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.10.3
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 100,
      +  "description": "Maximum number of results to return",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Number of results to skip (offset) for pagination",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Query parameters for filtering devices. Examples:\n- {\"type\": \"hostname\", \"query\": \"router\"} - search by hostname substring\n- {\"type\": \"os\", \"query\": \"linux\"} - filter by operating system\n- {\"type\": \"location\", \"query\": \"datacenter\"} - filter by location\n- {\"type\": \"up\"} or {\"type\": \"down\"} - filter by status\n- {\"limit\": 50} - limit number of results\n- {\"order\": \"hostname ASC\"} - sort results\n\nValid type values: all, active, ignored, up, down, disabled, os, mac, ipv4, ipv6, location, location_id, hostname, sysName, display, device_id, type, serial, version, hardware, features"New value: +"Query parameters for filtering devices. Examples:\n- {\"type\": \"hostname\", \"query\": \"router\"} - search by hostname substring\n- {\"type\": \"os\", \"query\": \"linux\"} - filter by operating system\n- {\"type\": \"location\", \"query\": \"datacenter\"} - filter by location\n- {\"type\": \"up\"} or {\"type\": \"down\"} - filter by status\n- {\"order\": \"hostname ASC\"} - sort results\n\nValid type values: all, active, ignored, up, down, disabled, os, mac, ipv4, ipv6, location, location_id, hostname, sysName, display, device_id, type, serial, version, hardware, features"
  2. First observedv1.9.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, fully covering the safety profile, so the bar is lower. The description adds modest behavioral context (the tool supports filtering), but it does not disclose pagination behavior, default result limits, or how a malformed free-form query object is handled. No contradiction with annotations.

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?

A single seven-word sentence is front-loaded with the verb and resource and contains zero redundant phrasing. It does not repeat the schema or annotations, and every word earns its place; there is no filler to trim and nothing important is buried.

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?

The tool is a straightforward read-only list operation with an output schema present and annotations covering the safety profile. All three parameters are fully documented in the input schema, so the thin description does not create a functional gap; the only missing narrative is explicit pagination/limit context, which the schema already conveys through defaults and minimums.

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 description coverage is 100%, and the query parameter documentation is unusually rich with examples, valid type values, and ordering syntax, so the schema carries all parameter meaning. The description itself only restates that filters are optional, adding no semantic value beyond what the input schema already provides, which matches the baseline-3 case.

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 (List), a clear resource (devices from LibreNMS), and a scope qualifier (optional filters). The collection-vs-single distinction against sibling device_get is implicit in the verb but not explicitly drawn out; it is clear and unambiguous but does not name alternatives the way top-tier definitions do.

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?

The description provides no explicit when-to-use or when-not-to-use guidance. 'With optional filters' implies the tool is for enumerating or searching devices, and the schema's filter examples hint at usage patterns, but tool-selection context versus device_get, ports_list, or devices_list's sibling list tools is left to inference rather than stated.

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