PluginWorld
Mc

MCP-packet

MCP

Enables MCP-compatible clients to plan, validate, generate, and deploy complete network topologies from natural-language instructions, including live deployment to a running network simulator and export to configuration or script files.

@oropezagabriel2004-blip · MIT License · updated today

SECURITY

B

SCORE

60

STARS

▲ 0

PLUG IN

git clone https://github.com/oropezagabriel2004-blip/MCP-packet.git

See the README to configure this MCP server

README

Servidor MCP de Cisco Packet Tracer

Servidor Model Context Protocol (MCP) que permite a cualquier cliente con soporte MCP (OpenCode, Claude Code, Codex CLI, VS Code, Cursor) planificar, validar, generar y desplegar topologías de red completas directamente en Cisco Packet Tracer a partir de una instrucción en lenguaje natural.

Ejemplo: "crea una red con 3 routers, OSPF y DHCP" -> el servidor planifica, valida, genera configuraciones y despliega la topología en Packet Tracer en tiempo real.

Este repositorio contiene todo lo necesario para replicar el servidor: código fuente, catálogo de dispositivos, módulos, cables, pruebas y configuración de ejemplo para OpenCode.


Tabla de contenidos

  1. Requisitos previos
  2. Instalar Python
  3. Instalar Cisco Packet Tracer
  4. Obtener este repositorio
  5. Instalar el servidor MCP
  6. Instalar OpenCode
  7. Configurar el MCP en OpenCode
  8. Verificar la instalación
  9. Primer uso
  10. Despliegue en vivo en Packet Tracer
  11. Solución de problemas
  12. Estructura del repositorio
  13. Atribución y licencia

1. Requisitos previos

Requisito Versión mínima Notas
Sistema operativo Windows / macOS / Linux Mismo comportamiento en los tres
Python 3.11+ Requerido
Cisco Packet Tracer 8.2+ Solo para despliegue en vivo (probado en 8.2 y 9.0)
Git Cualquiera Para clonar el repositorio

No se necesitan claves, tokens ni variables de entorno. Este repositorio no contiene secretos.


2. Instalar Python

Windows

  1. Descargue el instalador desde python.org/downloads.
  2. Ejecute el instalador y marque la opción "Add Python to PATH".
  3. Verifique en PowerShell:
python --version
# Python 3.11.x o superior

pip --version

macOS

brew install python@3.11
python3 --version

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install python3.11 python3.11-venv python3-pip
python3.11 --version

3. Instalar Cisco Packet Tracer

  1. Regístrese en netacad.com y descargue Cisco Packet Tracer (versión 8.2 o superior; se recomienda 9.0).
  2. Instale siguiendo el asistente de la plataforma.
  3. Abra Packet Tracer al menos una vez para confirmar que funciona.

El despliegue en vivo requiere la extensión MCP-BUILDER incluida en este repositorio (V3-MCP-BUILDER.pts). Véase la sección 10. Despliegue en vivo.


4. Obtener este repositorio

git clone https://github.com/oropezagabriel2004-blip/MCP-packet
cd MCP-packet

5. Instalar el servidor MCP

5.1. Crear un entorno virtual (recomendado)

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -e .

macOS / Linux:

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e .

5.2. Instalar dependencias opcionales

Herramientas offline de archivos .pkt/.pka (opcional, requiere twofish):

pip install -e ".[offline]"

Dependencias de desarrollo y pruebas (opcional):

pip install -e ".[dev]"

5.3. Verificar la instalación del paquete

python -m packet_tracer_mcp --help

También se instala un script de consola pt-mcp:

pt-mcp --stdio

6. Instalar OpenCode

Windows

OpenCode se distribuye como binario nativo. La forma más sencilla es con npm:

npm install -g @opencode/cli

Si no tiene Node.js instalado, descárguelo desde nodejs.org (versión LTS) y vuelva a ejecutar el comando.

Verifique:

opencode --version

macOS

brew install opencode 2>/dev/null || npm install -g @opencode/cli
opencode --version

Linux

npm install -g @opencode/cli
opencode --version

Nota: Windows no soporta gestores de paquetes para OpenCode. Use npm o descargue el binario standalone desde la página oficial.


7. Configurar el MCP en OpenCode

Este repositorio incluye un archivo opencode.jsonc en la raíz que registra el servidor MCP de Packet Tracer. El archivo usa la ruta python del sistema; para que funcione con el entorno virtual, modifique la ruta del intérprete.

7.1. Configuración por proyecto (recomendada)

Abra el repositorio en OpenCode y edite opencode.jsonc para usar el Python del entorno virtual:

Windows:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "packet-tracer": {
        "type": "local",
        "command": [
          "C:\\Users\\SU_USUARIO\\MCP-packet\\.venv\\Scripts\\python.exe",
          "-m",
          "packet_tracer_mcp",
          "--stdio"
        ]
      }
    }
  }
}

macOS / Linux:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "packet-tracer": {
        "type": "local",
        "command": [
          "/ruta/a/MCP-packet/.venv/bin/python",
          "-m",
          "packet_tracer_mcp",
          "--stdio"
        ]
      }
    }
  }
}

7.2. Configuración global (opcional)

Si desea usar el MCP desde cualquier directorio, regístrelo globalmente:

opencode mcp add packet-tracer --global -- .venv/Scripts/python.exe -m packet_tracer_mcp --stdio

En Windows use la ruta absoluta al intérprete del entorno virtual.

7.3. Alternativa: usar el CLI de OpenCode

opencode mcp add packet-tracer -- npx -y example-mcp-server

Adapte el comando al intérprete de Python que tenga instalado el paquete.


8. Verificar la instalación

8.1. Probar el servidor manualmente

En una terminal, ejecute:

python -m packet_tracer_mcp --stdio

El servidor se iniciará en modo stdio y esperará entrada. Presione Ctrl+C para detenerlo.

8.2. Verificar desde OpenCode

  1. Abra OpenCode en el directorio del repositorio.
  2. Ejecute:
opencode mcp list

Debería aparecer packet-tracer con estado Connected.

8.3. Ejecutar las pruebas

python -m pytest tests/ -q

Resultado esperado:

389 passed in ~10s

8.4. Probar una herramienta

Desde OpenCode, pida al asistente:

"Lista los dispositivos disponibles en Packet Tracer"

El asistente invocará pt_list_devices y mostrará los 74 modelos soportados.


9. Primer uso

Ejemplo básico

Pida al asistente de OpenCode:

"Crea una red con 2 routers, 2 switches, 4 PCs, DHCP y enrutamiento estático"

El servidor ejecutará el pipeline completo:

  1. Planificación -> genera un TopologyPlan con dispositivos, enlaces, IPs, DHCP y rutas.
  2. Validación -> verifica modelos, puertos, cables e IPs.
  3. Generación -> produce el script JavaScript para Packet Tracer y las configuraciones IOS.
  4. Despliegue -> envía los comandos al bridge HTTP (si está conectado) o exporta a archivos.

Transporte HTTP (opcional)

Para compartir una sola instancia del servidor entre varios clientes:

python -m packet_tracer_mcp
# Servidor en http://127.0.0.1:39000/mcp
# Bridge en http://127.0.0.1:54321

10. Despliegue en vivo en Packet Tracer

El despliegue en vivo envía comandos directamente a una instancia de Packet Tracer en ejecución.

10.1. Instalar la extensión MCP-BUILDER

  1. Copie el archivo V3-MCP-BUILDER.pts a la carpeta extensions/ del directorio de instalación de Packet Tracer (no la carpeta por usuario):
    • Windows: C:\Program Files\Cisco Packet Tracer <versión>\extensions\
    • macOS / Linux: carpeta extensions/ dentro de la instalación de Packet Tracer
  2. Reinicie Packet Tracer.
  3. En el primer inicio, Packet Tracer mostrará un aviso de "load this extension?" -> haga clic en Yes.
  4. La ventana MCP-BUILDER se abrirá automáticamente. Déjela visible (puede moverla a una esquina); si se oculta, QtWebEngine congela los temporizadores y el polling se detiene.

En Windows puede necesitar ejecutar Packet Tracer o copiar el archivo como administrador para escribir en Program Files.

10.2. Verificar la conexión

Desde OpenCode, pida al asistente:

"Verifica el estado del bridge de Packet Tracer"

El asistente invocará pt_bridge_status. Debería reportar que el bridge está activo y PTBuilder está haciendo polling.

10.3. Método alternativo (sin extensión)

Si prefiere usar el builder integrado de Packet Tracer:

  1. Vaya a Extensions -> Builder Code Editor.
  2. Pegue este fragmento y haga clic en Run:
/* PT-MCP Bridge */ window.webview.evaluateJavaScriptAsync("setInterval(function(){var x=new XMLHttpRequest();x.open('GET','http://127.0.0.1:54321/next',true);x.onload=function(){if(x.status===200&&x.responseText){$se('runCode',x.responseText)}};x.onerror=function(){};x.send()},500)");

Use solo comentarios de bloque /* */. Los comentarios de línea // rompen el snippet porque Packet Tracer elimina los saltos de línea internamente.


11. Solución de problemas

Síntoma Causa Solución
pt_bridge_status reporta PT no conectado QtWebEngine congela temporizadores de webviews ocultos Mantenga la ventana MCP-BUILDER visible
La extensión .pts no aparece en PT 9.0 PT 9.0 no escanea la carpeta de extensiones por usuario Copie V3-MCP-BUILDER.pts a la carpeta extensions/ del directorio de instalación
"Could not start the HTTP bridge on :54321" Otro proceso ocupa el puerto 54321 Detenga el proceso: Get-NetTCPConnection -LocalPort 54321 en PowerShell
addModule devuelve false silenciosamente El argumento slot fue un entero en lugar de cadena Pase el slot como cadena: "0/0" para HWIC, "0" para NIM
Error "Invalid arguments for IPC call createLink" addLink() sin el 5º argumento (tipo de cable) Siempre pase el cable: addLink("R1","Gig0/0","SW1","Gig0/1","straight")
El snippet del bridge no hace polling PTBuilder elimina saltos de línea; // comenta el resto Use solo comentarios /* */
Instalar 2+ módulos con llamadas separadas agota el bridge Cada llamada reinicia el dispositivo Use pt_install_modules_batch
Claude Desktop (MSIX) no enciende el indicador MCP El sandbox MSIX no expone python en PATH Reemplace "command": "python" por la ruta absoluta del intérprete
ModuleNotFoundError: No module named 'imp' twofish 0.3.0 importa imp, eliminado en Python 3.12 El archivo offline-tools/_twofish_compat.py se carga automáticamente
Un proyecto exportado no aparece en el repositorio ProjectRepository es relativo al directorio de trabajo del servidor Inicie el servidor desde la raíz del repositorio

12. Estructura del repositorio

MCP-packet/
├── src/packet_tracer_mcp/     # Código fuente del servidor MCP
│   ├── adapters/mcp/          # Registro de herramientas y recursos MCP
│   ├── application/           # Casos de uso y DTOs
│   ├── domain/                # Modelos, servicios y reglas de negocio
│   ├── infrastructure/        # Catálogo, generadores, ejecución, persistencia
│   ├── shared/                # Enums, constantes y utilidades
│   ├── server.py              # Instancia FastMCP
│   ├── settings.py            # Configuración del servidor
│   └── __main__.py            # Punto de entrada: python -m packet_tracer_mcp
├── tests/                     # 389 pruebas automatizadas
├── offline-tools/             # Utilidades para archivos .pkt/.pka/.pts
├── demo/                      # Imágenes de demostración
├── img/                       # Capturas de pantalla
├── docs/                      # Documentación adicional
├── scripts/                   # Scripts auxiliares
├── V3-MCP-BUILDER.pts         # Extensión de Packet Tracer para despliegue en vivo
├── opencode.jsonc             # Configuración de ejemplo para OpenCode
├── pyproject.toml             # Metadatos y dependencias del paquete
├── LICENSE                    # Licencia MIT
├── SECURITY.md                # Política de seguridad
└── README.md                  # Este archivo

Resumen de capacidades

Categoría Cantidad
Herramientas MCP 71
Recursos MCP 5
Modelos de dispositivos 74
Módulos de expansión 150
Tipos de cable 15
Plantillas de topología 9
Protocolos de enrutamiento Static, OSPF, EIGRP, RIP
Pruebas automatizadas 389

13. Atribución y licencia

Este proyecto se basa en MCP-Packet-Tracer (licencia MIT, autor: Mateo). Se conservan los avisos de licencia y autoría originales.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

MIT License
Copyright (c) 2026 Mateo - Packet Tracer MCP Server

Puede usar, modificar y distribuir este software libremente, siempre que se mantenga el aviso de licencia.

Créditos


Construido con MCP - Impulsado por Pydantic - Se despliega en Cisco Packet Tracer

SIMILAR PLUGINS