Cisco NSO MCP Server
About
An MCP server for Cisco NSO that exposes its data and operations as MCP primitives.
Details
- Author
- nso-developer
- Categories
- Developer Tools, Other, Infrastructure
- Tags
- #cisco
Jump to
Setup
Install Cisco NSO MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/nso-developer/cisco-nso-mcp-server
Follow the installation instructions in the repository README, then restart your MCP client.
A Model Context Protocol (MCP) server implementation forCisco NSO (Network Services Orchestrator)that exposes NSO data and operations as MCP primitives (Tools, Resources, etc.) that can be consumed by anMCP-compatible client, enabling AI-powered network automation through natural language interactions.
- Tool Definition: Structured way to define tools that AI models can use
- Tool Discovery: Mechanism for models to discover available tools
- Tool Execution: Standardized method for models to call tools and receive results
- Context Management: Efficient passing of context between tools and models
- Framework Agnostic: Works across multiple AI frameworks including OpenAI, Anthropic, Google Gemini, and others
- Interoperability: Provides a common language for AI systems to communicate with external tools
- Stdio Transport: By default, this MCP server uses stdio transport for process-bound communication
- Tool-First Design: Network operations are defined as discrete tools with clear interfaces
- Asynchronous Processing: All network operations are implemented asynchronously for better performance
- Structured Responses: Consistent response format with status, data, and metadata sections
- Environment Resources: Provides contextual information about the NSO environment
- NSO Integration: Usescisco-nso-restconflibrary for a clean, Pythonic interface to NSO's RESTCONF API
- Flexible Logging: Configurable logging to stdout and/or file via environment variables. When theLOG_FILEenvironment variable is set, logs are sent to both stdout and the specified file. If the log file cannot be created or written to, the server falls back to stdout-only logging with an error message
- Multiple Client Support: Works with any MCP-compatible client including Windsurf Cascade and custom Python applications
- https://resources.cisco-nso-mcp.io/environment: Provides a curated summary of the NSO environment:
- Device count, Operating System Distribution, Unique Operating System Count, Unique Model Count, Model Distribution, Device Series Distribution, Device Groups and Members
- Python 3.12+
- Cisco NSO with RESTCONF API enabled
- Network connectivity to NSO RESTCONF API
You can configure the server using command-line arguments or environment variables:
HTTP Transport Options (only used when --transport=http)
FastMCP HTTP Server reference: https://gofastmcp.com/deployment/http#http-deployment
Environment variables take precedence over default values but are overridden by command-line arguments.
Connecting to the Server with MCP Clients
You can connect to the server using any MCP client that supports the selected transport type. A few options are:
Windsurf Cascadesupports MCP serversthrough a configuration file. To use the Cisco NSO MCP server with Windsurf, add it to yourmcp_config.jsonfile.
When using uv, no specific installation is needed. You can useuvxto directly run the package:
{ "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": "/path/to/your/logs/nso-mcp.log" } } } }
Alternatively, you can installcisco-nso-mcp-servervia pip:
Now you can use the direct path to the executable:
{ "mcpServers": { "nso": { "command": "/path/to/your/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": "/path/to/your/logs/nso-mcp.log" } } } }
Replace/path/to/your/env/bin/cisco-nso-mcp-serverwith the actual path where youinstalled the package with pip. You can find this by runningwhich cisco-nso-mcp-serverif you installed it in your main environment, or by locating it in your virtual environment's bin directory.
In either case, theenvsection is optional. If you include it, you can specify theLOG_FILEenvironment variable to enable file logging.
Using in a custom MCP client Python application with stdio transport
A sample Python application is provided insample_stdio_client.pythat demonstrates how to connect to the MCP server locally and execute a tool.
While the server is typically used with anMCP client, you can also run it directly as a standalone process:
# Run with default NSO connection and MCP settings (see Configuration Options above for details) cisco-nso-mcp-server # Run with custom 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
When running as a standalone process with stdio transport, you'll need to pipe input/output to the process or use it with an MCP client that supports stdio transport.
This project is licensed under theMIT License. This means you can use, modify, and distribute the code, subject to the terms and conditions of the MIT License.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
A comprehensive MCP server for configuring and managing Cisco ACI (Application Centric Infrastructure) fabrics through the APIC REST API.
An MCP server that enables LLMs to interact with Cisco Intersight APIs.
Official Cisco MCP server for connecting AI agents to Meraki's cloud-managed networking solutions.
An MCP server for Cisco NSO (Network Services Orchestrator) that exposes NSO data and operations as MCP primitives.
Access Cisco Support APIs for bug searches and other support-related tasks.
A Python-based MCP server for Cisco's Meraki Dashboard, providing tools to query the API for discovering, monitoring, and managing your Meraki environment.
A comprehensive Model Context Protocol (MCP) server for Cisco Nexus Dashboard, enabling AI agents like Claude to interact with Nexus Dashboard APIs for intelligent network automation and management.
Connect to, configure, and monitor Cisco network devices like routers and switches via SSH.
Production-ready MCP server for AI-driven console automation and monitoring. 40+ tools for session management, SSH, testing, and background jobs.
Retrieves essential network information from devices using gNMI and OpenConfig models.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





