- Home
- MCP servers
- Cisco NSO
Cisco NSO
- python
8
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"nso-developer-cisco-nso-mcp-server": {
"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": "/path/to/your/logs/nso-mcp.log",
"MCP_HOST": "0.0.0.0",
"MCP_PORT": "8000",
"NSO_PORT": "8080",
"NSO_SCHEME": "http",
"NSO_VERIFY": "True",
"NSO_ADDRESS": "127.0.0.1",
"NSO_TIMEOUT": "10",
"NSO_PASSWORD": "admin",
"NSO_USERNAME": "admin",
"MCP_TRANSPORT": "stdio",
"NSO_CA_BUNDLE": "/path/to/ca-bundle.pem"
}
}
}
}You can run a Cisco NSO MCP Server to expose NSO data and operations as MCP primitives, enabling AI-powered automation through a standardized interface. This server supports a tool-first design, asynchronous processing, and flexible logging, making it practical to integrate NSO workflows with MCP-compatible clients.
How to use
You connect to the server using any MCP client that supports the chosen transport. The server exposes a set of tools that let you query NSO data (such as device lists, configurations, states, and service types) and execute NSO-related actions (like syncing from devices or retrieving configurations). The tools return structured results that you can feed into automation prompts or AI workflows to drive network operations.
How to install
# Prerequisites
- Python 3.12+
- Access to a Cisco NSO RESTCONF API
- Network connectivity to NSO RESTCONF
# Install the MCP server package from PyPI
pip install cisco-nso-mcp-server
# Run the server with default NSO connection parameters
cisco-nso-mcp-server
# Or run with explicit NSO connection parameters
cisco-nso-mcp-server --nso-scheme=http --nso-address=127.0.0.1 --nso-port=8080 --nso-username=admin --nso-password=admin
Configuration options
Configure how the MCP server connects to NSO and how the MCP server itself runs. You can set NSO connection details via command-line arguments or environment variables. You can also choose the transport for MCP communication (stdio by default, or HTTP). Logging can be directed to stdout and/or a file using an environment variable.
Security and logging notes
Use TLS/HTTPS for NSO connections in production (verify NSO certificates). If you run with a self-signed certificate for development, disable verification with the appropriate flag. Configure logging to stdout and a file if you need persistent logs, and ensure log files are secured.
Troubleshooting tips
If the MCP server cannot reach NSO RESTCONF, verify network connectivity, correct NSO host/port, and credentials. Check that RESTCONF is enabled in NSO and that the NSO user has sufficient permissions. Review logs for connection errors and authentication failures.
Notes
The server is designed to work asynchronously and to present NSO operations as discrete tools. Environment-based configuration is supported, and you can run the server in standalone mode or connect to it via MCP clients using stdio or HTTP transport.
Available tools
get_device_ned_ids
Retrieves Network Element Driver (NED) IDs from Cisco NSO
get_device_groups
Retrieves device groups from Cisco NSO
get_device_platform
Gets platform information for a specific device in Cisco NSO
get_device_config
Gets full configuration for a specific device in Cisco NSO
get_device_state
Gets state for a specific device in Cisco NSO
check_device_sync
Checks sync status for a specific device in Cisco NSO
sync_from_device
Syncs from a specific device in Cisco NSO
get_service_types
Gets service types in Cisco NSO
get_services
Gets services for a specific service type in Cisco NSO