mcpField
M
mcp-tracer

mcp-tracer

本地服务
github.com/aldoogando03-bit其他11 天前更新

关于 mcp-tracer

mcp-tracer 是供 AI Agent 设计 Cisco Packet Tracer 网络拓扑的 MCP 服务。它会检查配置并生成 PTBuilder 脚本,供用户在 Packet Tracer 中手动运行。

主要功能

  1. 01创建和编辑网络拓扑
  2. 02检查设备、端口和配置
  3. 03生成 PTBuilder JavaScript 脚本
  4. 04保存和加载拓扑文件
  5. 05内置 VLAN、OSPF、DHCP 和 NAT 提示词

适用场景

  1. 01根据自然语言需求创建 Packet Tracer 实验
  2. 02运行脚本前发现拓扑和配置错误
  3. 03导出供 Packet Tracer 使用的网络构建脚本

MCP 相关

它通过本地 stdio 向 MCP 客户端提供拓扑构建、验证和脚本生成工具。它只生成脚本,不连接或控制 Packet Tracer。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aldoogando03-bit-mcp-tracer": {
"command": "npx",
"args": [
"-y",
"mcp-tracer"
]
}
}
}
启动命令npx -y mcp-tracer

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-tracer0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-tracer

English | 西班牙语

一个 MCP 服务,可让任何 AI Agent 设计 Cisco Packet Tracer 拓扑。Agent 通过工具构建网络,mcp-tracer 会验证网络,并将其转换为 PTBuilder 扩展所需的脚本,然后你在 Packet Tracer 中运行该脚本。

npm version CI License: MIT

网站: mcp-tracer-web.vercel.app,提供分步概览,以及各 AI 客户端的配置说明。

mcp-tracer 是一个独立项目,与 Cisco Systems, Inc.、PTBuilder 及其作者均无关联,也未获得其认可或赞助。请参阅免责声明。

目录

工作原理

  1. 用通俗语言向 AI Agent 描述网络。
  2. Agent 调用 mcp-tracer 工具(build_topology,或 add_device、add_link、configure_device、configure_pc……)。服务会将拓扑保存在内存中,并立即拒绝无效输入:未知型号、型号不具备的端口、重复使用的端口,以及在 PC 上执行的 IOS 命令。
  3. validate_config 会报告尚待处理的问题:错误(脚本会在 Packet Tracer 中运行失败或中止)和警告(脚本可能无法按预期工作)。
  4. generate_script 会返回供 PTBuilder 使用的 JavaScript 脚本,或者 export_script 会将脚本写入 .js 文件。
  5. 在新的空 Packet Tracer 工作区中,将脚本粘贴到 Extensions > Builder Code Editor,然后点击 Run。PTBuilder 会创建设备和网线、应用 IOS 配置,并设置主机 IP 地址。
flowchart LR
    U([You]) -- "describe the network" --> A["AI agent (MCP client)"]
    A -- "tool calls" --> S["mcp-tracer: in-memory topology"]
    S -- "validate_config" --> V{"errors?"}
    V -- "yes: fix and retry" --> A
    V -- "no" --> G["PTBuilder script"]
    G -- "you copy and paste it" --> P["Packet Tracer: Builder Code Editor, Run"]

**mcp-tracer 不会控制 Packet Tracer。**它不会连接 Packet Tracer:无法查看你的工作区、链路指示灯或 show 输出,也无法修改正在运行的网络。它只会生成脚本,由你自行运行。拓扑保存在服务内存中,MCP 客户端重启服务后就会丢失;请使用 save_topology 保留拓扑。

要求

  • Node.js 20 或更高版本(自带 npx)。
  • Cisco Packet Tracer 8.x 或 9.x,可从 Cisco Networking Academy 获取。
  • PTBuilder 扩展,需在 Packet Tracer 中单独安装:
    1. 从 PTBuilder 仓库下载 Builder.pts。
    2. 在 Packet Tracer 中打开 Extensions > Scripting > Configure PT Script Modules。
    3. 点击 Add… 并选择 Builder.pts。(一位使用 PT 9.0.0 的用户还需要在该对话框中点击 Run。)
    4. 现在打开 Extensions > Builder Code Editor 即可进入编辑器并粘贴脚本。
  • 可运行本地 stdio 服务的 MCP 客户端,例如 Claude Desktop、Claude Code 或 Cursor。

安装

无需全局安装。MCP 客户端会通过以下命令启动服务:

npx -y mcp-tracer

手动运行时,服务会向 stderr 打印一行内容([mcp-tracer] info: v0.1.1 running on stdio),然后等待通过 stdin/stdout 连接的 MCP 客户端。这是预期行为。

从源代码构建
git clone https://github.com/aldoogando03-bit/mcp-tracer.git
cd mcp-tracer
npm ci
npm run build

然后将客户端指向 node,并提供 build/index.js 的绝对路径(见下文)。

配置

下面的每种客户端都使用相同的服务入口。编辑配置后,重启客户端(或重新加载其 MCP 服务)。

Claude Desktop

打开 Settings > Developer > Edit Config,或直接编辑文件:

  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-tracer": {
      "command": "npx",
      "args": ["-y", "mcp-tracer"]
    }
  }
}
Claude Code
claude mcp add mcp-tracer -- npx -y mcp-tracer

添加 --scope project,即可通过项目根目录下的 .mcp.json 文件与团队共享;你也可以手动创建该文件:

{
  "mcpServers": {
    "mcp-tracer": {
      "command": "npx",
      "args": ["-y", "mcp-tracer"]
    }
  }
}

在原生 Windows(非 WSL)上,请用 cmd /c 包装 npx:claude mcp add mcp-tracer -- cmd /c npx -y mcp-tracer。

Cursor

在项目的 .cursor/mcp.json 中,或在适用于所有项目的 ~/.cursor/mcp.json 中,使用相同的 mcpServers JSON。

其他 MCP 客户端

MCP 是开放标准,因此 mcp-tracer 可与任何能够启动本地 stdio 服务的 MCP 客户端配合使用;不同之处仅在于注册位置。之后,你只需用自然语言询问网络,AI 就会自行调用工具。无需输入任何特殊命令。

以下客户端读取与 Claude Desktop 所示相同的 mcpServers JSON:

  • VS Code(GitHub Copilot Agent 模式):Copilot 的可移植配置文件 ~/.copilot/mcp-config.json 可使用此 JSON。工作区的 .vscode/mcp.json 和用户 mcp.json(MCP: Open User Configuration)则使用 VS Code 自己的格式,如下所示。
  • Windsurf / Devin Desktop:在 Cascade 面板中,打开 ... 菜单,然后在 MCPs 部分点击 Open MCP config file。
  • Cline:点击 MCP Servers 图标,打开 Configure 选项卡,然后点击 Configure MCP Servers。
  • LM Studio 0.3.17 或更高版本:在右侧边栏的 Program 选项卡中,点击 Install > Edit mcp.json。
  • Gemini CLI:所有项目共用 ~/.gemini/settings.json,或使用项目中的 .gemini/settings.json。也可以运行 gemini mcp add -s user mcp-tracer npx -- -y mcp-tracer(如果不加 -s user,则会写入项目文件)。

VS Code 自己的格式使用 servers 键和 type:

{
  "servers": {
    "mcp-tracer": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-tracer"]
    }
  }
}

Zed 在其 settings.json 中使用 context_servers 键(zed: open settings file):

{
  "context_servers": {
    "mcp-tracer": {
      "command": "npx",
      "args": ["-y", "mcp-tracer"]
    }
  }
}

OpenAI Codex(CLI 和 IDE 扩展)读取 ~/.codex/config.toml,或受信任项目中的 .codex/config.toml:

[mcp_servers.mcp-tracer]
command = "npx"
args = ["-y", "mcp-tracer"]

也可以运行 codex mcp add mcp-tracer -- npx -y mcp-tracer。

要设置 MCP_TRACER_DIR,请在 args 旁添加 env 对象(在 Codex 中,则添加 [mcp_servers.mcp-tracer.env] 表)。在 Windows 上,如果客户端无法启动服务,请按照 Windows 说明中的方法,通过 cmd /c 运行 npx。

模型说明。 客户端使用的模型必须能够良好地处理工具调用。较小的本地模型可能难以应对大型拓扑。内置提示词(vlan_lab、ospf_lab、dhcp_lab、nat_lab)会有所帮助,因为其中已包含计算得出的拓扑。

目前尚不支持网页版和移动版 ChatGPT:它们只能通过 HTTPS 连接远程 MCP 服务,而 mcp-tracer 在本地通过 stdio 运行。ChatGPT 桌面应用与 Codex 共用 MCP 配置,因此可使用上述 Codex 设置;或者,也可以在 Settings > MCP servers 下将 mcp-tracer 添加为 STDIO 服务。

从源代码检出目录运行
{
  "mcpServers": {
    "mcp-tracer": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-tracer/build/index.js"]
    }
  }
}
MCP_TRACER_DIR

如果设置了 MCP_TRACER_DIR,save_topology、load_topology 和 export_script 会以该目录为基准解析相对路径;否则会以服务的工作目录为基准,而 MCP 客户端常常会将工作目录设为任意位置。路径开头的 ~ 表示你的主目录。绝对路径始终有效。

文件工具只接受各自对应的扩展名,且不区分大小写:save_topology 和 load_topology 接受 .json,export_script 接受 .js 或 .txt。其他扩展名(如 .cmd 或 .bat)都会被拒绝,因此工具调用绝不会写入可执行文件。指向目录的路径(~、.、..、单独的驱动器名,如 C:,或现有文件夹)以及文件名中包含 : 的路径也会被拒绝。路径不受限于 MCP_TRACER_DIR;未来可以考虑将路径限制在该目录下。

{
  "mcpServers": {
    "mcp-tracer": {
      "command": "npx",
      "args": ["-y", "mcp-tracer"],
      "env": { "MCP_TRACER_DIR": "C:\\Users\\you\\Documents\\pt-labs" }
    }
  }
}

使用 Claude Code:claude mcp add --env MCP_TRACER_DIR=/home/you/pt-labs mcp-tracer -- npx -y mcp-tracer。

Windows 说明

如果客户端无法启动服务(例如出现 spawn npx ENOENT),请通过 cmd 运行 npx:

{
  "mcpServers": {
    "mcp-tracer": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "mcp-tracer"]
    }
  }
}
Agent 技能(可选)

此仓库还附带一项技能 skills/mcp-tracer/SKILL.md,用于告知 Agent 何时以及如何使用这些工具:使用 build_topology 构建,始终运行 validate_config,然后移交脚本和运行步骤。它不能替代服务;请同时安装两者:

npx skills add aldoogando03-bit/mcp-tracer

工具、资源和提示词

工具

设备名称不区分大小写,且必须唯一。名称长度为 1 到 64 个字符:字母、数字、空格以及 . _ ( ) / -,并且必须以字母或数字开头(R1、Core SW (1));constructor 和 prototype 为保留名称。端口名称可以缩写(Gi0/0 会变为 GigabitEthernet0/0,Fa0/1 会变为 FastEthernet0/1)。坐标(x、y)范围为 -100000 到 100000。标记为 ? 的参数为可选参数。

输入有大小限制:每个拓扑最多包含 500 台设备和 2000 条链路;型号和端口名称最多 64 个字符,地址和掩码最多 32 个字符;每次调用和每台设备最多包含 2000 条 IOS 命令,每条命令最多 512 个字符。

工具功能参数
add_device添加设备。别名会解析为 PTBuilder 键(4331 → ISR4331,WRT300N → Linksys-WRT300N,PC → PC-PT)。如果未提供 x/y 坐标,设备将自动放置。结果会列出其端口。name、model、x?、y?
add_link用线缆连接两个端口。一个端口只能连接一条链路。如果未提供 cable,服务会自动推断。dev1、port1、dev2、port2、cable?
remove_device移除设备及其链路、IOS 命令和 IP 配置。name
remove_link移除使用指定端口的链路。device、port
rename_device重命名设备。其链路和配置会随之更新;IOS hostname 行不会更改。name、new_name
configure_device向路由器、交换机或多层交换机追加 IOS 命令。命令会在全局配置模式下运行;enable、configure terminal、end 和 write memory 行会被丢弃并报告。name、ios_commands(数组)、replace?(默认值为 false:追加)
configure_pc在 FastEthernet0 上设置主机的 IPv4 配置,支持静态配置或 DHCP。支持 PC-PT 和 Server-PT;接受 Laptop-PT 和 Printer-PT,但未经验证。ip 可接受 192.168.1.10/24,mask 可接受 255.255.255.0 或 /24。name、dhcp?(默认值为 false)、ip?、mask?、gateway?、dns?
build_topology在一次原子调用中替换整个拓扑,规则与上述四个工具相同。如果任何项目无效,则不会进行任何更改,错误信息会指出相应项目。devices、links?、ios?([{name, commands}])、pcs?(格式同 configure_pc)
get_topology以 JSON 格式返回拓扑,其中包含将要输出的位置和线缆信息。无
validate_config报告错误和警告,每项都附有稳定代码和修复方法。无
generate_script返回 PTBuilder 脚本,并在第二个文本块中列出所有警告。存在验证错误时会阻止生成。force?(默认值为 false)
reset_topology删除所有设备、链路和配置。无
save_topology将拓扑保存到 .json 文件,以供 load_topology 读取。如果名称没有扩展名,则添加 .json,并创建缺失的文件夹。path、overwrite?(默认值为 false)
load_topology使用由 save_topology 写入的 .json 文件替换拓扑(仅包含 get_topology 对象的文件也可用)。在进行任何更改前会完成完整验证。最大为 5 MB。path
export_script将 PTBuilder 脚本写入 .js 或 .txt 文件(如果名称没有扩展名,则添加 .js)。验证规则与 generate_script 相同。path、overwrite?(默认值为 false)、force?(默认值为 false)

线缆(cable):straight、cross、roll、fiber、serial、console、phone、coaxial、auto、octal、usb、custom_io。如果不填写,服务会自动选择:不同类型的设备之间(路由器或主机连接交换机或集线器)使用 straight,同类型设备之间(交换机连接交换机、路由器连接路由器、路由器连接 PC、PC 连接 PC)使用 cross,接入点连接交换机或集线器时使用 straight,连接路由器或主机时使用 cross,Serial 端口使用 serial,Console/RS232 端口使用 console。auto、roll、octal、usb 和 custom_io 会按原样传递给 PTBuilder,其行为未经验证。

**型号。**目录涵盖以下 PTBuilder 键:

  • 路由器:1841、1941、2811、2901、2911、ISR4321、ISR4331
  • 交换机:2950-24、2950T-24、2960-24TT
  • 多层交换机:3560-24PS(首选)、3650-24PS(参见限制)
  • 主机:PC-PT、Server-PT、Laptop-PT、Printer-PT
  • 其他:Hub-PT、Cloud-PT、AccessPoint-PT、Linksys-WRT300N、5505、5506-X、7960 PTBuilder 设备表中的其他任何键(例如 Router-PT 或 Switch-PT)都可以接受,但不会检查其端口和线缆。目前最安全的一组是 2911、2960-24TT、PC-PT 和 Server-PT,这些设备最常用的端口名称都已根据一手来源验证。内置提示词只使用这些设备,外加 3560-24PS。
资源
URI内容
pt://catalog所有已编入目录的型号:类别、是否接受 IOS(configure_device)或主机 IP(configure_pc)配置、板载端口及每个端口的 verified 标记、其他有效但没有目录数据的 PTBuilder 键,以及线缆类型。
pt://catalog/{model}按键或别名查询单个型号的条目:pt://catalog/2911、pt://catalog/4331。型号名称支持自动补全。
提示词

每个提示词都会为 Agent 返回分步说明:包含已计算好地址的准确 build_topology 参数、后续工具调用,以及在 Packet Tracer 中要运行的检查。所有参数都是可选的;无效值会回退到默认值,并附带说明。

提示词构建内容参数
vlan_lab一台 2960 交换机,以及每个 VLAN 对应的 PC,可选 VLAN 间路由vlans(以逗号分隔的 ID,范围为 2-1001,最多 6 个;默认值:10,20,30)、hosts_per_vlan(1-4;默认值:2)、inter_vlan(默认为 router-on-a-stick,也可为 l3-switch 或 none)
ospf_lab2911 路由器之间的单区域 OSPF,每台路由器连接一个 PC LANrouters(2-6;默认值:3)、area(默认值:0)、topology(默认为 chain;有 3 台或更多路由器时也可为 ring)
dhcp_lab一台 2911 网关、一台 2960 交换机和使用 DHCP 客户端的 PCnetwork(CIDR,/8-/30;默认值:192.168.10.0/24)、dhcp_server(默认为 router:IOS 地址池;server:需要手动配置 DHCP 服务的 Server-PT)、hosts(1-20;默认值:3)
nat_lab一台 2911 边缘路由器后方的内网 PC、一台 ISP 路由器和一台 Web 服务器nat_type(默认为 pat,也可为 static 或 dynamic)、inside_network(默认值:192.168.1.0/24)、outside_network(默认值:203.0.113.0/24)

在 Claude Code 中,这些提示词会显示为斜杠命令,例如 /mcp__mcp-tracer__vlan_lab。

完整示例

这是 small-office-dhcp 示例。以下输出来自服务本身。

你:

在 Packet Tracer 中搭建一个小型办公室:一台路由器、一台交换机和三台 PC,使用 192.168.1.0/24 网段。路由器应通过 DHCP 分配地址。

Agent 调用 build_topology:

{
  "devices": [
    { "name": "R1", "model": "2911" },
    { "name": "S1", "model": "2960-24TT" },
    { "name": "PC1", "model": "PC-PT" },
    { "name": "PC2", "model": "PC-PT" },
    { "name": "PC3", "model": "PC-PT" }
  ],
  "links": [
    { "dev1": "R1", "port1": "GigabitEthernet0/0", "dev2": "S1", "port2": "GigabitEthernet0/1" },
    { "dev1": "PC1", "port1": "FastEthernet0", "dev2": "S1", "port2": "FastEthernet0/1" },
    { "dev1": "PC2", "port1": "FastEthernet0", "dev2": "S1", "port2": "FastEthernet0/2" },
    { "dev1": "PC3", "port1": "FastEthernet0", "dev2": "S1", "port2": "FastEthernet0/3" }
  ],
  "ios": [
    {
      "name": "R1",
      "commands": [
        "hostname R1",
        "ip dhcp excluded-address 192.168.1.1 192.168.1.10",
        "ip dhcp pool OFFICE",
        "network 192.168.1.0 255.255.255.0",
        "default-router 192.168.1.1",
        "exit",
        "interface GigabitEthernet0/0",
        "ip address 192.168.1.1 255.255.255.0",
        "no shutdown",
        "exit"
      ]
    },
    { "name": "S1", "commands": ["hostname S1"] }
  ],
  "pcs": [
    { "name": "PC1", "dhcp": true },
    { "name": "PC2", "dhcp": true },
    { "name": "PC3", "dhcp": true }
  ]
}
Topology built: 5 devices, 4 links, 2 IOS configs, 3 host IP configs.

由于没有提供线缆和坐标,服务会推断线缆并按行排列设备。接下来调用 validate_config:

Warnings (1):
- [UNVERIFIED_PORT] S1 (2960-24TT): port names FastEthernet0/2 and FastEthernet0/3 are unverified in Packet Tracer; if PT names a port differently, its addLink fails silently.

No errors: generate_script will run. Warnings point at things that may not work in Packet Tracer.

此警告是预期的:2960-24TT 的 FastEthernet0/2-24 符合 Cisco 的命名方式,但目前仅确认了 FastEthernet0/1。最后,generate_script 返回脚本:

/* Generated by mcp-tracer v0.1.1 - paste into Extensions > Builder Code Editor and click Run */
addDevice("R1", "2911", 250, 100);
addDevice("S1", "2960-24TT", 250, 250);
addDevice("PC1", "PC-PT", 100, 400);
addDevice("PC2", "PC-PT", 250, 400);
addDevice("PC3", "PC-PT", 400, 400);
addLink("R1", "GigabitEthernet0/0", "S1", "GigabitEthernet0/1", "straight");
addLink("PC1", "FastEthernet0", "S1", "FastEthernet0/1", "straight");
addLink("PC2", "FastEthernet0", "S1", "FastEthernet0/2", "straight");
addLink("PC3", "FastEthernet0", "S1", "FastEthernet0/3", "straight");
configureIosDevice("R1", "hostname R1\nip dhcp excluded-address 192.168.1.1 192.168.1.10\nip dhcp pool OFFICE\nnetwork 192.168.1.0 255.255.255.0\ndefault-router 192.168.1.1\nexit\ninterface GigabitEthernet0/0\nip address 192.168.1.1 255.255.255.0\nno shutdown\nexit");
configureIosDevice("S1", "hostname S1");
configurePcIp("PC1", true);
configurePcIp("PC2", true);
configurePcIp("PC3", true);

它还会在第二个文本块中返回相同的警告。

在 Packet Tracer 中运行
  1. 选择 File > New,确保工作区为空。在已包含这些设备的工作区中运行脚本会导致设备重复。
  2. 选择 Extensions > Builder Code Editor。
  3. 粘贴完整脚本,替换编辑器中已有的任何内容,然后点击 Run。
  4. 等待所有链路指示灯变绿。交换机端口大约需要 30 秒。
检查是否正常运行
  • PC1 > Desktop > IP Configuration 应显示 DHCP,并显示从 192.168.1.11 起分配的地址以及网关 192.168.1.1。如果显示 169.254.x.x,请等链路变绿后再次点击 DHCP。
  • PC1 > Desktop > Command Prompt:运行 ipconfig,然后执行 ping 192.168.1.1,再 ping PC2 的地址。
  • R1 > CLI:运行 show ip interface brief(GigabitEthernet0/0 为 up/up)以及 show ip dhcp binding(每台 PC 对应一个租约)。

验证和限制

错误和警告

大多数错误会在调用工具时被拒绝。validate_config 是生成脚本前的最终检查,也会捕获通过 load_topology 打开的文件中的问题。错误代码保持稳定,因此 Agent 和脚本可以依赖这些代码。

错误表示脚本会在 Packet Tracer 中运行失败或中止。除非传入 force: true,否则这些错误会阻止 generate_script 和 export_script。

Code含义
UNKNOWN_MODEL该型号不是 PTBuilder 设备表中的键。
UNKNOWN_DEVICE链路、IOS 配置块或 IP 配置中指定的设备不存在。
SELF_LINK链路从某个设备连接回该设备本身(仅可能出现在编辑过的文件中:add_link 会拒绝此类链路)。
PORT_NOT_FOUND该型号没有此端口(仅对端口数量已确认的型号进行检查)。
PORT_KIND_MISMATCH这两种端口无法通过任何线缆连接,例如 Serial 和 GigabitEthernet。
CABLE_INCOMPATIBLE指定的线缆与端口不兼容。
DUPLICATE_PORT一个端口被多条链路使用。
IOS_ON_NON_IOS在非路由器、交换机或多层交换机设备上使用 IOS 命令。
PCIP_ON_NON_HOST在非主机设备上配置主机 IP。
INVALID_IP地址或掩码格式错误。
PCIP_STATIC_INCOMPLETE静态主机配置缺少 ip 或 mask。

警告表示脚本可以运行,但部分功能可能无法按预期工作:EMPTY_TOPOLOGY、UNCATALOGUED_MODEL、POWER_3650、SERIAL_NEEDS_MODULE、CABLE_UNVERIFIED、CABLE_SUSPICIOUS、UNVERIFIED_PORT、ISOLATED_DEVICE、PCIP_UNVERIFIED_PORT、HOST_STATIC_NO_GATEWAY、GATEWAY_NOT_IN_SUBNET、DUPLICATE_IP。每条消息都会说明问题及其修复方法。

限制
  • 尚未在真实的 Packet Tracer 中验证任何内容。 PTBuilder API 是根据其源代码和 Cisco 文档 (docs/PTBUILDER_API.md) 研究得出的。许多端口名称,例如大多数 2960 端口、ISR4321/4331 端口、3560/3650 端口和控制台端口,虽然遵循 Cisco 的命名方式,但尚未确认。它们会标记为 UNVERIFIED_PORT,并在 pt://catalog 中标记为 verified: false。非常欢迎提交已验证名称的报告。
  • 不支持模块。 目前尚不支持 PTBuilder 的 addModule,因此路由器没有串行端口(路由器之间请使用以太网连接),也无法添加 SFP 上行链路和 IP 电话电源适配器。
  • 3650-24PS 电源。 在 Packet Tracer 中,3650-24PS 出厂时没有电源,而 PTBuilder 无法添加电源,因此它可能会一直处于关闭状态。请使用 3560-24PS。
  • PT 中的静默失败。 脚本不会检查 addDevice 和 addLink 的返回值,因此 PT 拒绝的设备或链路会直接缺失。无效的 IOS 命令也会静默失败。若对不存在的设备调用 configureIosDevice 或 configurePcIp,会抛出异常并停止执行脚本的其余部分。
  • 每个脚本只运行一次,并在空工作区中运行。 再次运行脚本,或在已有设备的工作区中运行脚本,都会重复创建设备。
  • PTBuilder 需要单独安装,且它只能执行其 API 提供的功能。服务器服务(例如 dhcp_lab 中的 Server-PT DHCP 服务)必须手动设置,主机寻址也仅支持 IPv4。
  • 无法实时控制。 mcp-tracer 不会读取 Packet Tracer 的状态(参见工作原理)。

开发

npm ci
npm run build
脚本功能
npm run build将 src/ 编译到 build/(会先清理)。
npm run dev使用 tsx 直接从源代码运行服务,无需构建。
npm start运行 build/index.js(一个等待客户端连接的 stdio 服务)。
npm run typecheck执行类型检查,不生成输出文件。
npm test使用 Vitest 运行测试套件(监视模式请用 npm run test:watch)。
npm run examples先构建,然后重新生成 examples/*/script.js。如果示例存在验证错误,则会失败。node scripts/build-examples.mjs --check 只检查脚本是否为最新版本。

要手动试用该服务,请使用 MCP Inspector:npx @modelcontextprotocol/inspector node build/index.js。

CLAUDE.md 介绍了架构、约定和脚本生成器的规则。CONTRIBUTING.md 说明了如何参与贡献;另请参阅变更日志。

免责声明

mcp-tracer 是一个独立的社区项目,与 Cisco Systems, Inc. 无关联,也未获其认可或赞助。Cisco 和 Cisco Packet Tracer 是 Cisco Systems, Inc. 和/或其关联公司的商标或注册商标。此处仅使用这些名称来说明本软件所适用的对象。

mcp-tracer 也与 PTBuilder 及其作者无关联。PTBuilder 是一个独立项目,拥有自己的条款;其代码库未声明任何许可证。mcp-tracer 不包含或重新分发任何 PTBuilder 代码。它生成调用 PTBuilder 函数的脚本,而 PTBuilder 由你自行从其代码库安装。其文档(docs/PTBUILDER_API.md)以 PTBuilder 自己的措辞介绍其行为,并链接到 PTBuilder 的源代码,而不是复制相关内容。mcp-tracer 使用 PTBuilder API 所接受的模型键名称(例如 ISR4331 或 PC-PT),仅用于互操作。

你需要自行获取合法来源的 Cisco Packet Tracer 副本。

许可证

MIT © 2026 Aldo Ariel Ogando Peña (A-TECH)

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。