Cisco Hyperfabric MCP

Um servidor MCP que permite que LLMs interajam com as APIs do Cisco Intersight.

Documentação

Servidor MCP Hyperfabric

Um servidor MCP (Model Context Protocol) que permite que LLMs interajam com as APIs da Hyperfabric. Este servidor expõe todos os 79 endpoints OpenAPI da Hyperfabric como ferramentas para gerenciamento abrangente de infraestrutura e automação.

🔧 Geração Dinâmica de Ferramentas: Analisa automaticamente as especificações OpenAPI da Hyperfabric e cria ferramentas MCP
🛡️ Autenticação Segura: Gerencia a autenticação de token da API Hyperfabric com segurança adequada
📊 Cobertura Completa da API: Expõe todos os 79 endpoints disponíveis da Hyperfabric para gerenciamento de infraestrutura
✨ Nomes de Ferramentas Limpos: As ferramentas exibem nomes intuitivos como fabricsGetAllFabrics para facilitar a descoberta

Pré-requisitos

  • Node.js 18+ instalado
  • VSCode com GitHub Copilot ou Claude Desktop
  • Credenciais da API Hyperfabric (Token de API)
  • Arquivo de especificação OpenAPI da Hyperfabric

1. Compilar o Servidor

npm install
npm run build

2. Configurar o Cliente LLM

Para VSCode com GitHub Copilot

  1. Abra as Configurações do VSCode: Cmd+Shift+P → "Preferences: Open User Settings (JSON)"

  2. Adicione esta configuração ao seu 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. Recarregue o VS Code: Cmd+Shift+P → "Developer: Reload Window"

Para Claude Desktop

  1. Localize o arquivo de configuração do 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. Adicione esta configuração ao 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 o aplicativo Claude Desktop

Hyperfabric MCP Configuration

Hyperfabric MCP Setup

Hyperfabric MCP Setup

Ferramentas Disponíveis e Capacidades

O servidor MCP gera automaticamente 79 ferramentas a partir da especificação completa do Nexus Hyperfabric REST API v1.1.0:

Autenticação e Gerenciamento de Usuários (9 ferramentas)

  • Gerenciamento de Token Bearer: Autenticação segura de API

    • authGetBearerTokens - Lista todos os tokens bearer do usuário
    • authCreateBearerTokens - Cria novos tokens bearer
    • authGetBearerToken - Obtém detalhes de um token bearer específico
    • authDeleteBearerToken - Exclui um token bearer específico
  • Gerenciamento de Usuários: Operações de contas de usuário

    • authGetUsers - Lista todos os usuários da organização
    • authGetUser - Obtém detalhes de um usuário específico
    • authSetUsers - Cria ou atualiza usuários
    • authUpdateUser - Atualiza um usuário existente
    • authDeleteUser - Exclui uma conta de usuário

🖥️ Gerenciamento de Dispositivos (3 ferramentas)

  • Operações de Dispositivos: Gerenciamento físico de dispositivos e vínculo
    • devicesGetDevices - Lista todos os dispositivos (vinculados e não vinculados)
    • devicesBindDevice - Vincula um dispositivo a um nó de fabric
    • devicesUnbindDevice - Desvincula dispositivo de um nó de fabric

🏗️ Gerenciamento de Fabric (16 ferramentas)

  • Configuração de Fabric: Operações principais do fabric

    • fabricsGetAllFabrics - Lista todos os fabrics da organização
    • fabricsAddFabrics - Cria novos fabrics
    • fabricsGetFabric - Obtém detalhes de um fabric específico
    • fabricsUpdateFabric - Atualiza a configuração do fabric
    • fabricsDeleteFabric - Exclui um fabric
  • Gerenciamento de Conexões: Conexões de rede do fabric

    • fabricsGetFabricConnections - Lista todas as conexões do fabric
    • fabricsAddFabricConnections - Adiciona novas conexões
    • fabricsGetFabricConnection - Obtém detalhes de uma conexão específica
    • fabricsSetFabricConnections - Substitui todas as conexões
    • fabricsDeleteFabricConnections - Exclui todas as conexões
    • fabricsDeleteFabricConnection - Exclui uma conexão específica
  • Gerenciamento de Configuração: Configurações candidatas e implantação

    • fabricsGetFabricCandidates - Lista configurações candidatas
    • fabricsGetFabricCandidate - Obtém uma configuração candidata específica
    • fabricsCommitFabricCandidate - Implanta configuração candidata na configuração ativa
    • fabricsRevertFabricCandidate - Descarta configuração candidata
    • fabricsReviewFabricCandidate - Adiciona comentários à configuração candidata

🌐 Configuração de Rede (3 ferramentas)

  • Protocolo Spanning Tree: Configurações globais de STP
    • networksGetFabricStp - Obtém a configuração STP do fabric
    • networksUpdateFabricStp - Atualiza as configurações de STP
    • networksResetFabricStp - Redefine STP para os padrões

Gerenciamento de Nós (25 ferramentas)

  • Operações de Nó: Configuração de nós do fabric

    • nodesGetFabricNodes - Lista todos os nós do fabric
    • nodesAddFabricNodes - Adiciona novos nós ao fabric
    • nodesGetNamedFabricNode - Obtém detalhes de um nó específico
    • nodesUpdateFabricNode - Atualiza a configuração do nó
    • nodesDeleteFabricNode - Remove nó do fabric
  • Gerenciamento de Portas: Configuração de portas do nó

    • nodesGetPorts - Lista todas as portas de um nó
    • nodesGetPort - Obtém detalhes de uma porta específica
    • nodesUpdatePort - Atualiza a configuração da porta
    • nodesSetPorts - Substitui todas as configurações de porta
    • nodesResetPort - Redefine porta para os padrões
  • Portas de Gerenciamento: Interfaces de gerenciamento fora de banda

    • nodesGetManagementPorts - Lista portas de gerenciamento
    • nodesAddManagementPorts - Adiciona portas de gerenciamento
    • nodesGetManagementPort - Obtém uma porta de gerenciamento específica
    • nodesUpdateManagementPort - Atualiza a configuração da porta de gerenciamento
  • Interfaces Loopback: Interfaces virtuais para roteamento

    • nodesGetNodeLoopbacks - Lista interfaces loopback
    • nodesAddNodeLoopbacks - Cria interfaces loopback
    • nodesGetNodeLoopback - Obtém detalhes de um loopback específico
    • nodesUpdateNodeLoopback - Atualiza a configuração do loopback
    • nodesDeleteNodeLoopback - Exclui interface loopback
  • Sub-Interfaces: Configuração de VLAN e sub-interfaces

    • nodesGetNodeSubInterfaces - Lista sub-interfaces
    • nodesAddNodeSubInterfaces - Cria sub-interfaces
    • nodesGetNodeSubInterface - Obtém uma sub-interface específica
    • nodesUpdateNodeSubInterface - Atualiza a configuração da sub-interface
    • nodesDeleteNodeSubInterface - Exclui sub-interface

Gerenciamento de Port Channel (5 ferramentas)

  • Agregação de Links: Operações de port channel
    • portchannelsGetAllPortChannels - Lista todos os port channels
    • portchannelsAddPortChannels - Cria port channels
    • portchannelsGetPortChannel - Obtém um port channel específico
    • portchannelsUpdatePortChannel - Atualiza a configuração do port channel
    • portchannelsDeletePortChannel - Exclui port channel

🏷️ Gerenciamento de VNI (9 ferramentas)

  • Identificadores de Rede Virtual: Segmentação de rede VXLAN

    • vnisGetFabricVnis - Lista todos os VNIs do fabric
    • vnisAddFabricVnis - Cria novos VNIs
    • vnisGetFabricVni - Obtém detalhes de um VNI específico
    • vnisUpdateFabricVni - Atualiza a configuração do VNI
    • vnisDeleteFabricVni - Exclui VNI
  • Associação de VNI: Gerenciamento de interfaces membro

    • vnisGetFabricVniMembers - Lista membros do VNI
    • vnisAddFabricVniMembers - Adiciona membros ao VNI
    • vnisGetFabricVniMember - Obtém detalhes de um membro específico
    • vnisDeleteFabricVniMember - Remove membro do VNI

️ Gerenciamento de VRF (9 ferramentas)

  • Roteamento e Encaminhamento Virtual: Isolamento de rede na camada 3

    • vrfsGetFabricVrfs - Lista todos os VRFs do fabric
    • vrfsAddFabricVrfs - Cria novos VRFs
    • vrfsGetFabricVrf - Obtém detalhes de um VRF específico
    • vrfsUpdateFabricVrf - Atualiza a configuração do VRF
    • vrfsDeleteFabricVrf - Exclui VRF
  • Roteamento Estático: Gerenciamento de rotas estáticas dentro de VRFs

    • vrfsGetFabricStaticRoutes - Lista rotas estáticas no VRF
    • vrfsAddFabricStaticRoutes - Adiciona rotas estáticas
    • vrfsGetFabricStaticRoute - Obtém detalhes de uma rota específica
    • vrfsUpdateFabricStaticRoute - Atualiza rota estática
    • vrfsDeleteFabricStaticRoute - Exclui rota estática

Variáveis de Ambiente

VariávelDescriçãoPadrãoObrigatória
HYPERFABRIC_API_TOKENSeu token de API da Hyperfabric-
LOG_LEVELNível de registro (debug, info, warn, error)info
OPENAPI_SPEC_PATHCaminho para o arquivo de especificação OpenAPIhf_spec_modified.json

Configuração de Desenvolvimento

Estrutura do Projeto

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

Solução de Problemas

Problemas Comuns

Token de API Ausente

# Check environment file
cat .env | grep HYPERFABRIC_API_TOKEN

Especificação OpenAPI Ausente

# Verify spec file exists
ls -la hf_spec_modified.json

Erros de Compilação

# Check compilation
npm run build