Skip to content

Installation

Requirements

Requirement Version Notes
Python 3.11+
mcp[cli] ≥ 1.13, < 2 Installed automatically
pydantic ≥ 2.11, < 3 Installed automatically
Cisco Packet Tracer 8.2+ (tested on 9.0 and 9.0.1: Windows, macOS, Linux) Only for live deploy
MCP Control Center extension latest This project's own PT extension (.pts in Releases), only for live deploy — see Live Deploy Setup

pydantic ≥ 2.11 is required

Modern mcp builds tool output schemas from return annotations and needs pydantic ≥ 2.11. An older pydantic makes the server crash on startup. The pinned dependencies handle this for you; just don't force an older pydantic.

Let your AI agent install it

Paste this into Claude Code, OpenCode, Codex or any coding agent:

Install the Packet Tracer MCP from https://github.com/Mats2208/MCP-Packet-Tracer and set everything up for me.

The agent follows llms-install.md, does every step below, and leaves you one click: Yes when Packet Tracer asks to enable the extension.

Install the server

Install uv, which brings its own Python:

curl -LsSf https://astral.sh/uv/install.sh | sh                          # macOS · Linux
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"   # Windows

There is nothing else to install: the client runs the server with uvx packet-tracer-mcp --stdio, which downloads and caches it on first use.

pip

pip install packet-tracer-mcp also works (then the command is python -m packet_tracer_mcp --stdio), but on macOS/Homebrew and recent Linux distros a plain pip install is refused with externally-managed-environment (PEP 668). Use uv or a virtualenv there.

Or from source, if you want to modify it:

git clone https://github.com/Mats2208/MCP-Packet-Tracer
cd MCP-Packet-Tracer
pip install -e .

The extension is not part of the package

The server and the skill come from the package; the .pts extension is a module compiled by Packet Tracer itself, so it ships as a release asset and Packet Tracer only accepts it through its own Extensions menu.

Connect your MCP client

Linux · macOS · Git Bash · Windows cmd.exe:

claude mcp add --scope user --transport stdio packet-tracer -- uvx packet-tracer-mcp --stdio

Windows PowerShell — quote the -- separator:

claude mcp add --scope user --transport stdio packet-tracer "--" uvx packet-tracer-mcp --stdio

PowerShell eats a bare --

In Windows PowerShell the bare -- separator is consumed before it reaches the claude CLI, so Claude treats the following -m as one of its own options and aborts with error: unknown option '-m'. Quoting it ("--") passes it through literally. Alternatively use the cmd.exe/Git Bash form above, or wrap the whole command in cmd /c "…".

Verify (any shell):

claude mcp list
# packet-tracer: uvx packet-tracer-mcp --stdio - ✓ Connected

Remove later with claude mcp remove packet-tracer --scope user.

Add to your MCP config (.vscode/mcp.json or user settings):

{
  "servers": {
    "packet-tracer": {
      "type": "stdio",
      "command": "uvx",
      "args": ["packet-tracer-mcp", "--stdio"]
    }
  }
}

Any MCP client that supports stdio servers:

{
  "mcpServers": {
    "packet-tracer": {
      "command": "uvx",
      "args": ["packet-tracer-mcp", "--stdio"]
    }
  }
}

Live deploy extension (optional)

To stream topologies into a running Packet Tracer, also install this project's own MCP Control Center extension:

  1. Download MCP-Control-Center.pts from Releases (latest).
  2. In Packet Tracer: Extensions → Scripting → Configure PT Script Modules → Add…, select MCP-Control-Center.pts, and confirm.
  3. Open Extensions → MCP BUILDER — it auto-connects to the bridge.

Linux (verified on Ubuntu 26.04 with PT 9.0.1)

  • PT ships as a single AppImage in /opt/pt, so there is no extensions folder to copy the module into: step 2 above is the way on Linux.
  • Accept the EULA once by running packettracer in a terminal. Started from the menu, PT waits for an answer it never gets and no window appears.
  • On Ubuntu 26.04 PT also needs sudo apt install libopengl0 libts0t64 (otherwise: libOpenGL.so.0: cannot open shared object file).
  • PT's user folder is ~/pt; saved labs go to ~/pt/saves.

Full walkthrough → Live Deploy Setup.

Agent Skill (required in practice)

The package 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 the AI drives the MCP from verified facts instead of guessing. Install it into your agent's skills folder:

uvx packet-tracer-mcp install-skill                          # Claude Code, OpenCode → ~/.claude/skills
uvx packet-tracer-mcp install-skill --dest ~/.agents/skills  # Codex

Then run /reload-skills (or restart your agent) and confirm with /skills. Full details → Claude Code Skill.

Transport modes

  • stdio (recommended for desktop clients): the client spawns the server as a child process. The internal HTTP bridge to Packet Tracer (:54321) still starts automatically inside that process — live deploy works the same.
  • streamable-http (http://127.0.0.1:39400/mcp): start the server yourself with python -m packet_tracer_mcp and let multiple clients share one instance.

If the client can't find uvx

A shell or app opened before installing uv doesn't see it yet: restart it, or put the full path in command (~/.local/bin/uvx on macOS/Linux, %USERPROFILE%\.local\bin\uvx.exe on Windows).

Next: run the Quick Start example.