Packet-Tracer-MCP
Packet Tracer MCP
MCP-Server, der es Claude Code ermöglicht, Topologien in Cisco Packet Tracer in natürlicher Sprache aufzubauen und zu konfigurieren: Geräte erstellen, verkabeln, IOS-Befehle anwenden, VLANs, OSPF, NAT, ACLs, VoIP oder ein komplettes Netzwerk anhand des Bildes eines Diagramms nachbilden.
Tu -> Claude Code --stdio--> mcp_server.py --HTTP--> bridge :54321
|
Packet Tracer <-----------+
modulo Builder:
bridge.js (pagina: hace el polling)
bridge_runner.js (motor: ejecuta y devuelve)Die HTTP-Bridge läuft innerhalb des MCP-Servers: Es ist kein separates Terminal nötig, um sie zu starten. Und die Polling-Schleife lebt im Builder-Modul: Auch dort muss nichts in Packet Tracer eingefügt werden.
Voraussetzungen
verwaltet Python und die Abhängigkeiten | |
Cisco Packet Tracer | getestet mit 9.0.0 (Windows) |
Claude Code | MCP-Client |
Related MCP server: packet-tracer-mcp
Inbetriebnahme (einmalig)
1. Abhängigkeiten
uv sync2. Builder-Modul in Packet Tracer installieren
packet_tracer/Builder.pts ist das Skriptmodul, das innerhalb von PT die
Funktionen definiert, die dieses Projekt verwendet (addDevice, addLink,
addModule, configureIosDevice, configurePcIp, getDevices, removeLink,
addLabel, saveTopology) sowie die Brücke, die es mit der HTTP-Bridge
verbindet. Ohne dieses Modul funktioniert nichts.
In Packet Tracer (Menüs auf Englisch, verifiziert mit PT 9.0.0):
Extensions->Scripting->Configure PT Script ModulesAdd-> wählepacket_tracer/Builder.ptsaus diesem RepoWähle Builder in der Liste ->
Settings-> aktiviere On Startup, damit das Modul jedes Mal automatisch startet, wenn du PT öffnestZur Bestätigung, dass es läuft: Im Menü
Extensionsmuss der Eintrag Builder Code Editor erscheinen. Wenn er nicht erscheint, ist das Modul nicht gestartet.
Beim Start öffnet das Modul automatisch das Fenster Builder Code Editor. Dieses Fenster beherbergt die Polling-Schleife, daher muss es geöffnet bleiben, während du arbeitest; wenn sein Titel „bridge aktiv" anzeigt, ist die Brücke funktionsfähig.
3. Projekt in Claude Code öffnen
Von einem Terminal aus, im Projektordner:
claudeClaude Code liest .mcp.json und startet den MCP-Server (und damit auch die HTTP-Bridge) automatisch. Beim ersten Mal kann es dich auffordern zu bestätigen, dass du dem Ordner vertraust.
Um zu prüfen, ob der Server verbunden ist, gib /mcp in Claude Code ein:
packet-tracer muss mit seinen Tools erscheinen.
Tägliche Nutzung
1. Abre Packet Tracer
-> la ventana "Builder Code Editor" se abre sola y debe quedarse abierta
2. En una terminal, en la carpeta del proyecto:
cd ruta/al/pt_MCP
claude
3. Dentro de Claude Code:
/pt-iniciar -> confirma que las 3 piezas respondenEs muss nichts weiter gestartet werden: weder main.py, noch Skripte in Packet
Tracer einfügen, noch zusätzliche Terminals.
Und von da an in natürlicher Sprache:
„Erstelle zwei 2911-Router, verbunden über Serial mit 10.0.0.0/30, und einen PC in jedem LAN"
/pt-desde-imagen diagramas/ejemplo-red1.jpeg— reproduziert die Topologie eines Diagramms„Konfiguriere VLAN 10 VENTAS auf SW1 und setze die Ports 1-4 auf access"
Wenn etwas nicht auf der Zeichenfläche erscheint, bitte Claude, verificar_entorno() aufzurufen:
Es sagt, welches der drei Teile ausgefallen ist und wie man es wieder hochfährt.
Struktur
Datei | Rolle |
| MCP-Server: 38 Netzwerk-Tools + eingebettete HTTP-Bridge |
| FastAPI-App der Bridge (Warteschlangen für Befehle und Ergebnisse) |
| PT-Skriptmodul, bereit zum Importieren |
| Polling-Schleife (gehört in Custom Interfaces des Moduls) |
| Ausführer mit Rückkanal (gehört in Script Engine) |
| Anweisungen und Regeln, die Claude Code befolgt |
|
|
| Eingabediagramme für /pt-desde-imagen (siehe dessen README) |
| Eigenständiges Skript, das direkt mit der Bridge spricht: Beispiel und Debugging ohne Claude |
Die beiden .js-Dateien in packet_tracer/ sind bereits in Builder.pts
enthalten; sie liegen im Repo separat vor, um sie lesen, versionieren und bei
Bedarf neu importieren zu können.
uv run python main.py funktioniert weiterhin, um die Bridge allein ohne MCP zu
starten (das ist es, was diese Debug-Skripte benötigen).
Wie ein Befehl übertragen wird
Claude ruft ein MCP-Tool auf, das in eine Zeile PT-JavaScript übersetzt.
mcp_server.pystellt sie mitPOST /add_commandin die Warteschlange.bridge.js, im Fenster Builder Code Editor, holt sie mitGET /next_commandab (alle 2 s) und ruft$se('runCodeBridge', codigo)auf.bridge_runner.jsführt sie in der Script-Engine aus und, wenn sie einen Wert zurückgibt, übergibt ihn der Seite mitevaluateJavaScriptAsynczurück.Die Seite veröffentlicht ihn mit
POST /command_resultundmcp_server.pynimmt ihn entgegen.
Schritt 4 ist notwendig, weil $se() nur bestätigt, dass der Aufruf
weitergeleitet wurde (löst zu true auf), aber niemals den Wert des
ausgeführten Codes liefert.
Jede Anfrage reist in einer eindeutigen Markierung verpackt (a1b2c3d4|...) und
nur das Ergebnis, das sie zurückbringt, wird akzeptiert. Ohne das bliebe eine
verspätete Antwort in der Warteschlange und die nächste Anfrage würde die
falsche Antwort abholen.
Bekannte Einschränkungen
Packet Tracer gibt die Ausgabe der IOS-Befehle nicht preis:
hacer_ping()undobtener_tabla_routing()senden den Befehl, aber seine Ausgabe ist nur in der Gerätekonsole innerhalb von PT sichtbar. API-Abfragen (getDevices(), Portstatus) liefern dagegen Daten.crear_dispositivo(),conectar_dispositivos(),agregar_modulo_router()undeliminar_conexion()bestätigen das tatsächliche Ergebnis ([OK] / [ERROR]). Die übrigen Schreibbefehle (IOS-Konfiguration) werden ohne Bestätigung in die Warteschlange gestellt:Exito: Comando enviadobedeutet in der Warteschlange, nicht ausgeführt.Beim Erstellen bestimmter Geräte fügt PT automatisch ein
Power Distribution Device0zur Zeichenfläche hinzu. Es erscheint in den Inventaren und ist kein Fehler.obtener_puertos_dispositivo()liest die tatsächlichen Ports des Geräts in PT, einschließlich derer der installierten Karten, und gibt an, welche frei sind.diagnosticar_red()sieht keine 802.1Q-Subinterfaces, VLANs oder Routing-Tabellen: Dass keine Fehler gemeldet werden, garantiert keine Konnektivität.Das Fenster Builder Code Editor muss geöffnet bleiben: Dort lebt die Schleife.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnects Claude with Cisco Packet Tracer 9.x to control network topologies, configure devices with IOS commands, and run diagnostics via natural language.MIT
- AlicenseNot gradedqualityCmaintenanceEnables control of Cisco Packet Tracer 9.0 via natural language, allowing creation of network topologies, device configuration, and simulation launches through an MCP interface.998MIT
- AlicenseBqualityBmaintenanceEnables automation of Cisco Packet Tracer simulations by placing devices, connecting links, and generating IOS configurations via MCP, ideal for network coursework and demonstrations.231MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control Cisco Packet Tracer in real time, allowing natural language-driven creation and configuration of network topologies.4MIT
Related MCP Connectors
Generate cloud architecture diagrams, flowcharts, and sequence diagrams.
Turns vague automation requests into tool stacks, prompts, QA checks, and human boundaries.
Designs, prices, and deploys AWS/GCP cloud infrastructure from plain-English requirements.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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