Cisco Hyperfabric MCP

Un servidor MCP que permite a los LLMs interactuar con las APIs de Cisco Intersight.

Documentación

Servidor MCP de Hyperfabric

Un servidor MCP (Model Context Protocol) que permite a los LLMs interactuar con las APIs de Hyperfabric. Este servidor expone los 79 endpoints de OpenAPI de Hyperfabric como herramientas para la gestión integral de infraestructura y automatización.

🔧 Generación dinámica de herramientas: Analiza automáticamente las especificaciones OpenAPI de Hyperfabric y crea herramientas MCP
🛡️ Autenticación segura: Maneja la autenticación de tokens de API de Hyperfabric con la seguridad adecuada
📊 Cobertura completa de API: Expone los 79 endpoints disponibles de Hyperfabric para la gestión de infraestructura
✨ Nombres de herramientas limpios: Las herramientas se muestran con nombres intuitivos como fabricsGetAllFabrics para facilitar su descubrimiento

Requisitos previos

  • Node.js 18+ instalado
  • VSCode con GitHub Copilot o Claude Desktop
  • Credenciales de API de Hyperfabric (API Token)
  • Archivo de especificación OpenAPI de Hyperfabric

1. Compilar el servidor

npm install
npm run build

2. Configurar el cliente LLM

Para VSCode con GitHub Copilot

  1. Abra la configuración de VSCode: Cmd+Shift+P → "Preferences: Open User Settings (JSON)"

  2. Agregue esta configuración a su settings.json:

{
  "github.copilot.chat.mcp.servers": {
    "hyperfabric": {
      "command": "node",
      "args": ["/path/to/hyperfabric-mcp-server/dist/main.js"],
      "env": {
        "HYPERFABRIC_API_TOKEN": "your-api-token",
        "LOG_LEVEL": "info"
      }
    }
  }
}
  1. Recargue VS Code: Cmd+Shift+P → "Developer: Reload Window"

Para Claude Desktop

  1. Localice su archivo de configuración de Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Agregue esta configuración a claude_desktop_config.json:

{
  "mcpServers": {
    "hyperfabric": {
      "command": "node",
      "args": ["/path/to/hyperfabric-mcp-server/dist/main.js"],
      "env": {
        "HYPERFABRIC_API_TOKEN": "your-api-token",
        "LOG_LEVEL": "info"
      }
    }
  }
}
  1. Reinicie la aplicación Claude Desktop

Hyperfabric MCP Configuration

Hyperfabric MCP Setup

Hyperfabric MCP Setup

Herramientas y capacidades disponibles

El servidor MCP genera automáticamente 79 herramientas a partir de la especificación completa de Nexus Hyperfabric REST API v1.1.0:

Autenticación y gestión de usuarios (9 herramientas)

  • Gestión de tokens Bearer: Autenticación segura de API

    • authGetBearerTokens - Listar todos los tokens Bearer del usuario
    • authCreateBearerTokens - Crear nuevos tokens Bearer
    • authGetBearerToken - Obtener detalles de un token Bearer específico
    • authDeleteBearerToken - Eliminar un token Bearer específico
  • Gestión de usuarios: Operaciones de cuentas de usuario

    • authGetUsers - Listar todos los usuarios de la organización
    • authGetUser - Obtener detalles de un usuario específico
    • authSetUsers - Crear o actualizar usuarios
    • authUpdateUser - Actualizar un usuario existente
    • authDeleteUser - Eliminar una cuenta de usuario

🖥️ Gestión de dispositivos (3 herramientas)

  • Operaciones de dispositivos: Gestión y vinculación de dispositivos físicos
    • devicesGetDevices - Listar todos los dispositivos (vinculados y no vinculados)
    • devicesBindDevice - Vincular un dispositivo a un nodo de fabric
    • devicesUnbindDevice - Desvincular dispositivo de un nodo de fabric

🏗️ Gestión de fabric (16 herramientas)

  • Configuración de fabric: Operaciones principales de fabric

    • fabricsGetAllFabrics - Listar todos los fabrics de la organización
    • fabricsAddFabrics - Crear nuevos fabrics
    • fabricsGetFabric - Obtener detalles de un fabric específico
    • fabricsUpdateFabric - Actualizar la configuración del fabric
    • fabricsDeleteFabric - Eliminar un fabric
  • Gestión de conexiones: Conexiones de red del fabric

    • fabricsGetFabricConnections - Listar todas las conexiones del fabric
    • fabricsAddFabricConnections - Agregar nuevas conexiones
    • fabricsGetFabricConnection - Obtener detalles de una conexión específica
    • fabricsSetFabricConnections - Reemplazar todas las conexiones
    • fabricsDeleteFabricConnections - Eliminar todas las conexiones
    • fabricsDeleteFabricConnection - Eliminar una conexión específica
  • Gestión de configuración: Configuraciones candidatas y despliegue

    • fabricsGetFabricCandidates - Listar configuraciones candidatas
    • fabricsGetFabricCandidate - Obtener una configuración candidata específica
    • fabricsCommitFabricCandidate - Desplegar candidata a configuración en ejecución
    • fabricsRevertFabricCandidate - Descartar configuración candidata
    • fabricsReviewFabricCandidate - Agregar comentarios a la configuración candidata

🌐 Configuración de red (3 herramientas)

  • Protocolo Spanning Tree: Configuración global de STP
    • networksGetFabricStp - Obtener configuración STP del fabric
    • networksUpdateFabricStp - Actualizar ajustes de STP
    • networksResetFabricStp - Restablecer STP a valores predeterminados

Gestión de nodos (25 herramientas)

  • Operaciones de nodos: Configuración de nodos del fabric

    • nodesGetFabricNodes - Listar todos los nodos del fabric
    • nodesAddFabricNodes - Agregar nuevos nodos al fabric
    • nodesGetNamedFabricNode - Obtener detalles de un nodo específico
    • nodesUpdateFabricNode - Actualizar configuración del nodo
    • nodesDeleteFabricNode - Eliminar nodo del fabric
  • Gestión de puertos: Configuración de puertos del nodo

    • nodesGetPorts - Listar todos los puertos de un nodo
    • nodesGetPort - Obtener detalles de un puerto específico
    • nodesUpdatePort - Actualizar configuración del puerto
    • nodesSetPorts - Reemplazar todas las configuraciones de puertos
    • nodesResetPort - Restablecer puerto a valores predeterminados
  • Puertos de gestión: Interfaces de gestión fuera de banda

    • nodesGetManagementPorts - Listar puertos de gestión
    • nodesAddManagementPorts - Agregar puertos de gestión
    • nodesGetManagementPort - Obtener un puerto de gestión específico
    • nodesUpdateManagementPort - Actualizar configuración del puerto de gestión
  • Interfaces loopback: Interfaces virtuales para enrutamiento

    • nodesGetNodeLoopbacks - Listar interfaces loopback
    • nodesAddNodeLoopbacks - Crear interfaces loopback
    • nodesGetNodeLoopback - Obtener detalles de un loopback específico
    • nodesUpdateNodeLoopback - Actualizar configuración del loopback
    • nodesDeleteNodeLoopback - Eliminar interfaz loopback
  • Sub-interfaces: Configuración de VLAN y sub-interfaces

    • nodesGetNodeSubInterfaces - Listar sub-interfaces
    • nodesAddNodeSubInterfaces - Crear sub-interfaces
    • nodesGetNodeSubInterface - Obtener una sub-interfaz específica
    • nodesUpdateNodeSubInterface - Actualizar configuración de sub-interfaz
    • nodesDeleteNodeSubInterface - Eliminar sub-interfaz

Gestión de port channels (5 herramientas)

  • Agregación de enlaces: Operaciones de port channels
    • portchannelsGetAllPortChannels - Listar todos los port channels
    • portchannelsAddPortChannels - Crear port channels
    • portchannelsGetPortChannel - Obtener un port channel específico
    • portchannelsUpdatePortChannel - Actualizar configuración del port channel
    • portchannelsDeletePortChannel - Eliminar port channel

🏷️ Gestión de VNI (9 herramientas)

  • Identificadores de red virtual: Segmentación de red VXLAN

    • vnisGetFabricVnis - Listar todos los VNIs del fabric
    • vnisAddFabricVnis - Crear nuevos VNIs
    • vnisGetFabricVni - Obtener detalles de un VNI específico
    • vnisUpdateFabricVni - Actualizar configuración del VNI
    • vnisDeleteFabricVni - Eliminar VNI
  • Membresía VNI: Gestión de interfaces miembro

    • vnisGetFabricVniMembers - Listar miembros del VNI
    • vnisAddFabricVniMembers - Agregar miembros al VNI
    • vnisGetFabricVniMember - Obtener detalles de un miembro específico
    • vnisDeleteFabricVniMember - Eliminar miembro del VNI

###️ Gestión de VRF (9 herramientas)

  • Enrutamiento y reenvío virtual: Aislamiento de red de capa 3

    • vrfsGetFabricVrfs - Listar todos los VRFs del fabric
    • vrfsAddFabricVrfs - Crear nuevos VRFs
    • vrfsGetFabricVrf - Obtener detalles de un VRF específico
    • vrfsUpdateFabricVrf - Actualizar configuración del VRF
    • vrfsDeleteFabricVrf - Eliminar VRF
  • Enrutamiento estático: Gestión de rutas estáticas dentro de los VRFs

    • vrfsGetFabricStaticRoutes - Listar rutas estáticas en el VRF
    • vrfsAddFabricStaticRoutes - Agregar rutas estáticas
    • vrfsGetFabricStaticRoute - Obtener detalles de una ruta específica
    • vrfsUpdateFabricStaticRoute - Actualizar ruta estática
    • vrfsDeleteFabricStaticRoute - Eliminar ruta estática

Variables de entorno

VariableDescripciónPredeterminadoRequerido
HYPERFABRIC_API_TOKENSu token de API de Hyperfabric-
LOG_LEVELNivel de registro (debug, info, warn, error)info
OPENAPI_SPEC_PATHRuta al archivo de especificación OpenAPIhf_spec_modified.json

Configuración de desarrollo

Estructura del proyecto

hyperfabric-mcp-server/
├── src/main.ts                                                    # Main server implementation
├── dist/                                                          # Compiled JavaScript
├── .vscode/                                                       # VS Code configuration
├── package.json                                                   # Dependencies & scripts
├── tsconfig.json                                                  # TypeScript config
├── hf_spec_modified.json                                          # Complete Nexus Hyperfabric REST API v1.1.0 spec
├── cisco_nexus_hyperfabric_rest_api_1_1_0_rev_2025_10_29_838_c_8.yaml # Original YAML spec file
└── README.md                                                      # This documentation

Solución de problemas

Problemas comunes

Falta el token de API

# Check environment file
cat .env | grep HYPERFABRIC_API_TOKEN

Falta la especificación OpenAPI

# Verify spec file exists
ls -la hf_spec_modified.json

Errores de compilación

# Check compilation
npm run build