MCP Packet Tracer

MCP Packet Tracer

Connects Claude with Cisco Packet Tracer 9.x to control network topologies, configure devices with IOS commands, and run diagnostics via natural language.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured