From meraki
Use this skill when working with Cisco Meraki device inventory and lifecycle -- listing devices in a network, getting a device by serial, rebooting, removing, and checking device/uplink status via meraki_raw_request across MX, MS, MR, MV, MG, and MT hardware.
How this skill is triggered — by the user, by Claude, or both
Slash command
/meraki:devicesWhen to use
When working with Meraki device inventory and lifecycle -- list, get by serial, reboot, remove, and check device or uplink status. Use when: meraki device, meraki serial, meraki inventory, meraki reboot, device status, device offline, meraki uplink, device lifecycle, claim device, or remove device.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Meraki devices are cloud-managed hardware identified by an immutable **serial number** (format `Q2XX-XXXX-XXXX`). Devices are claimed into an organization's inventory, then assigned to a network. This skill covers listing, inspecting, rebooting, and removing devices, plus reading device and uplink status through the `meraki_raw_request` passthrough.
Meraki devices are cloud-managed hardware identified by an immutable serial number (format Q2XX-XXXX-XXXX). Devices are claimed into an organization's inventory, then assigned to a network. This skill covers listing, inspecting, rebooting, and removing devices, plus reading device and uplink status through the meraki_raw_request passthrough.
Every device operation keys off the serial number, not a name or internal ID. Names (name field) are optional, mutable, and non-unique across a network. Always resolve to a serial before acting.
| Line | Product | Notes |
|---|---|---|
| MX | Security appliance / SD-WAN | Firewall, VPN, WAN uplinks |
| MS | Switch | Ports, PoE, VLANs, port statuses |
| MR | Wireless access point | SSIDs, RF, radio status |
| MV | Smart camera | Video, snapshots (raw_request) |
| MG | Cellular gateway | LTE/5G uplink (raw_request) |
| MT | Environmental sensor | Temp/humidity/water/power (raw_request) |
meraki_organizations_inventory_list) is the pool of all hardware claimed to the org -- including devices not yet assigned to any network.meraki_devices_list) are the subset assigned to a specific network.A device can be in inventory but unassigned. Removing a device from a network (meraki_devices_remove) returns it to inventory; it is not the same as deleting the network.
meraki_organizations_inventory_list
Parameters:
organization_id -- The org to list inventory for (required unless MERAKI_ORG_ID is set)Returns each device's serial, model, MAC, product type, network assignment (or null if unassigned), and claim/license state.
meraki_devices_list
Parameters:
network_id -- The network to list devices for (required)meraki_devices_get
Parameters:
serial -- The device serial (required)Example response:
{
"serial": "Q2XX-XXXX-XXXX",
"name": "HQ-MX-01",
"model": "MX68",
"mac": "00:11:22:33:44:55",
"networkId": "L_123456789012345678",
"productType": "appliance",
"tags": ["hq", "primary"],
"lanIp": "192.168.1.1",
"firmware": "wired-18-107"
}
meraki_devices_reboot
Parameters:
serial -- The device to reboot (required)Returns { "success": true } when the reboot is queued. The device drops offline briefly, then reconnects to the Dashboard cloud.
meraki_devices_remove
Parameters:
serial -- The device to remove (required)confirm_destructive_action -- Must be true (required)This unassigns the device from its network and returns it to org inventory. It is a destructive operation and requires explicit confirmation.
The curated device tools do not include a status endpoint. Use meraki_raw_request for status and uplink data:
meraki_raw_request
method: GET
path: /organizations/{organizationId}/devices/statuses
Returns each device's status (online, offline, alerting, dormant), lastReportedAt, and publicIp. This is the most rate-efficient way to find offline/alerting devices across an entire org -- prefer it over looping per device.
meraki_raw_request
method: GET
path: /organizations/{organizationId}/appliance/uplink/statuses
Returns per-MX WAN interface status (active, ready, failed, not connected) for WAN1/WAN2/cellular -- useful for spotting failed-over or down uplinks.
meraki_raw_request
method: GET
path: /networks/{networkId}/appliance/uplinks/statuses
meraki_raw_request GET /organizations/{organizationId}/devices/statusesstatus in (offline, alerting, dormant)meraki_devices_get (name, model, network)meraki_organizations_inventory_listmodel and firmwaremeraki_devices_getmeraki_devices_reboot only after explicit user confirmationonlinemeraki_devices_getmeraki_devices_remove with confirm_destructive_action=truemeraki_organizations_inventory_listCause: Wrong serial, or the device is not assigned to the network you queried
Solution: Verify the serial via meraki_organizations_inventory_list; check network assignment
Cause: For remove, confirm_destructive_action was not true; or the account lacks write permission
Solution: Set the confirmation flag after user approval; verify the API key's admin role (403)
Cause: lastReportedAt is old -- the device may be offline or the cloud has not polled recently
Solution: Cross-check with uplink statuses; a device offline for its full check-in interval is genuinely down
/organizations/.../devices/statuses) instead of per-device polling to conserve the ~10 req/s budgetmeraki_devices_removefirmware and model for lifecycle and upgrade planningnpx claudepluginhub wyre-technology/msp-claude-plugins --plugin merakiCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.