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.
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
- Abre Packet Tracer 9.x
- Ve a Edit → Preferences → API
- Activa la opción Enable API
- Confirma que el puerto sea
39000 - 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.