workspace/skills/nso-device-ops/SKILL.md
Cisco NSO device operations — config retrieval, state inspection, sync, platform info, NED IDs, device groups. Use when retrieving device configs from NSO, checking sync status, pulling platform inventory, or inspecting NSO device groups and NED drivers
npx skillsauth add automateyournetwork/netclaw nso-device-opsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
cisco-nso-mcp-server (pip-installed, stdio transport)NSO_ADDRESS, NSO_USERNAME, NSO_PASSWORD environment variablesNSO_SCHEME (default: http), NSO_PORT (default: 8080), NSO_VERIFY, NSO_TIMEOUT| Tool | Parameters | What It Does |
|------|-----------|-------------|
| get_device_config | device_name | Get the full configuration for a device from NSO's CDB |
| get_device_state | device_name | Get operational state data for a device (interfaces, counters, status) |
| check_device_sync | device_name | Check if NSO's copy of the device config is in sync with the actual device |
| sync_from_device | device_name | Pull the current config from the device into NSO's CDB (sync-from) |
| get_device_platform | device_name | Get platform info: model, OS version, serial number, hardware details |
| get_device_ned_ids | none | List all Network Element Driver (NED) IDs — shows what device types NSO can manage |
| get_device_groups | none | List all device groups defined in NSO |
| Resource URI | What It Returns |
|-------------|----------------|
| https://resources.cisco-nso-mcp.io/environment | NSO environment summary: device count, OS distribution, unique models, device series, group membership |
When a user asks "show me R1's config from NSO" or "what does NSO have for the core routers":
get_device_groups to see how devices are organizedget_device_config for each target deviceWhen a user asks "are my devices in sync?" or "is NSO up to date?":
check_device_sync for the target device(s)sync_from_device to pull current config from the device into NSOcheck_device_sync again to confirm sync is restoredWhen a user asks "what's in NSO?" or "show me the NSO inventory":
get_device_groups to see organizational structureget_device_ned_ids to see what device types are managedget_device_platform for specific devices of interestBefore making configuration changes:
get_device_config to capture the NSO baselinecheck_device_sync to ensure NSO is currentsync_from_device first to get the latest stateWhen a user needs hardware/software details:
get_device_platform for each device| Concept | Meaning | |---------|---------| | CDB | Configuration Database — NSO's copy of all device configs | | NED | Network Element Driver — plugin that translates between NSO's model and device CLI/NETCONF | | sync-from | Pull config from device into NSO CDB | | sync-to | Push NSO CDB config to device (not available in this MCP — use services instead) | | Device Group | Logical grouping of devices for bulk operations | | Service | NSO service instance that provisions config across devices (see nso-service-mgmt skill) |
| Scenario | Integration |
|----------|-------------|
| Config differs from NSO | Compare get_device_config (NSO) vs pyATS show running-config (live) |
| Device inventory audit | Compare get_device_platform (NSO) vs NetBox records |
| Pre-change validation | NSO config baseline → ServiceNow CR → pyATS apply → NSO sync verify |
| Vulnerability scanning | get_device_platform (OS version) → NVD CVE search |
| Config backup to GitHub | get_device_config → github-ops commit to repo |
check_device_sync firstNSO_SCHEME — http or https (default: http)NSO_ADDRESS — NSO server address (default: localhost)NSO_PORT — RESTCONF port (default: 8080)NSO_USERNAME — NSO username (default: admin)NSO_PASSWORD — NSO password (default: admin)NSO_VERIFY — Verify SSL certificate (default: true)NSO_TIMEOUT — Connection timeout in seconds (default: 10)testing
Human-in-the-loop escalation via HumanRail — route low-confidence agent decisions, pre-destructive operation approvals, and ambiguous incident tickets to real human engineers. Human answers are verified and returned as structured output. Workers are paid via Lightning Network. Use when the agent is uncertain, when a destructive change needs explicit human sign-off beyond a ServiceNow CR, or when an ambiguous ticket requires human triage before automated handling.
testing
Manage EVE-NG node lifecycle. Use when listing nodes, checking runtime state, creating or deleting nodes, starting or stopping nodes or whole labs, verifying node details, or wiping node NVRAM back to factory defaults.
development
Manage EVE-NG labs and platform inventory. Use when listing labs, checking lab metadata, creating or deleting labs, importing or exporting lab archives, checking EVE-NG health or auth, or verifying available node images before build work.
tools
Execute live CLI commands on running EVE-NG nodes over telnet console. Use when running show commands, making live config changes, verifying protocol state, testing connectivity, checking console readiness, or interacting with IOS, Junos, VPCS, EOS, or NX-OS nodes.