Packet Tracer MCP
Allows for the creation, configuration, validation, and explanation of network topologies in Cisco Packet Tracer, including generating CLI configurations and automated build scripts via the PTBuilder extension.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Packet Tracer MCPDesign a small office network with 2 routers, 5 PCs, and DHCP enabled."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tell your AI "create a network with 3 routers, OSPF and DHCP" β it plans, validates, generates, and deploys the topology directly into Cisco Packet Tracer in real time.
π Website: https://www.mcpnetwork.top β’ π Documentation: https://mats2208.github.io/MCP-Packet-Tracer/
Showcase
Related MCP server: nornir-mcp-server
What it does
A Model Context Protocol (MCP) server that gives any LLM (Claude, GitHub Copilot, Codex, β¦) full programmatic control over Cisco Packet Tracer.
Feature | Details | |
Planning | Natural language β topology | A single prompt becomes a complete |
IP / DHCP | Auto /24 LANs + /30 links, DHCP pools | Sequential, gateway at |
Routing | Static Β· OSPF Β· EIGRP Β· RIP | Full IOS generation |
Switching | VLANs, trunks, inter-VLAN routing (router-on-a-stick), STP, port-security |
|
Security | Device hardening (SSH, local users, enable-secret, banner), ACL/NAT | On live devices via the bridge |
IPv6 | Dual-stack addressing | Routers via CLI, hosts via SLAAC |
Wireless | WiFi laptops + auto-associated Access Points | NIC swap β |
Validation | Typed errors + auto-fixer | Wrong cables, missing ports, model upgrades |
Verification | Plan-vs-live diff, health check, real ping ( | Drift, down links, duplicate IPs β and actual reachability |
Security audit |
| Reads the device, not the plan. Credentials never leave it β only the algorithm label |
Live inspection |
| Per-port protocol/duplex/NAT/ACL state, real VLAN database, power-cycle with read-back |
Packet tracing |
| Step the simulation and read why each packet did what it did β PT's own per-OSI-layer decision log, not just pass/fail |
Telemetry |
| Collector address, UDP port, version, source interface |
Backup |
| Real startup-config + serial + config-register; project info; auto-cabling and real-network-access toggles |
Deploy | Real-time bridge to PT (auto-reconciles) | No copy-paste β commands stream directly |
Two channels | HTTP when the extension window is open, file-bridge when it's closed | PT keeps executing with the window minimized/closed |
Projects | Save / open the real | Persist the running topology, not just the plan JSON |
Export | Plans, JS scripts, CLI configs | Reusable project files on disk |
π Full tool reference, device catalog, networking guides and architecture live in the documentation site.
Installation
1. Install the server
git clone https://github.com/Mats2208/MCP-Packet-Tracer
cd MCP-Packet-Tracer
pip install -e .2. Connect your MCP client (Claude Code shown)
Linux Β· macOS Β· Git Bash Β· Windows cmd.exe:
claude mcp add --scope user --transport stdio packet-tracer -- python -m packet_tracer_mcp --stdioWindows PowerShell β quote the -- separator, or PowerShell swallows it and Claude aborts with error: unknown option '-m':
claude mcp add --scope user --transport stdio packet-tracer "--" python -m packet_tracer_mcp --stdioVerify with claude mcp list (look for packet-tracer β¦ β Connected).
3. Install the live-deploy extension β only if you want real-time deploy into a running Packet Tracer
Download V5.pts from Releases, then in Packet Tracer go to Extensions β Scripting β Configure PT Script Modules β Addβ¦ and select it. Full walkthrough in Live deploy below.
v0.6.0+ requires V5. The bridge now authenticates with a per-machine token that the V5 extension reads automatically; builds before V5 can't authenticate.
4. Install the Claude Code Skill β recommended; makes the AI use the MCP correctly instead of guessing
The repo ships a companion Agent Skill that teaches the model the exact tool catalog, the discoverβplanβvalidateβdeploy workflow, and the precise Script-Engine API (so it never invents method/model/port names). Install it globally from the repo root:
Linux Β· macOS Β· Git Bash:
mkdir -p ~/.claude/skills/packet-tracer && cp skill/SKILL.md ~/.claude/skills/packet-tracer/SKILL.mdWindows PowerShell:
New-Item -ItemType Directory -Force "$HOME\.claude\skills\packet-tracer" | Out-Null; Copy-Item skill\SKILL.md "$HOME\.claude\skills\packet-tracer\SKILL.md"Then run /reload-skills in Claude Code (or restart it) and confirm with /skills. Details β
Skill docs.
Requires Python 3.11+ (deps
mcp[cli]>=1.13,pydantic>=2.11install automatically). Full setup for every client β Installation docs.
Quick start
Just talk to your AI:
"Build a network with 2 routers, 2 switches, 4 PCs, DHCP and static routing."
The LLM calls pt_full_build, which plans β validates β generates β deploys.
See the Quick Start guide.
Live deploy
Stream topologies into a running Packet Tracer in real time. Install this repo's
own MCP Control Center extension once β the .pts from
Releases β via
Extensions β Scripting β Configure PT Script Modules β Addβ¦, then open
Extensions β MCP BUILDER. It auto-connects to the bridge β no snippet to paste.
π Full steps β Live Deploy Setup.
Clients
Any MCP client drives this server β Claude Code, Cursor, Claude Desktop, VS Code with Copilot, Codex. Nothing in it is client-specific.
There is also one built on it: PacketSmith,
a terminal app that runs these 61 tools with the network drawn beside the conversation β a
fabric tree and a canvas plan derived from the pt_* results themselves, so a device the
model says it created but did not never shows up.
This server alone | This server + PacketSmith | |
Where you talk | the MCP client you already use | a terminal app built for this one job |
What you see | a chat log, plus PT in another window | split screen: reply left, live topology right |
Topology | read out of the tool output | fabric tree and canvas plan, drawn for you |
Tools loaded | every MCP server you have configured | this one only β measurably faster to start |
Engine | whatever your client speaks | Claude, or ~150 providers |
You need this server either way β PacketSmith runs it underneath, and its setup installs it for you. If you already live in Claude Code, you are done here; the client is for when you want the topology in front of you instead of buried in a scrollback.
npm i -g packetsmith # beta Β· MITCredits & Acknowledgements
Live deploy runs through our own Packet Tracer extension β the MCP Control
Center (the .pts in Releases).
Its Script-Engine helper layer was inspired by
PTBuilder by
Kim Knight (@kimmknight), who pioneered driving
Packet Tracer's Script Engine from JavaScript β thanks for the groundwork. π
PTBuilder and Packet Tracer MCP are separate, independent projects. You install our extension, not PTBuilder. Full Credits & Attribution.
Security
Driving Packet Tracer from outside means running a local HTTP bridge whose whole job is to hand JavaScript to PT's Script Engine β code that executes with PT's own privileges, including disk access. That makes the bridge a genuine attack surface, not an implementation detail, and it is hardened accordingly.
The attack this design exists to stop. Binding to 127.0.0.1 is not a
security control. A POST with Content-Type: text/plain is a CORS simple
request: any web page open in your browser can send it to a loopback port
without a preflight and without needing to read the response. An unauthenticated
bridge therefore lets any website you visit β while Packet Tracer happens to be
open β queue arbitrary code inside it. Injection never needed to read anything
back, so same-origin policy alone never closed this.
What actually closes it is a secret the attacking page cannot guess:
Control | Implementation |
Token on every endpoint | Every route except |
| Deliberately unauthenticated so the server can tell who owns the port before trusting it β but it returns only a SHA-256 fingerprint of the token, never the token. |
Foreign-bridge detection | Before sending any payload, the server checks that |
DNS-rebinding defense | The |
Loopback bind |
|
Token at rest |
|
Body size cap | Oversized bodies are rejected with |
Silent failures | Error responses carry no CORS headers, so a hostile page cannot even distinguish why it failed. |
Tamper visibility | Unauthorized attempts are counted and surfaced by |
Regression coverage lives in tests/test_bridge_security.py
and tests/test_injection_regressions.py;
the full suite runs offline with python -m pytest β no Packet Tracer required.
v0.6.0+ requires the V5 extension. Versions before v0.6.0 shipped an unauthenticated bridge and are vulnerable to exactly the attack above. Upgrade β there is no safe configuration of the old bridge.
Deliberate, documented behaviour: pt_send_raw executes arbitrary JavaScript
inside Packet Tracer by design β it is the escape hatch for exploring the IPC
API. It is reachable only by an MCP client you have already authorised, over the
authenticated bridge. That is a capability, not a vulnerability.
Found a vulnerability? Report it privately via GitHub Security Advisories, not a public issue. SECURITY.md documents the full threat model.
What's new
v0.8.0 β the agent can now show the network, not just describe it: canvas screenshots plus notes and drawings, for topologies that document themselves. v0.7.0 made the server read a live topology, not just build one:
security auditing, per-port inspection, packet tracing with Packet Tracer's own
per-layer decision log, NetFlow, and config backup. It also fixes
pt_full_build(deploy=True), which used to report success while leaving the
canvas empty. Full list in the Changelog.
Contributing
See CONTRIBUTING.md. Tests run offline with
python -m pytest; no Packet Tracer needed.
License
Released under the MIT License β Β© 2026 Mateo (@Mats2208).
Built with MCP Β· Powered by Pydantic Β· Deploys to Cisco Packet Tracer Β· Script-engine logic inspired by PTBuilder
Terminal client built on this server β PacketSmith
If this project is useful to you, star it β and share it with the community.
This server cannot be installed
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
- AlicenseAqualityBmaintenanceAn MCP server that enables LLMs to retrieve structured network information, including routing, interfaces, MPLS, and topology, from devices using gNMI and OpenConfig models. It facilitates real-time network analysis, log filtering, and status monitoring through a standardized interface.1013BSD 3-Clause
- FlicenseAqualityFmaintenanceAn MCP server that integrates Nornir with NAPALM and Netmiko, enabling LLMs to orchestrate multi-vendor network infrastructure through natural language.52
- AlicenseBqualityDmaintenanceAn MCP server that gives Claude and other LLM agents programmatic access to EVE-NG network labs, enabling creation, configuration, and management of virtual network topologies through natural language.142Apache 2.0
- Alicense-qualityCmaintenanceMCP server for network operations that lets AI assistants interact with Cisco/Juniper network devices through safe, well-defined tools like compliance audits and configuration backups.MIT
Related MCP Connectors
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for AI dialogue using various LLM models via AceDataCloud
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/Mats2208/MCP-Packet-Tracer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server