Cisco ACI MCP Server

Um servidor MCP abrangente para configurar e gerenciar fabrics Cisco ACI (Application Centric Infrastructure) através da API REST APIC.

Documentação

ACI Model Context Protocol (MCP) Server

Um servidor MCP abrangente para configurar e gerenciar fabrics Cisco ACI (Application Centric Infrastructure) através da API REST do APIC.

Visão Geral

Este servidor MCP fornece mais de 35 ferramentas para gerenciamento completo de fabric ACI, incluindo:

  • Gerenciamento de Tenants: Criar, listar, obter, atualizar e excluir tenants
  • Perfis de Aplicação: Gerenciar perfis de aplicação dentro dos tenants
  • Grupos de Endpoints (EPGs): Configurar e gerenciar grupos de endpoints
  • Domínios de Bridge: Criar e gerenciar domínios de Camada 2
  • VRFs: Gerenciar instâncias de Virtual Routing and Forwarding
  • Contratos: Definir e gerenciar políticas de segurança
  • Monitoramento de Saúde: Monitorar a saúde do fabric e falhas
  • Gerenciamento de Nós: Gerenciar nós e interfaces do fabric

Instalação

Pré-requisitos

  • Node.js 18+ e npm
  • Acesso a um controlador Cisco APIC
  • Credenciais APIC válidas (nome de usuário/senha ou certificado)

Configuração

  1. Clonar e Instalar:

    cd aci-mcp-server
    npm install
    
  2. Configurar Autenticação:

    Opção A: Variáveis de Ambiente

    cp .env.example .env
    # Edit .env with your APIC details
    export ACI_APIC_URL="https://your-apic.domain.com"
    export ACI_USERNAME="admin"
    export ACI_PASSWORD="your_password"
    

    Opção B: Arquivos de Configuração

    cp aci-config.json.example aci-config.json
    # Edit aci-config.json with your settings
    

    Opção C: Autenticação por Certificado

    export ACI_APIC_URL="https://your-apic.domain.com"
    export ACI_USERNAME="admin"
    export ACI_CERT_NAME="your-cert-name"
    export ACI_PRIVATE_KEY_PATH="/path/to/private.key"
    
  3. Compilar o Servidor:

    npm run build
    
  4. Testar Conexão:

    npm start
    # Should connect to APIC and display available tools
    

Configuração

Métodos de Autenticação

O servidor suporta dois métodos de autenticação:

  1. Nome de Usuário/Senha: Login APIC padrão
  2. Certificado: Autenticação baseada em certificado X.509 (recomendado para produção)

Configuração de Ferramentas

Configure quais ferramentas estão disponíveis usando aci-mcp-config.json:

{
  "serverConfig": {
    "name": "aci",
    "toolSelectionMode": "whitelist",
    "enableAllTools": false,
    "tenantFocus": "production"
  },
  "toolConfiguration": {
    "enabledTools": ["list_tenants", "get_fabric_health", ...],
    "disabledTools": []
  }
}

Modos de Ferramentas:

  • core: Ferramentas essenciais (35 ferramentas) - Padrão
  • all: Todas as ferramentas disponíveis (mais de 50 ferramentas)

Configuração por Variável de Ambiente:

export ACI_TOOL_MODE=core          # or 'all'
export ACI_TENANT_FOCUS=production # Focus on specific tenant

Ferramentas Disponíveis

Gerenciamento de Tenants (5 ferramentas)

  • list_tenants - Listar todos os tenants
  • get_tenant - Obter detalhes de um tenant específico
  • create_tenant - Criar novo tenant
  • update_tenant - Atualizar configuração do tenant
  • delete_tenant - Excluir tenant

Gerenciamento de Perfis de Aplicação (5 ferramentas)

  • list_application_profiles - Listar perfis de aplicação
  • get_application_profile - Obter perfil de aplicação específico
  • create_application_profile - Criar novo perfil de aplicação
  • update_application_profile - Atualizar perfil de aplicação
  • delete_application_profile - Excluir perfil de aplicação

Gerenciamento de Grupos de Endpoints (6 ferramentas)

  • list_endpoint_groups - Listar grupos de endpoints
  • get_endpoint_group - Obter detalhes de EPG específico
  • create_endpoint_group - Criar novo EPG
  • update_endpoint_group - Atualizar configuração do EPG
  • delete_endpoint_group - Excluir EPG
  • get_endpoint_group_stats - Obter estatísticas do EPG

Gerenciamento de Domínios de Bridge (5 ferramentas)

  • list_bridge_domains - Listar domínios de bridge
  • get_bridge_domain - Obter domínio de bridge específico
  • create_bridge_domain - Criar novo domínio de bridge
  • update_bridge_domain - Atualizar domínio de bridge
  • delete_bridge_domain - Excluir domínio de bridge

Gerenciamento de VRF (5 ferramentas)

  • list_vrfs - Listar VRFs
  • get_vrf - Obter detalhes de VRF específico
  • create_vrf - Criar novo VRF
  • update_vrf - Atualizar configuração do VRF
  • delete_vrf - Excluir VRF

Gerenciamento de Contratos (8 ferramentas)

  • list_contracts - Listar contratos
  • get_contract - Obter detalhes do contrato
  • create_contract - Criar novo contrato
  • update_contract - Atualizar contrato
  • delete_contract - Excluir contrato
  • list_filters - Listar filtros
  • create_filter - Criar novo filtro
  • delete_filter - Excluir filtro

Saúde e Monitoramento (8 ferramentas)

  • get_fabric_health - Obter saúde geral do fabric
  • list_faults - Listar falhas do fabric
  • get_fault_summary - Obter resumo de falhas por severidade
  • list_nodes - Listar nós do fabric
  • get_node_health - Obter status de saúde do nó
  • list_interfaces - Listar interfaces do fabric
  • get_interface_stats - Obter estatísticas de interface
  • get_system_info - Obter informações do sistema APIC