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
-
Clonar e Instalar:
cd aci-mcp-server npm install -
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 settingsOpçã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" -
Compilar o Servidor:
npm run build -
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:
- Nome de Usuário/Senha: Login APIC padrão
- 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ãoall: 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 tenantsget_tenant- Obter detalhes de um tenant específicocreate_tenant- Criar novo tenantupdate_tenant- Atualizar configuração do tenantdelete_tenant- Excluir tenant
Gerenciamento de Perfis de Aplicação (5 ferramentas)
list_application_profiles- Listar perfis de aplicaçãoget_application_profile- Obter perfil de aplicação específicocreate_application_profile- Criar novo perfil de aplicaçãoupdate_application_profile- Atualizar perfil de aplicaçãodelete_application_profile- Excluir perfil de aplicação
Gerenciamento de Grupos de Endpoints (6 ferramentas)
list_endpoint_groups- Listar grupos de endpointsget_endpoint_group- Obter detalhes de EPG específicocreate_endpoint_group- Criar novo EPGupdate_endpoint_group- Atualizar configuração do EPGdelete_endpoint_group- Excluir EPGget_endpoint_group_stats- Obter estatísticas do EPG
Gerenciamento de Domínios de Bridge (5 ferramentas)
list_bridge_domains- Listar domínios de bridgeget_bridge_domain- Obter domínio de bridge específicocreate_bridge_domain- Criar novo domínio de bridgeupdate_bridge_domain- Atualizar domínio de bridgedelete_bridge_domain- Excluir domínio de bridge
Gerenciamento de VRF (5 ferramentas)
list_vrfs- Listar VRFsget_vrf- Obter detalhes de VRF específicocreate_vrf- Criar novo VRFupdate_vrf- Atualizar configuração do VRFdelete_vrf- Excluir VRF
Gerenciamento de Contratos (8 ferramentas)
list_contracts- Listar contratosget_contract- Obter detalhes do contratocreate_contract- Criar novo contratoupdate_contract- Atualizar contratodelete_contract- Excluir contratolist_filters- Listar filtroscreate_filter- Criar novo filtrodelete_filter- Excluir filtro
Saúde e Monitoramento (8 ferramentas)
get_fabric_health- Obter saúde geral do fabriclist_faults- Listar falhas do fabricget_fault_summary- Obter resumo de falhas por severidadelist_nodes- Listar nós do fabricget_node_health- Obter status de saúde do nólist_interfaces- Listar interfaces do fabricget_interface_stats- Obter estatísticas de interfaceget_system_info- Obter informações do sistema APIC