Skip to main content
Glama

MCP Packet Tracer

Servidor MCP (Model Context Protocol) que conecta Claude con Cisco Packet Tracer 9.x mediante su REST API. Permite controlar topologías de red, configurar dispositivos con comandos IOS y ejecutar diagnósticos directamente desde Claude.

Arquitectura

MCP Packet Tracer/
├── mcpApp.py                      # Entry point — servidor MCP (15 herramientas)
├── models/
│   ├── device.py                  # Device, Interface, DeviceType
│   ├── link.py                    # Link, LinkType
│   └── network.py                 # Network (topología completa)
├── views/
│   ├── device_view.py             # Formateo de dispositivos para Claude
│   └── network_view.py            # Formateo de topología y conexiones
├── controllers/
│   ├── device_controller.py       # CRUD de dispositivos
│   ├── network_controller.py      # Topología y conexiones
│   └── command_controller.py      # CLI IOS y diagnósticos
├── services/
│   └── packet_tracer_service.py   # Cliente HTTP → PT REST API
└── requirements.txt

El patrón MVC separa responsabilidades:

Capa

Responsabilidad

Models

Representación de datos (Pydantic v2)

Views

Formateo de respuestas en texto legible

Controllers

Lógica de negocio, orquesta services y views

Services

Comunicación HTTP con la REST API de Packet Tracer

Requisitos

  • Python 3.10+ (probado en 3.11.9)

  • Cisco Packet Tracer 9.x con REST API habilitada en el puerto 39000

  • Claude Desktop o Claude Code (extensión VS Code)

Instalación

1. Clonar el repositorio

git clone https://github.com/mainorcruz/MCP_Packet_Tracer.git
cd MCP_Packet_Tracer

2. Crear entorno virtual con Python 3.11

py -3.11 -m venv .venv

3. Instalar dependencias

.venv\Scripts\pip install -r requirements.txt

4. Verificar que el servidor carga correctamente

.venv\Scripts\python -c "from mcpApp import mcp; print('OK —', len(mcp._tool_manager._tools), 'herramientas')"

Configuración en Claude

Claude Desktop

Edita o crea %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "packet-tracer": {
      "command": "C:\\ruta\\al\\proyecto\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\ruta\\al\\proyecto\\mcpApp.py"
      ]
    }
  }
}

Claude Code (VS Code)

Edita ~\.claude\settings.json:

{
  "mcpServers": {
    "packet-tracer": {
      "command": "C:\\ruta\\al\\proyecto\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\ruta\\al\\proyecto\\mcpApp.py"
      ]
    }
  }
}

Reemplaza C:\\ruta\\al\\proyecto con la ruta absoluta donde clonaste el repositorio.

Habilitar la REST API en Packet Tracer

  1. Abre Packet Tracer 9.x

  2. Ve a Edit → Preferences → API

  3. Activa la opción Enable API

  4. Confirma que el puerto sea 39000

  5. Reinicia Packet Tracer si es necesario

Herramientas disponibles

Una vez activo el servidor, Claude tiene acceso a las siguientes herramientas:

Diagnóstico

Herramienta

Descripción

health_check

Verifica la conexión con Packet Tracer

Dispositivos

Herramienta

Descripción

list_devices

Lista todos los dispositivos de la topología

get_device

Detalle completo de un dispositivo por ID

find_device

Busca un dispositivo por nombre (parcial)

add_device

Agrega un nuevo dispositivo

remove_device

Elimina un dispositivo

get_interfaces

Lista interfaces con IP, MAC y estado

Red y Conexiones

Herramienta

Descripción

get_topology

Topología completa agrupada por tipo de dispositivo

list_links

Lista todas las conexiones con tipo de cable y estado

add_link

Conecta dos interfaces de dispositivos distintos

remove_link

Elimina una conexión

CLI y Diagnósticos

Herramienta

Descripción

execute_cli

Ejecuta un comando IOS en un dispositivo

execute_config_block

Ejecuta un bloque de comandos IOS en secuencia

ping

Ping desde un dispositivo hacia una IP

traceroute

Traceroute desde un dispositivo hacia una IP

Ejemplos de uso con Claude

Ver la topología:

"Muéstrame todos los dispositivos de la red"

Configurar una interfaz:

"Configura la interfaz GigabitEthernet0/0 del Router0 con IP 192.168.1.1 y máscara 255.255.255.0"

Claude ejecutará internamente:

execute_config_block(
  device="Router0",
  commands=[
    "configure terminal",
    "interface GigabitEthernet0/0",
    "ip address 192.168.1.1 255.255.255.0",
    "no shutdown",
    "end"
  ]
)

Probar conectividad:

"Haz un ping desde PC0 a 192.168.1.1"

Conectar dos dispositivos:

"Conecta el Router0 (Gig0/1) con el Switch0 (Fa0/1) usando cable directo"

Tipos de dispositivos soportados

Router · Switch · PC · Server · WirelessRouter · AccessPoint · Firewall

Tipos de cable soportados

CopperStraight · CopperCrossover · Fiber · Serial · Wireless

Dependencias

Paquete

Versión

Uso

mcp

≥ 1.0.0

SDK del protocolo MCP

httpx

≥ 0.27.0

Cliente HTTP async para la PT REST API

pydantic

≥ 2.0.0

Validación y serialización de modelos

Licencia

MIT

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/mainorcruz/MCP_Packet_Tracer'

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