Skip to content

MCP Tools

Packet Tracer MCP exposes 36 tools, grouped below by purpose. Tools that touch a running Packet Tracer require the live bridge to be connected.

Discover first

Call pt_list_devices (and pt_list_modules before installing expansion cards) so the LLM uses real model names, ports and cables from the catalog. Most NAT/ACL/module tools accept dry_run=True to preview the generated CLI/JS without touching PT.

Catalog & discovery

Tool What it does
pt_list_devices List all 74 device models with their exact ports + ~100 aliases.
pt_get_device_details Ports/details for one model (accepts a model name or alias).
pt_list_templates List the 9 topology templates and their defaults.
pt_list_modules List expansion modules; optional router_model / category filter.
pt_list_projects List saved projects under the exports directory.

Planning

Tool What it does
pt_plan_topology Generate a full TopologyPlan (devices, links, IPs, routing, DHCP).
pt_estimate_plan Fast dry-run: device/link/subnet counts and complexity, no full plan.
pt_validate_plan Validate a plan; returns typed errors and warnings.
pt_fix_plan Auto-fix a plan (cables, port reassignment, model upgrades).
pt_explain_plan Explain the plan's design choices in natural language.

Generation & export

Tool What it does
pt_generate_script Emit the PTBuilder JavaScript (lwAddDevice/lwAddLink/…).
pt_generate_configs Emit IOS CLI configs for every router and switch + host settings.
pt_export Write script, per-device configs and plan JSON to projects/<name>/.
pt_load_project Load a previously saved project's plan.
pt_full_build One-shot pipeline: plan → validate → generate → explain → (deploy).
pt_deploy Copy the PTBuilder script to the clipboard + export files.

Live bridge

Tool What it does
pt_bridge_status Check the HTTP bridge + whether PT is connected.
pt_live_deploy Stream a plan into a running PT (devices, links, configs).
pt_query_topology List devices currently in PT with ports and per-port IPs.
pt_export_topology Full snapshot: positions, per-interface IPs, links, cable info.
pt_send_raw Run arbitrary JS in PT's Script Engine (wait_result injects reportResult).

Live editing

Tool What it does
pt_add_device Add one device (validates name, model, no duplicates).
pt_add_link Link two devices; validates ports are free; infers cable if omitted.
pt_delete_link Remove the link on a given interface.
pt_delete_device Delete a device (via getLogicalWorkspace().removeDevice()).
pt_rename_device Rename a device.
pt_move_device Move a device to new canvas coordinates.
pt_set_port Low-level port attributes (bandwidth, duplex, description, MAC, power).
pt_add_module Install one expansion module (auto power-cycle).
pt_install_modules_batch Install several modules in one power-cycle (preferred for many).

NAT & ACL

Tool What it does
pt_apply_nat Apply NAT/PAT (static / dynamic / pat) on a live router.
pt_remove_nat Remove a NAT/PAT configuration.
pt_apply_acl Build, validate and apply a standard/extended/named ACL via CLI.
pt_apply_acl_object Same, via PT's ACL object API (faster, fewer modal popups).
pt_remove_acl Remove an ACL (and unbind it) via CLI.
pt_remove_acl_object Remove an ACL via the object API.

Cable types for pt_add_link

Valid: straight, cross, serial, fiber, console, roll, phone, coaxial, auto, usb. Aliases: crossovercross, rolloverroll. Omit cable_type to infer it from the device categories.