Skip to main content
Glama
cvz-dev

Packet-Tracer-MCP

by cvz-dev

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
verificar_entornoA

Diagnostica las tres piezas del sistema y dice exactamente qué falta.

Úsala SIEMPRE al principio de una sesión, o cuando un comando no parezca surtir efecto en el canvas de Packet Tracer.

Comprueba:

  1. Bridge FastAPI en 127.0.0.1:54321 (lo arranca este mismo servidor MCP).

  2. Loop JS dentro de Packet Tracer (módulo Builder, ventana Builder Code Editor).

  3. Estado actual del canvas.

diagnosticar_redA

Audita la red construida en Packet Tracer y señala por qué NO funcionaría.

Llámala SIEMPRE al terminar de construir o modificar una topología, antes de decirle al usuario que está lista. Detecta los fallos que las demás herramientas no ven, porque ellas solo confirman que el comando se envió:

  • dispositivos sin ningún cable conectado

  • interfaces con IP pero sin cable, o con cable y apagadas (falta 'no shutdown')

  • subredes de endpoints sin ninguna interfaz de router (no hay gateway)

  • endpoints repartidos en varias subredes (necesitan routing o VLANs)

  • enlaces seriales sin clock rate en ningún extremo

NO puede ver: subinterfaces 802.1Q, VLANs, tablas de routing ni el resultado de un ping. Que no reporte fallos no garantiza conectividad; que reporte uno sí garantiza que algo está mal.

conectar_router_a_pcA

Conecta físicamente Router_Maestro con PC_IA y configura sus IPs.

crear_router_maestroD
crear_dispositivoA

Crea un dispositivo de red en Cisco Packet Tracer.

Modelos disponibles (nombres exactos del catálogo de PT): Routers: 1841, 1941, 2620XM, 2811, 2901, 2911, ISR4321 Switches L2: 2950-24, 2960-24TT, Switch-PT Switches L3: 3560-24PS, 3650-24PS Firewalls ASA: 5505, 5506-X Endpoints: PC-PT, Laptop-PT, Server-PT, Printer-PT, TabletPC-PT, SMARTPHONE-PT, TV-PT Wireless: AccessPoint-PT, AccessPoint-PT-AC, Linksys-WRT300N, HomeRouter-PT-AC, WLC-2504 VoIP: 7960, Home-VoIP-PT ISP/WAN: Cloud-PT, DSL-Modem-PT, Cable-Modem-PT Hubs: Hub-PT, Repeater-PT Placas: MCU-PT, SBC-PT, Thing IoT: Webcam, Motion Detector, Smoke Detector, Temperature Monitor, Humidity Monitor, Light, Smart LED, Street Lamp, Door, Garage Door, Fan, Air Conditioner, Furnace, Thermostat, Siren, Alarm, Lawn Sprinkler, Power Meter, Solar Panel, Battery, Home Speaker, RFID Reader, RFID Card, LED, LCD, Motor, Servo, Speaker y los sensores (Motion Sensor, Temperature Sensor, Smoke Sensor, Water Sensor, etc.)

El nombre del modelo debe coincidir EXACTAMENTE con el catálogo: si no existe, Packet Tracer no crea nada y no avisa del error.

Coordenadas (x, y): opcionales. Si no se especifican, el dispositivo se posiciona automáticamente según su tipo en el canvas (900x600): Firewalls → columna izquierda Routers → fila superior central Switches L3→ fila media-alta Switches L2→ fila media Wireless → columna derecha media Endpoints → fila inferior VoIP → fila inferior derecha WAN/ISP → columna derecha

Asegúrate de que el nombre sea único en la topología.

IMPORTANTE: crear_dispositivo() solo coloca el icono en el canvas. Para que los dispositivos se comuniquen DEBES llamar conectar_dispositivos() después de crear todos los dispositivos. Sin cables no hay conectividad.

PUERTOS SERIALES: Si el router necesita enlaces WAN seriales (Serial0/0/0, Serial0/0/1), llama agregar_modulo_router(nombre, 'WIC-2T') ANTES de conectar los cables. El módulo WIC-2T no viene instalado por defecto en PT.

configurar_dispositivoA

Envía comandos de consola (IOS) a un router o switch en Packet Tracer. Usa '\n' para separar líneas, como si presionaras Enter. Ejemplo: 'enable\nconfigure terminal\nhostname R1'

Para PCs, Laptops y Servidores usa configurar_pc() en su lugar.

configurar_pcA

Configura la IP de una PC, Laptop o Servidor en Packet Tracer. Usa esta función en lugar de configurar_dispositivo() para endpoints.

  • nombre: nombre del dispositivo (debe ser PC-PT, Laptop-PT o Server-PT)

  • ip: dirección IP, ej: '192.168.10.2'

  • mascara: máscara de subred, ej: '255.255.255.0'

  • gateway: puerta de enlace, ej: '192.168.10.1'

  • dns: servidor DNS (default: '8.8.8.8')

  • dhcp: True para obtener IP por DHCP (ignora ip/mascara/gateway)

Ejemplo: configurar_pc('PC1', '192.168.10.2', '255.255.255.0', '192.168.10.1')

agregar_modulo_routerA

Instala una tarjeta de expansion en un router y CONFIRMA que los puertos nuevos aparecieron.

REGLA OBLIGATORIA - CONEXIONES SERIALES: Los routers no traen puertos seriales de fabrica. Antes de conectar un cable 'serial' hay que instalar la tarjeta en AMBOS routers.

Tarjeta serial segun el modelo: ISR (1941, 2901, 2911, ISR4321) -> HWIC-2T clasicos (1841, 2811, 2620XM) -> WIC-2T Con modulo='auto' (por defecto) se elige la que corresponde al modelo real del router en PT. Un 2911 tambien acepta WIC-2T, pero HWIC-2T es la propia de la familia ISR.

Flujo correcto para un enlace serial:

  1. crear_dispositivo('R1', '2911')

  2. crear_dispositivo('R2', '2911')

  3. agregar_modulo_router('R1') <- instala HWIC-2T

  4. agregar_modulo_router('R2')

  5. conectar_dispositivos('R1','Serial0/0/0','R2','Serial0/0/0','serial')

  6. configurar_dispositivo('R1', 'interface Serial0/0/0 ...')

Otros modulos: WIC-1T, WIC-2A/S, NM-4A/S, NM-2FE2W, NM-1FE-TX, HWIC-4ESW, HWIC-8A. El slot 0 es el primero libre en el chasis.

No hace falta apagar el router: PT admite la instalacion en caliente por API.

conectar_dispositivosA

Conecta dos dispositivos en Packet Tracer con un cable.

FLUJO OBLIGATORIO: Siempre llama esta función después de crear_dispositivo(). Sin cables físicos los dispositivos NO se pueden configurar ni comunicar.

IMPORTANTE: Las interfaces son OBLIGATORIAS. Debes especificar la interfaz exacta de cada extremo. Usa obtener_puertos_dispositivo() si no sabes qué interfaces tiene un dispositivo.

Interfaces comunes por modelo: Router 2911: GigabitEthernet0/0, GigabitEthernet0/1, GigabitEthernet0/2, Serial0/0/0, Serial0/0/1 Router 1841: FastEthernet0/0, FastEthernet0/1, Serial0/0/0, Serial0/0/1 Switch 2960: FastEthernet0/1 … FastEthernet0/24, GigabitEthernet0/1, GigabitEthernet0/2 Switch 3560: FastEthernet0/1 … FastEthernet0/24, GigabitEthernet0/1, GigabitEthernet0/2 PC-PT: FastEthernet0 Server-PT: FastEthernet0 Laptop-PT: FastEthernet0

Esta herramienta CONFIRMA el resultado: responde [OK] solo si Packet Tracer creó el cable de verdad, y [ERROR] con las causas probables si lo rechazó.

Cables disponibles: auto — lo elige este servidor según los modelos (recomendado) straight — PC/Server↔Switch, Switch↔Router cross — PC↔PC, Router↔Router, Switch↔Switch fiber — Switch↔Switch (puertos SFP, larga distancia) serial — Router↔Router WAN (Serial DCE/DTE) console — PC↔Router/Switch (gestión) phone — Teléfono IP↔Switch o CME

CABLE SERIAL — MÓDULO WIC-2T OBLIGATORIO: Si usas tipo_cable='serial', los routers DEBEN tener el módulo WIC-2T instalado ANTES de llamar esta función. Llama agregar_modulo_router() en ambos routers primero. Sin WIC-2T los puertos Serial0/0/0 / Serial0/0/1 no existen y la conexión fallará.

Orden de operaciones recomendado:

  1. crear_dispositivo() para cada nodo

  2. agregar_modulo_router() si se usará cable serial ← OBLIGATORIO para serial

  3. conectar_dispositivos() para cada enlace

  4. configurar_dispositivo() o configurar_pc() para IPs, VLANs, rutas, etc.

Ejemplos de uso: conectar_dispositivos('R1', 'GigabitEthernet0/0', 'SW1', 'FastEthernet0/1') conectar_dispositivos('R1', 'Serial0/0/0', 'R2', 'Serial0/0/0', 'serial') conectar_dispositivos('PC1', 'FastEthernet0', 'SW1', 'FastEthernet0/2')

listar_dispositivosA

Devuelve la lista de todos los dispositivos presentes en el canvas de Packet Tracer. Útil para saber qué hay en la topología antes de hacer cambios.

obtener_puertos_dispositivoA

Lista las interfaces REALES de un dispositivo, preguntándoselas a Packet Tracer, y dice cuáles están libres y cuáles ya tienen cable.

Refleja el hardware instalado: si el router lleva un WIC-2T, aquí aparecen sus puertos Serial; si no, no aparecen. Por eso es la forma fiable de saber qué interfaz usar en conectar_dispositivos().

Ejemplo: obtener_puertos_dispositivo('R1')

eliminar_dispositivoA

Elimina un dispositivo del canvas de Packet Tracer por su nombre. También elimina automáticamente todos los cables conectados a él.

eliminar_conexionA

Elimina el cable conectado a una interfaz concreta de un dispositivo.

Packet Tracer borra enlaces por puerto, no por pareja de dispositivos: si dos equipos están unidos por más de un cable, hay que decir cuál.

Ejemplo: eliminar_conexion('R1', 'GigabitEthernet0/0')

limpiar_topologiaA

Elimina TODOS los dispositivos y conexiones del canvas. ¡Usar con precaución! Esta acción no se puede deshacer.

hacer_pingA

Verifica conectividad haciendo ping desde un dispositivo hacia una IP.

Usa ipc.network() para obtener el estado de la interfaz del dispositivo y confirmar si la red está activa. PT no expone el output del ping IOS a través de la API JS, pero podemos verificar el estado de conectividad comprobando que las interfaces estén UP y que el dispositivo exista.

Ejemplos: hacer_ping('Router1', '192.168.1.2') hacer_ping('PC1', '192.168.1.1')

obtener_estado_dispositivoB

Obtiene el estado actual de un dispositivo: nombre, tipo, puertos y estado de conexión (up/down) de cada interfaz. Ejemplo: obtener_estado_dispositivo('Router0')

obtener_tabla_routingA

Envía 'show ip route' y 'show ip interface brief' a un router o switch L3 para que el output sea visible en la consola del dispositivo en Packet Tracer.

Packet Tracer no devuelve el output de comandos IOS a través de la API. Abre la consola del dispositivo en PT para ver el resultado.

Ejemplo: obtener_tabla_routing('Router0')

configurar_vlanB

Crea y nombra una VLAN en un switch Cisco. Ejemplo: configurar_vlan('SW1', 10, 'VENTAS') Genera: vlan 10 / name VENTAS

asignar_puerto_vlanA

Asigna un puerto de un switch a una VLAN en modo access o trunk.

Modo access: un solo dispositivo final (PC, teléfono, servidor). Modo trunk: enlace entre switches o switch↔router (router-on-a-stick).

Ejemplo access: asignar_puerto_vlan('SW1', 'FastEthernet0/1', 10) Ejemplo trunk: asignar_puerto_vlan('SW1', 'GigabitEthernet0/1', 10, 'trunk')

configurar_trunkA

Configura un puerto como trunk 802.1Q (enlace entre switches, o switch↔router para router-on-a-stick).

  • vlans_permitidas: 'all' para permitir todas (lo habitual), o una lista separada por comas: '10,20,30'.

OJO CON LOS SWITCHES MULTICAPA: en un 3560/3650 el comando 'switchport mode trunk' es RECHAZADO si antes no se fija la encapsulación con 'switchport trunk encapsulation dot1q'. En los 2960 ese comando no existe. Esta función consulta el modelo real en PT y manda lo que corresponde, así que sirve para ambos.

Ejemplo: configurar_trunk('CORE-SW', 'GigabitEthernet0/1')

configurar_dhcpB

Configura un pool DHCP en un router Cisco para asignar IPs automáticamente.

Ejemplo: configurar_dhcp('R1', 'LAN_VENTAS', '192.168.10.0', '255.255.255.0', '192.168.10.1') Genera: ip dhcp pool LAN_VENTAS / network ... / default-router ... / dns-server ...

configurar_dhcp_servidorA

Crea un pool DHCP en el servicio DHCP de un Server-PT (no en un router).

Es el equivalente a la pestaña Services -> DHCP del servidor: activa el servicio y añade el pool. Para varias VLAN, llama una vez por pool y usa 'ip helper-address ' en cada SVI para que el relay funcione.

  • gateway: default-router que se entrega a los clientes de ese pool

  • ip_inicial: primera IP del rango

  • dns: servidor DNS que se entrega (por defecto, el propio servidor)

Ejemplo: configurar_dhcp_servidor('SRV-DHCP-DNS', 'ADMIN', '192.168.10.1', '192.168.10.100', dns='192.168.30.10')

configurar_dns_servidorA

Activa el servicio DNS de un Server-PT y añade registros A.

  • registros: {'nombre.dominio': 'ip'}, por ejemplo {'intranet.empresa.local': '192.168.30.20', 'iot.empresa.local': '192.168.30.20'}

Los clientes deben recibir la IP de este servidor como DNS (por DHCP o manualmente) para que resuelvan estos nombres.

instalar_tarjeta_wifiA

Cambia el módulo Ethernet de un endpoint por una tarjeta inalámbrica.

Las PCs, laptops, servidores e impresoras de Packet Tracer vienen con módulo de cobre: sin este cambio NO tienen radio y no pueden asociarse a ningún SSID, aunque configures el wifi con configurar_wifi().

Quita la tarjeta del slot 0 y pone la inalámbrica. Ojo: el dispositivo pierde su puerto FastEthernet0, así que hazlo ANTES de cablearlo.

Tablets y smartphones ya son inalámbricos de fábrica: no los necesitan.

Flujo para un cliente wifi:

  1. crear_dispositivo('LAPTOP1', 'Laptop-PT')

  2. instalar_tarjeta_wifi('LAPTOP1')

  3. configurar_wifi('LAPTOP1', 'OFFICE-WIFI', clave='...')

  4. configurar_pc('LAPTOP1', ...) o dejar que tome IP por DHCP

configurar_wifiA

Configura SSID y seguridad de una red inalámbrica, tanto en el access point como en un cliente (laptop, tablet, smartphone, dispositivo IoT).

  • seguridad: 'wpa2-psk' (recomendada), 'wpa-psk', 'wep' o 'abierta'

  • clave: contraseña de la red; obligatoria salvo en 'abierta'

Detecta sola si el dispositivo es AP o cliente. Para que un cliente se asocie, llámala con EXACTAMENTE el mismo ssid, seguridad y clave que su AP.

El cliente necesita una tarjeta inalámbrica instalada: las laptops de PT traen módulo Ethernet de fábrica y hay que cambiarlo por uno wifi.

Ejemplos: configurar_wifi('AP-EMPLEADOS', 'OFFICE-WIFI', clave='Empresa2024') configurar_wifi('LAPTOP1', 'OFFICE-WIFI', clave='Empresa2024')

configurar_ruta_estaticaA

Agrega una ruta estática a un router Cisco.

Ejemplo: configurar_ruta_estatica('R1', '10.0.0.0', '255.0.0.0', '192.168.1.2') Genera: ip route 10.0.0.0 255.0.0.0 192.168.1.2

configurar_ruta_defaultA

Configura la ruta por defecto (default route) en un router. Usada para enviar tráfico desconocido hacia el ISP o gateway de salida.

Ejemplo: configurar_ruta_default('R1', '200.0.0.1') Genera: ip route 0.0.0.0 0.0.0.0 200.0.0.1

configurar_ospfC

Configura OSPF en un router Cisco.

  • redes: lista de redes en formato 'RED WILDCARD AREA', ej: ['192.168.1.0 0.0.0.255 0', '10.0.0.0 0.255.255.255 0']

  • router_id: opcional, ej: '1.1.1.1'

Ejemplo: configurar_ospf('R1', 1, ['192.168.1.0 0.0.0.255 0', '192.168.2.0 0.0.0.255 0'], '1.1.1.1')

configurar_natB

Configura NAT overload (PAT) en un router para salida a Internet.

  • interfaz_inside: interfaz LAN, ej: 'GigabitEthernet0/0'

  • interfaz_outside: interfaz WAN/ISP, ej: 'GigabitEthernet0/1'

  • acl_number: número de ACL que define el tráfico a traducir (default: 1)

Ejemplo: configurar_nat('R1', 'GigabitEthernet0/0', 'GigabitEthernet0/1')

configurar_aclA

Crea una ACL en un router o switch L3 y, si se indica interfaz, LA APLICA.

  • acl_number: 1-99 para estándar, 100-199 para extendida

  • reglas: lista de reglas sin el prefijo 'access-list N' Estándar: ['permit 192.168.1.0 0.0.0.255', 'deny any'] Extendida: ['permit tcp 192.168.1.0 0.0.0.255 any eq 80', 'deny ip any any']

  • interfaz: dónde aplicarla, ej: 'GigabitEthernet0/0' o 'Vlan50'.

  • direccion: 'in' filtra el tráfico que ENTRA por esa interfaz (lo normal para bloquear una VLAN de origen), 'out' el que sale hacia ella.

IMPORTANTE: una ACL sin aplicar no filtra nada. Si omites interfaz, las reglas quedan escritas en la configuración pero SIN efecto, y esta función te lo advierte en la respuesta.

Recuerda el 'deny ip any any' implícito al final de toda ACL: si aplicas una ACL a una interfaz, todo lo que no permitas explícitamente queda bloqueado.

Ejemplo — invitados sin acceso a las redes internas, con salida a Internet: configurar_acl('CORE-SW', 150, ['deny ip 192.168.50.0 0.0.0.255 192.168.0.0 0.0.255.255', 'permit ip 192.168.50.0 0.0.0.255 any'], tipo='extended', interfaz='Vlan50', direccion='in')

configurar_spanning_treeA

Configura Spanning Tree Protocol (STP) en un switch Cisco.

Modos disponibles: pvst — Per-VLAN STP (clásico) rapid-pvst — Rapid Per-VLAN STP (recomendado) mst — Multiple Spanning Tree

  • vlan_id: si se especifica, aplica prioridad solo a esa VLAN

  • prioridad: 0-61440 en múltiplos de 4096 (menor = root bridge preferido)

Ejemplo root bridge: configurar_spanning_tree('SW1', 'rapid-pvst', 10, 4096)

configurar_etherchannelA

Configura EtherChannel (Link Aggregation) en un switch Cisco.

Modos: active/passive — LACP (IEEE 802.3ad, recomendado) desirable/auto — PAgP (Cisco propietario) on — Sin negociación (ambos lados deben ser 'on')

  • puertos: lista de interfaces a agrupar, ej: ['FastEthernet0/1', 'FastEthernet0/2']

  • channel_group: número del port-channel (1-48)

Ejemplo: configurar_etherchannel('SW1', ['FastEthernet0/1', 'FastEthernet0/2'], 1, 'active')

configurar_voipA

Configura Cisco CME (Call Manager Express) para telefonía IP en un router.

  • max_telefonos: número máximo de teléfonos IP a registrar

  • max_dn: número máximo de directory numbers (extensiones)

  • red_voip: IP del router en la red VoIP (ej: '192.168.20.1')

  • extensiones: lista de extensiones a crear, ej: ['1001', '1002', '1003']

Ejemplo: configurar_voip('R1', 3, 3, '192.168.20.1', ['1001', '1002', '1003'])

mover_dispositivoA

Mueve un dispositivo existente a nuevas coordenadas en el canvas. Útil para reorganizar la topología visualmente. Ejemplo: mover_dispositivo('R1', 300, 150)

agregar_etiquetaA

Agrega una etiqueta de texto al canvas de Packet Tracer. Útil para documentar zonas de la topología (ej: 'RED CORPORATIVA', 'DMZ', 'ISP'). Ejemplo: agregar_etiqueta('SEDE CENTRAL', 200, 50)

guardar_topologiaA

Guarda la topología actual como archivo .pkt en Packet Tracer. Si no se incluye extensión, se agrega .pkt automáticamente. Ejemplo: guardar_topologia('mi_red_empresarial')

analizar_imagen_topologiaA

Carga una imagen de diagrama de red para que Claude la vea y reproduzca la topología en Packet Tracer.

Devuelve la imagen como contenido visual real (no base64 en texto) más las instrucciones de construcción. Formatos: PNG, JPG, JPEG, GIF, WEBP.

La ruta puede ser absoluta o relativa a la carpeta del proyecto. Ejemplo: analizar_imagen_topologia('diagramas/ejemplo-red1.jpeg')

construir_topologia_desde_descripcionA

Construye una topología completa en Packet Tracer a partir de un JSON con la descripción de dispositivos y conexiones.

Formato esperado del JSON: { "dispositivos": [ {"nombre": "R1", "modelo": "2911", "x": 100, "y": 200}, {"nombre": "SW1", "modelo": "2960-24TT", "x": 300, "y": 200}, {"nombre": "PC1", "modelo": "PC-PT", "x": 500, "y": 300} ], "conexiones": [ {"de": "R1", "puerto1": "GigabitEthernet0/0", "a": "SW1", "puerto2": "FastEthernet0/1", "cable": "straight"}, {"de": "SW1", "puerto1": "FastEthernet0/2", "a": "PC1", "puerto2": "FastEthernet0", "cable": "straight"} ], "configuraciones": [ {"dispositivo": "R1", "comandos": "interface g0/0\nip address 192.168.1.1 255.255.255.0\nno shutdown"} ] }

'puerto1' y 'puerto2' son OBLIGATORIOS en cada conexión: sin interfaz explícita la conexión se omite y se reporta como error. 'cable' acepta los tipos cortos (auto, straight, cross, fiber, serial, console, phone, coaxial) y también los nombres largos de PT ("Copper Straight-Through", "Serial DCE"…).

Si alguna conexión usa cable serial, agrega antes el módulo WIC-2T con agregar_modulo_router() en ambos routers: este tool no lo hace por ti.

Útil para reproducir topologías guardadas o generadas por analizar_imagen_topologia().

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cvz-dev/Packet-Tracer-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server