Cisco ACI MCP Server

Un servidor MCP completo para configurar y gestionar infraestructuras Cisco ACI (Application Centric Infrastructure) a través de la API REST de APIC.

Documentación

Servidor ACI Model Context Protocol (MCP)

Un servidor MCP integral para configurar y gestionar fabrics de Cisco ACI (Application Centric Infrastructure) a través de la API REST de APIC.

Descripción general

Este servidor MCP proporciona más de 35 herramientas para la gestión completa del fabric ACI, incluyendo:

  • Gestión de Tenants: Crear, listar, obtener, actualizar y eliminar tenants
  • Perfiles de Aplicación: Gestionar perfiles de aplicación dentro de los tenants
  • Grupos de Endpoints (EPGs): Configurar y gestionar grupos de endpoints
  • Dominios de Bridge: Crear y gestionar dominios de Capa 2
  • VRFs: Gestionar instancias de Virtual Routing and Forwarding
  • Contratos: Definir y gestionar políticas de seguridad
  • Monitoreo de Salud: Monitorear la salud y fallos del fabric
  • Gestión de Nodos: Gestionar nodos e interfaces del fabric

Instalación

Requisitos previos

  • Node.js 18+ y npm
  • Acceso a un controlador Cisco APIC
  • Credenciales APIC válidas (usuario/contraseña o certificado)

Configuración

  1. Clonar e Instalar:

    cd aci-mcp-server
    npm install
    
  2. Configurar Autenticación:

    Opción A: Variables de Entorno

    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"
    

    Opción B: Archivos de Configuración

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

    Opción C: Autenticación con 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 el Servidor:

    npm run build
    
  4. Probar Conexión:

    npm start
    # Should connect to APIC and display available tools
    

Configuración

Métodos de Autenticación

El servidor soporta dos métodos de autenticación:

  1. Usuario/Contraseña: Inicio de sesión APIC estándar
  2. Certificado: Autenticación basada en certificado X.509 (recomendado para producción)

Configuración de Herramientas

Configure qué herramientas están disponibles usando aci-mcp-config.json:

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

Modos de Herramientas:

  • core: Herramientas esenciales (35 herramientas) - Predeterminado
  • all: Todas las herramientas disponibles (más de 50 herramientas)

Configuración de Variables de Entorno:

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

Herramientas Disponibles

Gestión de Tenants (5 herramientas)

  • list_tenants - Listar todos los tenants
  • get_tenant - Obtener detalles de un tenant específico
  • create_tenant - Crear nuevo tenant
  • update_tenant - Actualizar configuración del tenant
  • delete_tenant - Eliminar tenant

Gestión de Perfiles de Aplicación (5 herramientas)

  • list_application_profiles - Listar perfiles de aplicación
  • get_application_profile - Obtener perfil de aplicación específico
  • create_application_profile - Crear nuevo perfil de aplicación
  • update_application_profile - Actualizar perfil de aplicación
  • delete_application_profile - Eliminar perfil de aplicación

Gestión de Grupos de Endpoints (6 herramientas)

  • list_endpoint_groups - Listar grupos de endpoints
  • get_endpoint_group - Obtener detalles de EPG específico
  • create_endpoint_group - Crear nuevo EPG
  • update_endpoint_group - Actualizar configuración del EPG
  • delete_endpoint_group - Eliminar EPG
  • get_endpoint_group_stats - Obtener estadísticas del EPG

Gestión de Dominios de Bridge (5 herramientas)

  • list_bridge_domains - Listar dominios de bridge
  • get_bridge_domain - Obtener dominio de bridge específico
  • create_bridge_domain - Crear nuevo dominio de bridge
  • update_bridge_domain - Actualizar dominio de bridge
  • delete_bridge_domain - Eliminar dominio de bridge

Gestión de VRF (5 herramientas)

  • list_vrfs - Listar VRFs
  • get_vrf - Obtener detalles de VRF específico
  • create_vrf - Crear nuevo VRF
  • update_vrf - Actualizar configuración del VRF
  • delete_vrf - Eliminar VRF

Gestión de Contratos (8 herramientas)

  • list_contracts - Listar contratos
  • get_contract - Obtener detalles del contrato
  • create_contract - Crear nuevo contrato
  • update_contract - Actualizar contrato
  • delete_contract - Eliminar contrato
  • list_filters - Listar filtros
  • create_filter - Crear nuevo filtro
  • delete_filter - Eliminar filtro

Salud y Monitoreo (8 herramientas)

  • get_fabric_health - Obtener salud general del fabric
  • list_faults - Listar fallos del fabric
  • get_fault_summary - Obtener resumen de fallos por severidad
  • list_nodes - Listar nodos del fabric
  • get_node_health - Obtener estado de salud del nodo
  • list_interfaces - Listar interfaces del fabric
  • get_interface_stats - Obtener estadísticas de interfaz
  • get_system_info - Obtener información del sistema APIC