Get the FREE Ultimate OpenClaw Setup Guide →

cisco-nso

MCP server from NSO-developer/cisco-nso-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio nso-developer-cisco-nso-mcp-server uvx 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"

How to use

This MCP server implementation exposes Cisco NSO data and operations as MCP primitives, including tools for retrieving NED IDs, device groups, platform information, device configurations and states, service types, and services. It uses a Python-based backend and RESTCONF under the hood to interact with NSO. Clients can discover and invoke these tools via MCP messages, enabling AI-driven automation workflows that query NSO, apply configurations, and monitor state. The server supports asynchronous operation, structured responses, and configurable logging for observability. To connect, choose a transport (stdio by default or HTTP if configured) and a compatible MCP client, such as Windsurf Cascade, to discover and call tools like get_device_config or sync_from_device, with inputs like device_name when required.

How to install

Prerequisites:

  • Python 3.12+ (as recommended by the project)
  • Cisco NSO with RESTCONF enabled and network reachability from the host running the MCP server
  • Optional: uv (uvx) or pip for installation

Installation steps (two common approaches):

  1. Install via uvx (recommended for uv-based execution):

    • Ensure you have uv installed and the package name 'cisco-nso-mcp-server' available on PyPI or your local index.
    • Run the server via UV:
      • uvx cisco-nso-mcp-server --nso-address=127.0.0.1 --nso-port=8080 --nso-username=admin --nso-password=admin
    • You can configure logging by setting the LOG_FILE environment variable, e.g. export LOG_FILE=/var/log/nso_mcp.log
  2. Install via pip and run the executable directly:

    • pip install cisco-nso-mcp-server
    • Run the server path directly (adjust to your environment):
      • /path/to/venv/bin/cisco-nso-mcp-server --nso-address=127.0.0.1 --nso-port=8080 --nso-username=admin --nso-password=admin
    • Optional: set LOG_FILE to enable file logging

Configuration hints:

  • If you use HTTP transport, you will need to configure MCP_HOST and MCP_PORT as described in the README, and pass them via command-line or environment variables.
  • The NSO connection parameters (scheme, address, port, username, password, verify, ca bundle) can be overridden via command-line options or environment variables as documented in the README.

Additional notes

Tips and common considerations:

  • The server relies on NSO RESTCONF; ensure RESTCONF is enabled and accessible from the MCP server host.
  • Logging can be directed to stdout and a file when LOG_FILE is set; if the log file cannot be created, the server will fall back to stdout with an error message.
  • When using HTTP transport, ensure the host/port are not blocked by firewalls and that the MCP client supports the chosen transport.
  • Environment variables take precedence over defaults but can be overridden by CLI arguments; plan initialization accordingly.
  • For production deployments, consider running behind a process manager and securing NSO credentials properly (avoid hard-coding passwords).

Related MCP Servers

Sponsor this space

Reach thousands of developers