Labsco
beye91 logo

Nexus Dashboard

β˜… 9

from beye91

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.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

Nexus Dashboard MCP Server

License Docker Python Next.js

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.

Features

Core Capabilities

  • Complete API Coverage: Access to 638+ operations across 5 Nexus Dashboard APIs

    • Manage API (146 endpoints): Fabrics, switches, VLANs, VRFs, networks, interfaces
    • Analyze API: Telemetry, insights, anomalies, compliance
    • Infrastructure API: System health, licensing, user management
    • OneManage API: Device inventory, topology
    • Orchestration API: Workflows and automation
  • Security First:

    • HTTPS with self-signed certificates (auto-generated)
    • Multi-user authentication with role-based access control (RBAC)
    • Read-only mode by default with explicit edit mode enablement
    • Fernet-encrypted credential storage
    • Complete audit logging with client IP tracking
    • Granular operation whitelisting per role
  • Web Management UI:

    • Next.js-based management interface with HTTPS
    • User and role management
    • Real-time system health monitoring
    • Audit log viewer with CSV export
    • Cluster management with connection testing
    • Security configuration dashboard
    • API guidance and workflow management
  • Enterprise Ready:

    • PostgreSQL database for persistence
    • Docker-based deployment with host networking
    • Complete audit trail for compliance
    • LDAP integration support

Architecture

Copy & paste β€” that's it
                      External Clients
                  (Browser, Claude Desktop)
                           |
                    [HTTPS/TLS]
                           |
           +---------------+---------------+
           |                               |
      Port 7443                       Port 8444
           |                               |
+----------+----------+    +---------------+--------------+
|       Web UI        |    |           Web API            |
|      (Next.js)      |--->|          (FastAPI)           |
|      HTTPS Proxy    |    |  +----------+  +---------+   |
+---------------------+    |  | REST API |  | MCP SSE |   |
                           |  +----------+  +---------+   |
                           +---------------+--------------+
                                           |
                    +----------------------+----------------------+
                    |                      |                      |
           +--------+--------+    +--------+--------+    +--------+--------+
           |   PostgreSQL    |    |   MCP Server    |    | Nexus Dashboard |
           |   Port 15432    |    |   (stdio)       |    |   Clusters      |
           +-----------------+    +-----------------+    +-----------------+

Certificate Volume: /app/certs/ (auto-generated on first startup)

Port Summary

ServicePortProtocolDescription
Web UI7443HTTPSManagement interface
Web API8444HTTPSREST API and MCP SSE endpoint
PostgreSQL15432TCPDatabase (mapped from 5432)
Internal HTTP8001HTTPInternal proxy communication

Environment Variables

Required for Production

Create a .env file with:

Copy & paste β€” that's it
# Your server's IP address (for SSL certificate SAN)
CERT_SERVER_IP=192.168.1.213

# Security (generate unique keys for production)
ENCRYPTION_KEY=your-unique-fernet-key
SESSION_SECRET_KEY=your-random-secret-key

# Optional: Nexus Dashboard defaults (can be configured via Web UI)
NEXUS_CLUSTER_URL=https://nexus-dashboard.example.com
NEXUS_USERNAME=admin
NEXUS_PASSWORD=YourPassword

Generate Encryption Key:

Copy & paste β€” that's it
python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

Optional Variables

Copy & paste β€” that's it
# SSL Certificate Configuration
CERT_DAYS=365                    # Certificate validity (default: 365)
CERT_CN=nexus-dashboard          # Certificate common name

# Security
EDIT_MODE_ENABLED=false          # Enable write operations
MCP_API_TOKEN=your-token         # Optional: Require token for MCP access

# Logging
LOG_LEVEL=INFO                   # DEBUG, INFO, WARNING, ERROR

Security

HTTPS Configuration

Self-signed certificates are automatically generated on first startup:

  • Stored in Docker volume nexus-mcp-certs
  • Valid for 365 days (configurable via CERT_DAYS)
  • Includes localhost, 127.0.0.1, and your server IP in SAN

To regenerate certificates:

Copy & paste β€” that's it
docker volume rm nexus-mcp-certs
docker compose up -d

Multi-User RBAC

The platform supports multiple users with role-based access control:

  • Admin Role: Full access to all operations
  • Operator Role: Read access + specific write operations
  • Viewer Role: Read-only access

Users can be managed through the Web UI under Security > Users.

Best Practices

  1. Change default admin password after initial setup
  2. Keep EDIT_MODE_ENABLED=false unless write operations are needed
  3. Use strong encryption keys for production
  4. Review audit logs regularly for unauthorized activity
  5. Limit network access to the server

Documentation

Development

Local Development Setup

Copy & paste β€” that's it
# Clone repository
git clone https://github.com/beye91/nexus-dashboard-mcp.git
cd nexus-dashboard-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Start database only
docker compose up postgres -d

# Run API locally
python src/api/web_api.py

# Run Web UI in dev mode
cd web-ui
npm install
npm run dev

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

  • Anthropic - For the Claude AI platform and MCP protocol
  • Cisco - For Nexus Dashboard APIs
  • FastMCP - For the excellent MCP framework

Made with care for network automation