Packet Tracer MCP
MCP server for Cisco Packet Tracer 9 — live IOS, OSPF, BGP, NAT, VLAN, VoIP, QoS, IPv6, wireless.
Connector by Jcorderop02 · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Packet Tracer MCP?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/jcorderop02-packet-tracer-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 19 read · 28 write · 3 delete · 7 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 57
Read from the source code; the running server may list different tools.
Read 19 · Look things up without changing anything.
pt_diff_snapshotspt_explain_canvaspt_forecastpt_get_device_detailspt_inspect_canvaspt_inspect_portspt_list_devicespt_list_modulespt_list_recipespt_list_snapshotspt_load_snapshotpt_mend_canvas
Show 7 more tools
pt_plan_reviewpt_query_topologypt_read_aclpt_read_project_metadatapt_read_vlanspt_screenshotpt_show_running
Write 28 · Create, change, send or run things.
pt_add_canvas_annotationpt_add_devicept_add_modulept_apply_advanced_routingpt_apply_ipv6pt_apply_servicespt_apply_switchingpt_apply_voippt_apply_wirelesspt_bridge_statuspt_configure_subinterfacept_cook_topology
Show 16 more tools
pt_create_linkpt_manage_clusterspt_move_devicept_rename_devicept_run_clipt_run_cli_bulkpt_save_pktpt_save_pkt_to_bytespt_save_snapshotpt_send_pdupt_send_rawpt_set_device_powerpt_set_pcpt_simulation_modept_simulation_playpt_traceroute
Delete 3 · Delete, drop, revoke or wipe things.
pt_clear_canvaspt_delete_devicept_delete_link
Not yet classified 7 · We could not tell from the name and description.
pt_auto_layoutpt_configure_server_dhcppt_generate_configspt_open_pktpt_open_pkt_from_bytespt_pingpt_show_bgp_routes
Secrets and settings it asks for
Other settings (environment variables or headers).
BRIDGE_PORT
Files it touches
- Any path the agent passes to its tools
Tools (57)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
pt_add_canvas_annotationDecorate the canvas with a note, line, or circle (LogicalWorkspace.addNote/drawLine/drawCircle). Returns the new annotation's UUID.
pt_add_devicePlace a single device in the active Logical workspace and rename it to the requested name. Coordinates are in PT's logical canvas units. Auto-placement policy when x/y are omitted: routers at y=100, accesspoints at y=175, switches at y=250, endpoints at y=400, servers at y=480, clouds at y=20; X advances 250 units per slot in the same row. The server reads the live canvas to pick the next free column for the device's category. To get a clean topology pass x/y for nothing — let the grid do the work, then call pt_auto_layout at the end if you want to re-align everything.
pt_add_moduleInstall a hardware module (NIM-2T, HWIC-2T, NIM-ES2-4, ...) into a router slot. Idempotent: if the slot already holds the requested module, returns success without touching the chassis.
pt_apply_advanced_routingApply advanced routing intents (BGP, HSRP, IGP extras like passive-interface and default-information originate) to routers on the live canvas. Each block writes running→startup per device.
pt_apply_ipv6Configure dual-stack IPv6 on routers (unicast-routing, interface addresses, OSPFv3, static routes) and IPv6 hosts on PCs/laptops/servers.
pt_apply_servicesApply L3 services (ACLs, NAT, DHCP server/relay, NTP, Syslog) to the live canvas. Each block is grouped per device and pushed as one bulk per service.
pt_apply_switchingApply L2 switching intents (VLANs, trunks, port-security, EtherChannel) to switches on the live canvas. Each helper groups CLI per device and pushes one bulk per switch.
pt_apply_voipConfigure CME (telephony-service / ephone-dn / ephone) on a router and voice VLANs on an access switch through IOS CLI.
pt_apply_wirelessApply wireless SSID/security on APs and associate wireless clients through Packet Tracer's native WirelessServer/WirelessClient IPC processes.
pt_auto_layoutRe-grid the entire live canvas into a clean topology-aware layout. Reads every device, classifies it (router / switch / AP / endpoint / server / cloud), and assigns coordinates by category row plus column alignment with the parent device (switches column-aligned with their router, endpoints with their switch). Use this after the AI has built a topology with manual coordinates to make it look like a recipe-built lab. Idempotent: running it twice on the same canvas is a no-op.
pt_bridge_statusReport whether the packet-tracer-mcp bridge is currently being polled by Packet Tracer, and emit the bootstrap snippet that activates the polling loop inside PT's webview.
pt_clear_canvasWipe the entire PT canvas (File > New) via AppWindow.fileNew. DESTRUCTIVE: removes every device, link, note and PDU in the active workspace. Requires confirm=true. Returns the list of device names that existed before the wipe.
pt_configure_server_dhcpConfigure DHCP service on a Server-PT device using the native IPC API (addPool + setNetworkMask/setDefaultRouter/setStartIp/setEndIp/setDnsServerIp/setMaxUsers + addExcludedAddress). LIMITS — confirmed dead-ends in PT 9.0 via prototype reflection: (a) TFTP server / DHCP option-150 has NO setter on Server-PT — pool exposes getTftpAddress but no setTftpAddress, no setOption*, no setBootFile, no setSiaddr; addNewPool's documented 8-arg signature returns Invalid arguments for arities 1..12. (b) Domain name has no setter (only getDomainName). (c) maxUsers and endIp are coupled: PT recalculates one …
pt_configure_subinterfaceBuild router-on-a-stick: configure 802.1Q subinterfaces on a router's parent interface (one block per VLAN). Brings the parent up first, then emits 'encapsulation dot1Q <vlan> + ip address' per VLAN. Pair with a switch trunk (pt_apply_switching trunk) to complete the inter-VLAN routing setup.
pt_cook_topologyBuild a recipe's blueprint and apply it to the live workspace: places devices, wires links, addresses ports, configures routing. Idempotent against partial state.
Show 42 more tools
pt_create_linkCable two existing devices together. Cable defaults to copper straight-through; use 'cross' for switch trunks, 'serial' for WAN P2P (requires HWIC-2T module on ISR routers — add it first with pt_add_module), 'fiber', 'console' or 'coaxial' as needed. Convention: 'straight' for LAN segments (router↔switch, switch↔PC); 'serial' for WAN exterior P2P between routers crossing a public/ISP network. SAFETY: refuses straight/cross between two routers without `confirm_internal_lan: true` to prevent the common mistake of cabling WAN exterior links with Ethernet.
pt_delete_deviceRemove a device (and all of its links) from the active workspace. Self-verifies the deletion by re-snapshotting the topology.
pt_delete_linkRemove the cable attached to one specific device port. Use this when you need to re-cable without deleting either device.
pt_diff_snapshotsCompare two snapshots (or one snapshot vs the live canvas) and describe what changed: added/removed devices and links, changed IPs, masks, link state and power state.
pt_explain_canvasRender a human-readable narration of the live workspace: inventory counts, per-router subnets, dangling addresses. Read-only.
pt_forecastDry-run estimator. Build the blueprint for a recipe and report what it would allocate, without touching the live canvas.
pt_generate_configsOffline generator. Builds a recipe blueprint and synthesises the IOS CLI each device would receive — without touching PT or the bridge. Useful for documentation, classroom material, or replicating the lab on real hardware. Endpoints (PCs, APs, phones) get human-readable notes instead of CLI.
pt_get_device_detailsInspect a single device: model, type, power state, and live port-by-port snapshot (IP, mask, connection state).
pt_inspect_canvasSnapshot the live workspace and report duplicate IPs, unaddressed router uplinks, mismatched router-peer subnets, and similar findings. Read-only.
pt_inspect_portsLive per-port status: link presence, isPortUp, isProtocolUp, MAC, IP/mask, wireless flag — read directly from the Port objects.
pt_list_devicesEnumerate the device models that packet-tracer-mcp knows how to instantiate, with their port lists and the alias shortcuts accepted by other tools.
pt_list_modulesEnumerate hardware modules. Without `device`: PT's full catalog (filterable). With `device`: the modules physically installed in that chassis right now (slotPath → name).
pt_list_recipesEnumerate the topology recipes pt_cook_topology can build, with their parameter shape.
pt_list_snapshotsList every persisted canvas snapshot, sorted from newest to oldest.
pt_load_snapshotLoad a saved snapshot and diff it against the live workspace. Reports added/removed/changed devices, ports, and links since the snapshot was taken.
pt_manage_clustersInspect and prune logical clusters on the canvas. `list` returns the cluster tree; `remove` deletes a cluster by id; `uncluster` dissolves it while keeping its members. Note: programmatic cluster *creation* is not reachable from PT 9's IPC (requires UI selection).
pt_mend_canvasInspect the live workspace and apply safe, conservative repairs (e.g. powering on devices that have active links). Reports remaining issues that need a human decision.
pt_move_deviceReposition a device on the logical canvas via Device.moveToLocation(x, y).
pt_open_pktOpen a .pkt file into the active PT workspace via AppWindow.fileOpen. PT's native fileOpen MERGES the file with the existing canvas; pass replace=true (default) to wipe the canvas first via fileNew(false). PT 9 encrypts .pkt with per-file key derivation so the leading bytes are not a stable magic; validity is decided by FileOpenReturnValue=0 from PT. Returns deviceCount before/after.
pt_open_pkt_from_bytesOpen a .pkt provided as base64 bytes (no permanent file required on disk). The server asks PT to write the bytes to a temp path inside its user folder via SystemFileManager.writeBinaryToFile, then triggers fileNew(false)+fileOpen and removes the temp. PT 9 encrypts .pkt with per-file key derivation so there is no stable magic to validate server-side; validity is decided by FileOpenReturnValue=0 from PT. Useful when bytes come from a remote source (DB, MCP client) and the server filesystem is not visible to PT.
pt_pingRun `ping <target>` on a device (PC or router) and return the parsed result: sent/received/lost/success rate plus the raw transcript. Auto-detects PC vs router output format.
pt_plan_reviewValidate a topology plan BEFORE touching the canvas. The LLM declares devices, links and LAN roles; the tool returns a structured review with errors (will definitely fail), warnings (likely wrong) and a human-readable summary. MANDATORY for any topology with ≥3 routers or whenever the user supplies a diagram. Present the output VERBATIM to the user and wait for confirmation before calling pt_add_device. This is the single biggest leverage to avoid the common mistakes (Gigabit on WAN exterior, PCs on transit LANs, ad-hoc layout).
pt_query_topologySnapshot the live topology in Packet Tracer: returns name, model, classname and coordinates for every user-placed device.
pt_read_aclRead the live ACLs of a router via AclProcess: per-ACL canonical commands as PT would render them in 'show running-config | section access-list'.
pt_read_project_metadataRead NetworkFile metadata of the .pkt currently open in PT: description, file version, and the on-disk filename if it has been saved.
pt_read_vlansRead the live VLAN database of a switch via VlanManager (id, name, default flag, MAC table size).
pt_rename_deviceRename a device. Refuses if the new name is already taken so you don't accidentally collapse two devices into one.
pt_run_cliSend a CLI command to a router or switch and return the slice of console output produced by it. Uses the device's getCommandLine().enterCommand() entry point.
pt_run_cli_bulkPush a multi-line CLI block (e.g. an OSPF/EIGRP stanza or a sequence of `ip nat` rules) to a device. Returns a structured payload with the count of commands sent, a truncation flag, and the captured output.
pt_save_pktSave the active PT canvas to a .pkt file at an absolute path via AppWindow.fileSaveAsNoPrompt. Returns the final size in bytes and a SHA-1 checksum for verification. Pkz format is intentionally not supported (PT 9 silently fails to write it).
pt_save_pkt_to_bytesSave the active PT canvas and return the .pkt as base64 bytes (no permanent file). PT writes to a temp path inside its own user folder via fileSaveAsNoPrompt, the server reads the bytes back chunked through SystemFileManager.getFileBinaryContents, then PT removes the temp. Useful when the server and PT do not share a filesystem (remote PT) or the caller wants the bytes in-memory.
pt_save_snapshotCapture the current live workspace and persist it to disk under the given name. Useful for diff/audit later.
pt_screenshotCapture the Logical workspace as a PNG/JPG file via LogicalWorkspace.getWorkspaceImage. Returns the path of the saved file. The image is base64-streamed over the bridge then decoded and written on disk by the server.
pt_send_pduOriginate a Simple PDU (ICMP echo) from one device to another via UserCreatedPDU.addSimplePdu. Returns the scenario index assigned to the PDU. Verified on PT 9 real (probe-fase8b 2026-04-29).
pt_send_rawEscape hatch: ship arbitrary JS to PT's Script Engine. Useful when no specialised tool covers what you need yet — call e.g. 'return ipc.network().getDeviceCount();'. Prefer the typed tools when they exist.
pt_set_device_powerToggle a device's power switch (Device.setPower). Idempotent: returns 'already' when the requested state is already in effect. After power-on the boot dialog is dismissed via skipBoot.
pt_set_pcConfigure an endpoint (PC, laptop, server) for static IP or DHCP. In static mode you must pass ip+mask; gateway is optional.
pt_show_bgp_routesRun `show ip bgp` on a router and parse the BGP table into rows (status, network, next-hop, metric, localpref, weight, path). PT 9 has no BgpProcess JS API, so this is the only way to inspect live BGP state.
pt_show_runningCapture `show running-config` (optionally filtered by `| section`) on one or more devices. Returns a banner per device followed by its captured config slice. Useful for snapshotting state, diffing recipes, or confirming an applier landed on PT real.
pt_simulation_modeToggle PT between Realtime and Simulation modes via the RSSwitch widget. After switching to simulation, use pt_send_pdu to originate traffic and pt_simulation_play to advance.
pt_simulation_playTrigger one of the SimulationPanel buttons (play/back/forward/reset). Caller must put PT in Simulation mode first via pt_simulation_mode — calling 'play' from Realtime is a no-op.
pt_tracerouteRun `traceroute`/`tracert` on a device and return the parsed hop list. Sends both command names so it works on PCs (tracert) and IOS routers (traceroute); the wrong one is rejected by the parser and ignored.
Signals
- Stars
- 14
- Forks
- 3
- Open issues
- 0
- Last commit
- May 1, 2026 (6 months ago)
- Last release
- May 1, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.Jcorderop02/packet-tracer-mcp- Version
- 0.1.1
- Auth
- No auth
- Packages
- npm packet-tracer-mcp
- License
- MIT
- Repository
- github.com/Jcorderop02/packet-tracer-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Packet Tracer MCP running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Packet Tracer MCP. Agent Mart. https://agentmart.dev/connectors/jcorderop02-packet-tracer-mcp (last updated 2026-10-24)