Skip to main content
Glama

discover_printers

Find Bambu Lab printers on the local network by listening for SSDP announcements or scanning private subnets on port 8883.

Instructions

Find Bambu printers on the local network. First listens for their SSDP announcements (IP, serial, model); if that finds nothing, or when scan='always', it probes every address of the local subnet on the MQTT/TLS port (8883) and reads the printer's certificate. The LAN access code is never broadcast: read it on the printer (Settings > Network) and pass it to add_printer. Only private ranges (192.168.x.x, 10.x.x.x, 172.16-31.x.x) are scanned.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scanNoauto: scan the subnet only when SSDP found nothingauto
subnetNoCIDR to scan instead of this machine's own subnets, e.g. 192.168.1.0/24 (max 1024 addresses)
timeout_secNoHow long to listen for SSDP announcements

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does well: it discloses the SSDP-then-probe order, the MQTT/TLS port 8883 with certificate reading, that the access code is never broadcast, that only private ranges are touched, and that timeout_sec bounds only the SSDP listen. It does not say how long a full /24 probe takes, whether it is rate-limited, or what the overall result set looks like.

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?

Four sentences, purpose front-loaded, each carrying operational information an agent needs (fallback logic, port, range restriction, pairing handoff). Slightly dense but nothing is padding; the 'read it on the printer (Settings > Network)' aside is the only mildly expendable clause.

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?

No output schema exists, so the description must cover results; it names the SSDP fields (IP, serial, model) but not what a subnet probe returns or the merged shape, which is a gap for a tool an agent must parse. Everything else needed to invoke it correctly — cost, scope, safety — is present.

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%, so baseline is 3, but the description adds real meaning: it defines the scan='always' trigger that the schema only implies, scopes subnet to private ranges, and clarifies that timeout_sec applies specifically to the SSDP listen phase rather than the whole call. It leaves scan='never' undefined in both places.

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?

Opens with a specific verb and resource: 'Find Bambu printers on the local network.' No sibling tool does discovery, and the description makes clear this is the entry point before add_printer, so an agent can place it correctly among 50+ siblings.

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?

Explains the two-phase behavior (SSDP first, subnet probe as fallback or forced), names the scan='always' condition that selects the expensive path, and routes the LAN access code to add_printer, implying discovery precedes pairing. It never explicitly states when not to use it or what alternatives exist, so it falls short of a full 5.

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