Cisco SSH MCP Server

Conéctate, configura y monitorea dispositivos de red Cisco como routers y switches a través de SSH.

Documentación

Servidor MCP Cisco SSH

Un servidor de Protocolo de Contexto de Modelo (MCP) para gestionar conexiones SSH a dispositivos de red Cisco. Este servidor proporciona herramientas para conectarse, configurar y monitorear routers y switches Cisco a través de SSH.

Características

  • Múltiples conexiones SSH: Gestione conexiones a múltiples dispositivos Cisco simultáneamente
  • Ejecución de comandos: Ejecute cualquier comando CLI en dispositivos conectados
  • Gestión de configuración: Ingrese al modo de configuración y aplique cambios de configuración
  • Comandos show: Ejecute comandos show con análisis de salida opcional
  • Acceso terminal sin procesar: Envíe texto sin procesar para sesiones interactivas
  • Gestión de conexiones: Liste, conecte y desconecte dispositivos
  • Autenticación segura: Soporte para autenticación basada en contraseña y claves

Instalación

npm install
npm run build

Uso

Como servidor MCP

Configure su cliente MCP (como Cline) para usar este servidor:

{
  "mcpServers": {
    "cisco-ssh": {
      "command": "node",
      "args": ["path/to/cisco-ssh-mcp/dist/index.js"]
    }
  }
}

Uso desde línea de comandos

# Start the MCP server
npm start

# Start with default connection parameters
cisco-ssh-mcp --host 192.168.1.1 --username admin

Herramientas disponibles

cisco_connect

Conéctese a un dispositivo Cisco a través de SSH.

Parámetros:

  • host (obligatorio): Dirección IP o nombre de host
  • username (obligatorio): Nombre de usuario SSH
  • password: Contraseña SSH
  • privateKey: Clave privada para autenticación
  • port: Puerto SSH (predeterminado: 22)
  • connectionId: Identificador único para la conexión

cisco_exec

Ejecute un comando en un dispositivo conectado.

Parámetros:

  • command (obligatorio): Comando a ejecutar
  • connectionId: Qué conexión usar
  • timeout: Tiempo de espera del comando en milisegundos

cisco_config

Ingrese al modo de configuración y ejecute comandos de configuración.

Parámetros:

  • commands (obligatorio): Matriz de comandos de configuración
  • connectionId: Qué conexión usar
  • save: Si guardar la configuración después de los cambios

cisco_show

Ejecute comandos show con análisis de salida opcional.

Parámetros:

  • command (obligatorio): Comando show a ejecutar
  • connectionId: Qué conexión usar
  • parseOutput: Analizar la salida en formato estructurado

cisco_send_raw

Envíe texto sin procesar a la conexión SSH.

Parámetros:

  • text (obligatorio): Texto sin procesar a enviar
  • connectionId: Qué conexión usar
  • waitForPrompt: Esperar el símbolo del sistema

cisco_list_connections

Liste todas las conexiones SSH activas.

cisco_disconnect

Desconéctese de un dispositivo.

Parámetros:

  • connectionId: Conexión a desconectar

Ejemplos

Conectarse a un dispositivo

// Connect using password
{
  "tool": "cisco_connect",
  "arguments": {
    "host": "192.168.1.1",
    "username": "admin",
    "password": "cisco123",
    "connectionId": "router1"
  }
}

// Connect using SSH key
{
  "tool": "cisco_connect",
  "arguments": {
    "host": "192.168.1.1",
    "username": "admin",
    "privateKey": "-----BEGIN RSA PRIVATE KEY-----\\n...",
    "connectionId": "router1"
  }
}

Ejecutar comandos

// Show interface status
{
  "tool": "cisco_show",
  "arguments": {
    "command": "show ip interface brief",
    "parseOutput": true
  }
}

// Configure an interface
{
  "tool": "cisco_config",
  "arguments": {
    "commands": [
      "interface GigabitEthernet0/1",
      "ip address 192.168.10.1 255.255.255.0",
      "no shutdown"
    ],
    "save": true
  }
}

Consideraciones de seguridad

  • Use claves SSH en lugar de contraseñas cuando sea posible
  • Implemente una segmentación de red adecuada para el tráfico de gestión
  • Habilite el registro de todos los comandos ejecutados
  • Use VLAN de gestión dedicadas
  • Implemente controles de acceso y autenticación adecuados

Solución de problemas

  • Tiempo de espera de conexión: Verifique la conectividad de red y el servicio SSH en el dispositivo
  • Autenticación fallida: Verifique las credenciales y la configuración SSH
  • Tiempo de espera del comando: Aumente los valores de tiempo de espera para dispositivos lentos
  • Permiso denegado: Asegúrese de que el usuario tenga los privilegios adecuados

Licencia

Licencia MIT: consulte el archivo LICENSE para obtener más detalles.