Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Cisco Meraki Monitoring & Diagnostics — live ping, cable test, LED blink, wake-on-LAN, camera analytics, config change tracking. Use when running ping tests from Meraki devices, troubleshooting switch port cables, blinking LEDs to identify hardware, checking camera analytics, or auditing Meraki config changes
.claude/skills/automateyournetwork-meraki-monitoring/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 68% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 182% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 2% | 0% |
https://mcp.meraki.com/mcp (remote HTTP, no local install)MERAKI_DASHBOARD_API_KEY — use a read-only dashboard keysemantic_search (discover) and execute_api (invoke)All 431 mutating Meraki operations (174 POST, 186 PUT, 71 DELETE) are absent from the capability catalogue. Only non-deprecated GETs are built in, so updateNetwork, rebootDevice, blinkDeviceLeds and friends return Capability not found.
Do not attempt writes and do not offer them. There is no ServiceNow CR path here because there is nothing to gate — a change must be made in the Meraki dashboard directly.
Two capability IDs may be called directly; everything else must be discovered:
execute_api → getOrganizations — find accessible org IDsexecute_api → getOrganizationNetworks — find network IDs in the chosen orgsemantic_search → describe the intent in words → returns ranked capability_idsexecute_api → the chosen capability_id + its required parametersDiscover, do not guess. An earlier version of this skill hardcoded 80 method names and 54 of them did not exist in the Meraki API at all — they failed regardless of server. semantic_search is the guard against that: it can only return IDs that exist.
execute_api returns a single page. Request a bounded page size whensupported, and never present a page as the complete dataset.
n=0 means this network reported none, never none exist.Live proof from a real sandbox org: getOrganizationDevices returns 0 devices while the same org has a fully configured network with 15 SSIDs.
| Error | Meaning | Fix | |---|---|---| | Capability not found | ID is mutating, deprecated, or invented | semantic_search for a real one | | Resource not found | valid ID, wrong org/network/serial | re-derive the ID from step 1–2 | | Invalid parameters | valid ID, missing a required parameter | read the capability's parameters |
Never report any of the three as "no data" — none of them mean that.
Live-verified against a real org:
| Capability ID | Verified result | |---|---| | getOrganizationConfigurationChanges | 3 change records | | getOrganizationApiRequestsOverview | API request analytics present | | getOrganizationLicensesOverview | licensing (co-term) present | | getOrganizationDevices | 0 devices | | getOrganizationInventoryDevices | 0 inventory | | getOrganizationDevicesStatuses | Capability not found — deprecated upstream |
That last row matters: 8 deprecated GETs are filtered out of the catalogue. A Capability not found on a name you remember working means it was deprecated, not that the data is gone — semantic_search for the current equivalent.
There are 56 real monitoring capabilities, including getDeviceLossAndLatencyHistory, getOrganizationDevicesAvailabilities, getOrganizationDevicesUplinksLossAndLatency, getDeviceLiveToolsPing, getDeviceLiveToolsCableTest, getDeviceLiveToolsArpTable, getDeviceLiveToolsMacTable, getDeviceLiveToolsThroughputTest.
Live tools are GET-only here — you can read results, not start runs. Starting a live tool is a POST, which does not exist in this catalogue. Read existing results, or start the run from the dashboard.
getOrganizations → getOrganizationNetworksgetOrganizationDevices — if 0, report "no devices reported by this org" and stop.Do not present an empty inventory as a healthy one.
semantic_search "device availability across the organization" → invoke itsemantic_search "uplink loss and latency across the organization" → invoke itgetOrganizationLicensesOverview — licence state and expirynot a measurement.
When something broke and nobody knows why:
getOrganizationConfigurationChanges — who changed what, when (one page only)getOrganizationApiRequestsOverview — was the change made by an integration, not a human?a cause, and saying otherwise has sent operators down the wrong path before.
Capability not found on a familiar name means deprecated — search for the successor.| Skill | How They Work Together | |-------|----------------------| | meraki-network-ops | Network and device context for health checks | | meraki-switch-ops | Port-level errors behind an uplink problem | | servicenow-change-workflow | Correlate Meraki config changes against CRs | | slack-network-alerts | Report degradation to the operator channel | | gait-session-tracking | Record all health checks |
MERAKI_DASHBOARD_API_KEY — Meraki Dashboard API key (read-only recommended)Other measured skills in the registry, with their headline benchmark lift.