The MCP server that puts Cisco Packet Tracer under your AI agent's control.
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
---
Introduction
pktctl lets an AI agent build, configure and test networks in Cisco Packet
Tracer the way a person would, but through a programmatic interface instead of
the mouse. You describe the network you want; the agent places the devices,
cables them, types the IOS configuration at each console, runs ping from the
end hosts and reads the results back, all inside the Packet Tracer window you
already have open.
It is a server for the Model Context Protocol
(MCP), the open standard that AI clients such as Claude Code, Claude Desktop
and Cursor use to call external tools. pktctl gives those clients 72 tools
that cover Packet Tracer's logical and physical workspaces, simulation mode,
end-device applications and activities, plus direct access to the complete
IPC API for anything else.
pktctl talks to Packet Tracer through **PTMP**, the native protocol Packet
Tracer offers to registered external applications. That choice shapes how it
behaves:
- **Nothing to keep open inside Packet Tracer.** There is no extension window
and no polling bridge between the agent and the simulator; a single
registration is enough.
- **Fast and precise.** Calls round-trip in well under a millisecond, and
call_ipc checks every argument against the official API before sending it.
- **Readable failures.** Errors come back as typed messages the agent can act
on (Device: IPC Cache entry), never as a modal dialog that freezes the
application.
- **One self-contained binary.** No runtime, interpreter or package manager is
needed to run it. On Linux it uses the desktop's X11, Wayland and PipeWire
libraries for window captures, which desktop distributions already ship.
pktctl is useful to students practicing CCNA labs, to instructors preparing
and checking activities, and to anyone who wants to automate or document
network scenarios in Packet Tracer.
An example
Asked for two sites joined by OSPF, with DHCP on each LAN and a web server at
headquarters, an agent using pktctl placed and cabled the routers, switches and
hosts, configured both routers, requested the DHCP leases and checked the
result: OSPF adjacency in FULL state, the remote LAN in the routing table,
and ping and traceroute from the branch to headquarters.
Contents
- Requirements
- Installation
- What you can do
- How it works
- Configuration
- Troubleshooting
- Documentation
- Contributing
- License
Requirements
| Requirement | Notes |
|---|---|
| Cisco Packet Tracer 9.0.1 | Available at no cost from Cisco Networking Academy. |
| Rust 1.88 or newer | Only to build from source. Install it with rustup. |
| An MCP client | Claude Code, Claude Desktop, Cursor or any client that runs stdio MCP servers. |
pktctl builds on Linux, macOS and Windows. Every live validation so far ran on
macOS; the registration paths for the other systems are described in
ExApp registration.
Installation
Installation takes five steps. Only the fourth one happens inside Packet
Tracer, and it is done once.
1. Install the binary
**Prebuilt.** Each release
carries archives for macOS 11 or newer (Apple Silicon and Intel), Linux with
glibc 2.39 or newer (Ubuntu 24.04, Debian 13; x86_64 and ARM64) and Windows. Unpack the one for your system and put pktctl somewhere
permanent, such as ~/.local/bin. To check an archive before running it:
The attestation proves the archive was built by this repository's release
workflow. macOS quarantines binaries downloaded with a browser; clear the flag
with xattr -d com.apple.quarantine pktctl, or download with curl, which does
not set it. The binaries are not notarized by Apple.
With cargo-binstall, the same
prebuilt archive is fetched and installed in one step:
**From source.** With Rust 1.88 or newer, from crates.io:
The development version on main: