check_device_sync
Check the sync status for a specific device in Cisco NSO. Requires a 'device_name' parameter.
Ask a Cisco NSO instance what it knows about a device — platform, full configuration, state, sync status — and pull a drifted device back into sync from the conversation.
LABSCO SUMMARY
Arguments arrive through a single 'params' object rather than named fields, and the key that call needs is stated in the description — 'device_name' for the per-device tools, 'service_type' for get_services — so a caller has to read the description to construct the request. What that buys is the investigative work of an NSO session without a shell: get_device_config and get_device_state answer what is on the box, check_device_sync answers whether NSO agrees, and sync_from_device closes the gap. Nothing here creates or modifies a service, so an agent given this can investigate a network it cannot reconfigure.
A server fronting a Cisco NSO instance, exposing its device inventory, per-device configuration and state, service catalogue and the sync-from operation.
A reachable Cisco NSO instance at a known address and port, an NSO username and password for it, and a file path for LOG_FILE.
One command plus credentials — pip install cisco-nso-mcp-server, then supply credentials
USE CASES
Ask NSO for its sync verdict on the device, read the configuration it is holding, and pull the device's own state back in when the two have drifted apart.
Read what the instance already knows — how devices are grouped, which drivers are loaded, and what services it is set up to render.
Pull what the device is, what it is doing now, and what configuration it is running, without opening a session to it yourself.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
check_device_syncCheck the sync status for a specific device in Cisco NSO. Requires a 'device_name' parameter.
get_device_configRetrieve the full configuration for a specific device in Cisco NSO. Requires a 'device_name' parameter.
get_device_groupsRetrieve the available device groups in Cisco NSO.
get_device_ned_idsRetrieve the available Network Element Driver (NED) IDs in Cisco NSO.
get_device_platformRetrieve platform information for a specific device in Cisco NSO. Requires a 'device_name' parameter.
get_device_stateRetrieve the state for a specific device in Cisco NSO. Requires a 'device_name' parameter.
get_service_typesRetrieve the available service types in Cisco NSO.
get_servicesRetrieve the available services in Cisco NSO. Requires a 'service_type' parameter.
sync_from_deviceSync from a specific device in Cisco NSO. Requires a 'device_name' parameter.
BEFORE YOU INSTALL
9 tools when we connected. Eight tools read; the only state-changing one is sync_from_device. You cannot deploy or modify services or devices.
Both documented setups run the server on your machine.
CONTEXT COST
Rated by the size of the 9 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
pip install cisco-nso-mcp-server{
"mcpServers": {
"nso": {
"command": "uvx",
"args": [
"cisco-nso-mcp-server",
"--nso-address=127.0.0.1",
"--nso-port=8080",
"--nso-username=admin",
"--nso-password=admin"
],
"env": {
"LOG_FILE": "<YOUR_PATH_TO_LOGS>/nso-mcp.log"
}
}
}
}Both blocks pass the NSO login as --nso-username and --nso-password, filled with the README's defaults (admin / admin), and point at 127.0.0.1:8080; yours are your own NSO's address, port, username and password. The env block is optional — LOG_FILE only adds logging to a file.
{
"mcpServers": {
"nso": {
"command": "<YOUR_PATH_TO_ENV>/bin/cisco-nso-mcp-server",
"args": [
"--nso-address=127.0.0.1",
"--nso-port=8080",
"--nso-username=admin",
"--nso-password=admin"
],
"env": {
"LOG_FILE": "<YOUR_PATH_TO_LOGS>/nso-mcp.log"
}
}
}
}Both blocks pass the NSO login as --nso-username and --nso-password, filled with the README's defaults (admin / admin), and point at 127.0.0.1:8080; yours are your own NSO's address, port, username and password. The env block is optional — LOG_FILE only adds logging to a file.