Skip to content
SZ-MCP
Get Support

Inventory, tags and locations

The inventory is SZ-MCP’s map of your controller: domains, zones, AP groups, WLANs, APs and radios, switch groups, switches, ports, what each port connects to (from LLDP), and Wi-Fi clients. Your team adds tags, locations and critical devices on top. Claude reads it through the inventory.* functions in code mode without calling the controller, and metrics, alert rules and boards all name things by its ids.

A first sync reads the controller once; after that it refreshes every hour. The first sync happens in step 3 of the setup checklist, with Sync now on the dashboard’s Inventory card (engineers and above), or when Claude runs inventory.sync(). A sync only reads: about 10 calls plus one per zone and per domain. It lists up to 5,000 Wi-Fi clients by default.

The Hourly refresh switch on the Inventory card (admin) turns the refresh on or off. If the controller refuses the saved login, the refresh pauses until the credentials are updated, so it never keeps retrying a bad password against SmartZone’s lockout.

A sync run by Claude stops before the code-mode run budget runs out and reports truncated. Run it again, or let the hourly refresh finish the job.

Every entity has an id that metrics, alerts and boards use:

EntityId
APap:<MAC>
Radioradio:<MAC>:<band>
Switchswitch:<MAC>
Portport:<switch MAC>/1/1/5
Wi-Fi client / wired clientclient:<MAC> / wired_client:<MAC>
Registered devicedevice:<MAC>
Zone, AP group, domain, switch groupzone:<uuid>, apgroup:<uuid>, domain:<uuid>, switchgroup:<uuid>
WLANwlan:<zone uuid>:<wlanId> (its SSID is in info.ssid)
Locationlocation:<slug path>, e.g. location:dc1/hall-b

The inventory also holds the cluster, its nodes, and the certificates, licences and licence pools read for expiry metrics. A bare MAC works wherever an id is expected.

FunctionWhat it doesRole
syncRefresh from the controllerAny
statusSize by type, links, tagged entities, and how the last sync wentAny
findFind by type, container (within), tags, text (id, MAC, name) or status; 100 results by default, up to 1,000Any
describeEverything about one entity: its path, effective location and tags (and where each came from), children, links, what it physically depends on, recent changesAny
neighborsThe entities around one, 1 to 3 hops outAny
changesThe change feed: added, removed, returned, renamed, moved, changed (model, serial, IP, firmware), linked, unlinked, tagged, located, labelled. Clients are left outAny
locationsThe location tree with counts and tagsAny
tagSet or clear tags on entitiesEngineer or above
add_location / remove_locationCreate a location, or delete an empty oneEngineer or above
set_locationPlace entities in a location, or unplace themEngineer or above
add_device / remove_deviceRegister or unregister a critical device by MACEngineer or above

Viewers and operators who ask for a change get write_blocked, naming the roles that can.

Ask, for example: “Which APs in Hall B are offline?”, “What is switch port 1/1/5 on the core switch connected to?” or “What changed in the inventory this week?”

Tags are free-form key/value pairs, such as criticality: high, owner: facilities or facility: yes. Claude sets up to 20 at a time on a list of ids or on everything a selector matches; a value of null clears one.

Tags are inherited. A tag on a zone, AP group, switch or location applies to everything under it; the nearest one wins. Metrics carry tags as tag_<key> labels, alert rules and boards can select on them, and the starter pack’s rogue-facility-ssid rule watches WLANs tagged facility: yes.

Locations are your own physical tree, independent of SmartZone’s zones and groups. Levels are campus, site, building, floor, hall, room, row and rack, and an id is the slug path, e.g. location:dc1/hall-b.

Placing an entity places everything under it, so placing a zone or AP group places its APs. A location’s tags are inherited by what is placed in it, and within: 'location:…' works in find, metrics, alert rules, downtime and boards. A location can only be deleted once it has no sub-locations; entities placed in it are then unplaced.

A device you care about that isn’t managed by SmartZone — a badge reader, camera or building-management controller — registered by MAC with a name, tags and a location. It stays in the inventory even when it isn’t seen, and describe shows where it is connected now: as a Wi-Fi client, on a switch port, or as an LLDP neighbour. SZ-MCP warns when the MAC is randomised, since a private MAC can change.

A presence alert rule raises a problem when a registered device isn’t seen.