Packet Tracer Visual MCP
Packet Tracer Visual MCP
这个项目是一个给 Packet Tracer 用的 MCP 工具。
说白了:以前你在 Packet Tracer 里要自己拖设备、连线、配路由、配 VLAN;现在可以让 Codex 通过 MCP 去干这些活。它特别适合计网课设、校园网实验、录屏演示、故障排查演示。
这个项目是独立实现,不是 Cisco 官方项目,也不冒充官方工具。
现在能做什么
读取 Packet Tracer 当前画布。
自动放设备,支持一台一台出现,录屏看起来比较直观。
自动连线,支持一条一条连。
自动分配端口,不用每条线都手写
FastEthernet0/1这种接口。内置一个中小型校园网模板:
33台设备,34条链路。自动生成完整 IOS 配置:
VLAN
Access / Trunk
跨 VLAN 通信
静态路由 / RIP / OSPF / EIGRP
DHCP
ACL
NAT/PAT
可以把 IOS 配置直接下发到 Packet Tracer 设备。
支持故障注入和修复演示,比如 OSPF 区域错误、ACL 误拦截、NAT 配错。
默认有
fast快速验收,不会一上来跑一大堆慢show命令。也能生成标准验收计划,适合最后交课设前慢慢查。
一行安装
目前还没发到 PyPI,所以先用 GitHub 安装最稳:
git clone https://github.com/lyf94697-droid/packet-tracer-visual-mcp.git; cd packet-tracer-visual-mcp; python -m pip install -e .; python scripts\build_script_engine.py然后把 MCP 配到 Codex:
[mcp_servers.packet-tracer-visual-mcp]
command = "pt-visual-mcp"
args = []启动 MCP:
pt-visual-mcpPacket Tracer 里怎么接上
推荐方式是生成并安装 .pts 持久模块,流程见:
docs/create-pts-module.md临时调试时也可以生成单文件 JS:
python scripts\build_script_engine.py然后在 Packet Tracer 里导入并运行:
extension\packet-tracer-visual-mcp-script-engine.js接着打开:
Extensions > PT Visual MCP窗口里显示 connected 就说明接上了。
如果你像旧版 cisco-pt-mcp 一样想走稳定安装,最终应当安装:
E:\mc\packet-tracer-visual-mcp\extension\packet-tracer-visual-mcp.pts这个 .pts 需要用 Packet Tracer 按 docs/create-pts-module.md 导出一次。
默认连接地址是:
ws://127.0.0.1:7541/ws计网课设能覆盖到哪
内置校园网模板就是按常见计网课设来做的:
至少 4 个 VLAN:支持,默认有 VLAN 10/20/30/40/50/99。
Access / Trunk:支持。
跨 VLAN 通信:支持。
静态路由或 OSPF:支持,还额外支持 RIP 和 EIGRP。
DHCP:支持 IOS DHCP 池,也可以做 DHCP relay 方案。
DNS / Web / FTP:服务器位置和地址规划支持,服务开关见下面说明。
NAT/PAT:支持。
ACL:支持,默认有两条允许/拒绝验证案例。
连通性测试、服务测试、NAT 测试、ACL 测试:会自动生成测试清单。
完整调试案例:支持,比如“VLAN30 不能访问 Web,但 DNS 正常”。
Server-PT 图形服务说明
网络侧我已经能自动做:IP、网关、DNS、VLAN、路由、ACL、NAT/PAT 都可以走 MCP。
但 Packet Tracer 的 Server-PT > Services 面板比较特殊。DNS、HTTP、FTP 这些开关和用户添加,取决于 Packet Tracer Script Engine 有没有暴露稳定 API。
所以当前最稳的做法是:
SRV-DNS:Services > DNS > Onwww.campus.local -> 192.168.40.20ftp.campus.local -> 192.168.40.30
SRV-WEB:Services > HTTP > OnSRV-FTP:Services > FTP > On用户:
ftpuser密码:
cisco
后续可以做一个实验功能:
先用
ptv_probeServerServices探测 Server-PT 设备对象到底暴露了哪些服务相关方法。如果有稳定 API,就加
ptv_configureServerServices,自动开 DNS/HTTP/FTP。如果没有稳定 API,就不硬吹自动化;最多提供手动步骤或非默认的 GUI 点击方案。
已经提供的探测工具:
ptv_probeDeviceApi:只读探测任意设备对象暴露了哪些方法。ptv_probeServerServices:只读扫描 Server-PT 上 DNS/HTTP/FTP/DHCP 相关的方法线索。
这两个工具不会改服务配置,只负责判断有没有稳定接口。
常用 MCP 工具
基础操作:
ptv_bridgeStatusptv_getNetworkptv_addDeviceptv_addDevicesTimelineptv_addLinkptv_addLinksTimelineptv_configurePcptv_configureIos
校园网和配置:
ptv_getCampusPlanptv_buildCampusRecordingDemoptv_generateCampusIosConfigptv_applyCampusIosConfigptv_generateIosTemplateptv_applyIosConfigSet
验收和排错:
ptv_validateCampusFastptv_generateCampusValidationPlanptv_getCommandLogptv_runShowCommandsptv_probeDeviceApiptv_probeServerServicesptv_getFaultLibraryptv_injectFaultptv_repairFault
快速录屏推荐参数
想要“看起来很快,但别乱掉”,推荐:
{
"qualityMode": "fast-safe",
"deviceDelayMs": 40,
"linkDelayMs": 20,
"autoAssignPorts": true,
"autoFallback": true,
"validatePlan": true,
"verifyAfterBuild": true,
"configureDevices": false
}如果要顺手下发配置,把 configureDevices 改成 true,但会比单纯摆拓扑慢。
验收模式
fast:默认模式。看拓扑是否建全、构建有没有失败、关键设备和链路是否存在。不跑重型show命令。standard:生成 VLAN、Trunk、路由、DHCP、NAT、ACL 的命令检查计划。strict:更适合最后交付前慢慢验。off:不验收。
录屏和快速生成用 fast,答辩前再用 standard 或 strict。
示例
课程设计示例看这里:
examples/campus-course-design.md常用提示词看这里:
examples/prompts.md本地自检
python -m pip install -e .
python scripts\check_project.py
python -m compileall src scripts
python scripts\build_script_engine.py
node --check extension\source\pt_api.js
node --check extension\source\interface\bridge.js
node --check extension\packet-tracer-visual-mcp-script-engine.js自检通过时会看到类似:
project check passed: 23 tools, 33 devices, 34 links项目结构
packet-tracer-visual-mcp/
src/pt_visual_mcp/ MCP 服务端和 WebSocket 桥接
extension/source/ Packet Tracer 扩展源码
extension/*.js 可导入 Packet Tracer 的脚本
skill/SKILL.md Codex 技能说明
examples/ 示例提示词和课设示例
docs/ 功能说明和开发笔记
scripts/check_project.py 项目自检脚本许可证
MIT License。
如果你基于别人的 MIT 项目继续改,记得保留对方的协议和署名。这个仓库当前定位是一个干净的原创实现,重点是 Packet Tracer 可视化拓扑生成、课程设计预设和 IOS 自动化。