Cisco NSO

Exposes NSO data and operations as MCP primitives for AI-powered automation.
  • 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

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Cisco NSO MCP Server - nso-developer/cisco-nso-mcp-server | VeilStrat