Token导航 LogoToken导航TokenDH.com
Packet Tracer (packet-tracer-mcp) logo
AI代理stdio官方级别未说明来源级核验

Packet Tracer (packet-tracer-mcp)

MCP Server

MCP服务器允许任何LLM(如Copilot、Claude等)实时创建、配置、验证和部署完整的网络拓扑到Cisco Packet Tracer中。

工具数

25

提示词数

0

GitHub Stars

2

资源数

0
PythonClaudeAI代理ClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DavidIlie

提供方

DavidIlie

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

数据包跟踪器MCP服务器

MCP服务器,允许任何LLM(Copilot、Claude等)实时创建、配置、验证和部署完整的网络拓扑到Cisco Packet Tracer。

告诉它“用3个路由器、DHCP和OSPF为我构建一个网络”,服务器就会规划拓扑结构,验证一切,生成脚本和配置,并将其直接部署到PT中。

使用Python 3.11+、Pydantic 2.0+、FastMCP、流式HTTP构建。

Packet Tracer Screenshot

特性

  • 完整管道 --从单个提示中规划、验证、自动修复、生成和部署拓扑
  • 实时部署 --通过HTTP网桥直接向Packet Tracer发送命令,无需复制粘贴
  • 22个MCP工具 --涵盖从设备目录查询到实时拓扑操作的所有内容
  • 双向CLI --从PT内部的路由器和交换机读回CLI输出
  • 自动IP规划 --自动分配/24个局域网和/30个路由器间链路
  • 验证+自动修复 --捕获15种错误类型并自动更正电缆、型号和端口
  • 多种路由协议 --静态、OSPF、RIP,可生成完整配置
  • 9拓扑模板 --单局域网、多局域网、星型、中心辐射、分支机构、路由器等

运作原理

┌─────────┐         ┌──────────────┐   HTTP    ┌──────────────┐  $se()  ┌──────────────┐
│   LLM   │  MCP    │  MCP Server  │  :54321   │  PTBuilder   │  IPC   │ Packet Tracer│
│(Copilot)│ ──────► │  (:39000)    │ ────────► │  (WebView)   │ ─────► │   (Engine)   │
└─────────┘         └──────────────┘           └──────────────┘        └──────────────┘

两个HTTP服务器同时运行:

端口用途目的
39000MCP服务器(可流式传输的http)接收来自LLM/编辑器的工具请求
54321内部HTTP桥向数据包跟踪器内的PTBuilder发送JS命令

MCP服务器规划拓扑,生成PTBuilder JavaScript+IOS CLI配置,并将其推送到网桥。PTBuilder的QWebEngine网络视图每500毫秒轮询一次网桥,并通过以下方式在PT的脚本引擎中执行命令 $se('runCode', ...).

______________________________________________________________________

设置

1.安装

git clone https://github.com/DavidIlie/packet-tracer-mcp.git
cd packet-tracer-mcp
pip install -e .

2.启动服务器

python -m src.packet_tracer_mcp

这将启动MCP服务器 0.0.0.0:39000 (局域网可访问)和HTTP网桥 127.0.0.1:54321 自动。

主机选择(按优先级顺序):

  • --host 127.0.0.1 标志--仅限本地主机
  • PT_MCP_HOST env 是
  • 违约: 0.0.0.0 (所有接口)
标准模式(调试/传统): python -m src.packet_tracer_mcp --stdio

从局域网上的另一台机器连接

默认情况下,服务器绑定到所有接口。要从另一台笔记本电脑访问它:

  1. 查找您的主机IP(ipconfig 在Windows上, ifconfig 在macOS/Linux上)——例如。, 10.1.0.7
  2. 在Windows防火墙上打开端口39000(PowerShell作为管理员):
   New-NetFirewallRule -DisplayName "packet-tracer-mcp" -Direction Inbound -LocalPort 39000 -Protocol TCP -Action Allow -Profile Private,Domain
  1. 在远程计算机上,将MCP客户端指向 http://:39000/mcp 而不是 127.0.0.1.

HTTP网桥(端口54321)仅绑定到localhost——Packet Tracer与服务器运行在同一台机器上,因此不需要远程访问。

3.配置您的MCP客户端

克劳德代码:

claude mcp add --transport http packet-tracer http://127.0.0.1:39000/mcp

VS Code -- .vscode/mcp.json:

{
  "servers": {
    "packet-tracer": {
      "url": "http://127.0.0.1:39000/mcp"
    }
  }
}

克劳德桌面版 -- claude_desktop_config.json:

{
  "mcpServers": {
    "packet-tracer": {
      "url": "http://127.0.0.1:39000/mcp"
    }
  }
}

4.连接数据包跟踪器

  1. 开放数据包跟踪器8.2+
  2. 首选 扩展>生成器代码编辑器
  3. 粘贴引导脚本并单击 :
/* PT-MCP Bridge */ window.webview.evaluateJavaScriptAsync("setInterval(function(){var x=new XMLHttpRequest();x.open('GET','http://127.0.0.1:54321/next',true);x.onload=function(){if(x.status===200&&x.responseText){$se('runCode',x.responseText)}};x.onerror=function(){};x.send()},500)");

这使得PTBuilder每500毫秒对桥梁进行一次轮询。当LLM生成命令时,MCP服务器将它们排队,PT实时执行它们。

注: 引导程序注入 setInterval 进入执行HTTP轮询的webview。 $se('runCode', ...) 从webview到PT脚本引擎的桥梁。PTBuilder executeCode() 在内部删除所有换行符,这就是引导程序使用 /* */ 评论而不是 //.

永久设置(可选)

要在Builder代码编辑器打开时自动启动轮询循环,请执行以下操作:

  1. 在PT中:扩展>脚本接口
  2. 选择生成器模块
  3. 替换 main.jsinterface.js 修改后的版本在 PTBuilder/source/
  4. 保存并重新启动模块

5.完成

LLM现在可以自动创建设备、链接和配置路由器。让它建立一个网络。

______________________________________________________________________

MCP工具(22)

目录

工具说明
pt_list_devices列出所有可用设备及其端口
pt_list_templates列出可用拓扑模板
pt_get_device_details特定设备型号的完整详细信息

估计

工具说明
pt_estimate_plan模拟运行:估计设备、链接和复杂性,而不产生

规划

工具说明
pt_plan_topology根据参数(路由器、PC、路由等)生成完整的计划

验证

工具说明
pt_validate_plan使用15个键入的错误代码验证计划
pt_fix_plan自动纠正常见错误(电缆、型号、端口)
pt_explain_plan为每个决策生成自然语言解释

生成

工具说明
pt_generate_script生成PTBuilder JavaScript
pt_generate_configs生成每个设备的CLI(IOS)配置

完整管道

工具说明
pt_full_build一体化:计划、验证、生成和部署

实时部署

工具说明
pt_deploy将脚本复制到剪贴板+手动说明
pt_live_deploy通过HTTP网桥实时直接向PT发送命令
pt_bridge_status检查电桥是否处于活动状态,PT是否已连接

拓扑交互

工具说明
pt_query_topology查询PT中当前的设备
pt_delete_device从PT中删除设备及其链接
pt_rename_device重命名活动拓扑中的设备
pt_move_device将设备移动到新的画布坐标
pt_delete_link从特定界面删除链接
pt_send_raw将任意JS发送到PT的脚本引擎
pt_ipc通过虚线路径调用PT对象上的IPC方法(常见原始调用的快捷方式)
pt_read_cli执行CLI命令并读回输出

对于AI代理

代理商.md 获取实用指南,涵盖工具层、无声故障模式、规范IPC路径以及何时使用 pt_send_raw.

出口+项目

工具说明
pt_export将计划+脚本+配置导出到文件
pt_list_projects / pt_load_project保存项目管理

______________________________________________________________________

MCP资源(5)

URI描述
pt://catalog/devices所有带端口的设备
pt://catalog/cables电缆类型
pt://catalog/aliases模型别名
pt://catalog/templates拓扑模板
pt://capabilities服务器功能

______________________________________________________________________

支持的设备

路由器

型号端口
1941Gig0/0、Gig0/1(+通过HWIC-2T串行)
2901Gig0/0、Gig0/1(+通过HWIC-2T串行)
2911Gig0/0、Gig0/1、Gig0/2(+通过HWIC-2T串行)
ISR4321Gig0/0/0,Gig0/0/1

开关

型号端口
2960-24TT传真0/1-24,千兆0/1-2
3560-24PS传真0/1-24,千兆0/1-2

终端设备

型号端口
PC-PTFa0
服务器PTFa0
笔记本电脑PTFa0

其他

型号类型
云PT广域网云
接入点PT无线AP

______________________________________________________________________

电缆类型

电缆典型用途
直通交换机路由器、交换机PC
交叉路由器、交换机、PC-PC
串行路由器串行路由器串行(WAN)
光纤光纤连接
自动自动检测

______________________________________________________________________

定址方式

  • 局部区域网 -- 192.168.X.0/24,网关位于 .1,来自的PC .2
  • 路由器间链路 -- 10.0.X.0/30,路由器之间的点对点
  • 动态主机配置协议 --每个局域网的自动池,网关除外

路由

协议状态生成
静态完成ip route 命令
ospf完成router ospf 配置
rip完成router rip 配置
eigrp仅枚举未实现
完成无路由

______________________________________________________________________

模板

模板说明
single_lan1个路由器+1个交换机+PC
multi_lanN个路由器相互连接,每个路由器都有自己的局域网
multi_lan_wan带广域网云的多局域网
star带卫星路由器的中央路由器
hub_spoke轮辐式拓扑结构
branch_office分支机构
router_on_a_stickVLAN间路由
three_router_triangle三角形中的3个路由器
custom完全定制

______________________________________________________________________

建筑

src/packet_tracer_mcp/
├── adapters/mcp/              # MCP protocol layer
│   ├── tool_registry.py       # 22 MCP tools
│   └── resource_registry.py   # 5 MCP resources
├── application/               # Use cases + DTOs (requests/responses)
├── domain/                    # Core business logic
│   ├── models/               # TopologyPlan, DevicePlan, LinkPlan, errors
│   ├── services/             # Orchestrator, IPPlanner, Validator, AutoFixer
│   └── rules/                # Validation rules (devices, cables, IPs)
├── infrastructure/
│   ├── catalog/              # Device catalog, cables, templates, aliases
│   ├── generator/            # PTBuilder JS + CLI config generators
│   ├── execution/            # Executors + HTTP bridge
│   │   ├── live_bridge.py    # PTCommandBridge (HTTP server :54321)
│   │   ├── live_executor.py  # LiveExecutor (sends plan → bridge → PT)
│   │   ├── deploy_executor.py# DeployExecutor (clipboard + instructions)
│   │   └── manual_executor.py# ManualExecutor (file export)
│   └── persistence/          # Project save/load
├── shared/                    # Enums, constants, utilities
├── server.py                  # MCP server entry point
└── settings.py                # Version + config

数据流

TopologyRequest → Orchestrator → IPPlanner → Validator → AutoFixer
                                                            ↓
                                              TopologyPlan (validated)
                                                            ↓
                                    ┌───────────────────────┼──────────────────┐
                                    ↓                       ↓                  ↓
                            PTBuilder Script          CLI Configs        Live Deploy
                           (addDevice/addLink)    (hostname, IPs,     (HTTP bridge
                                                   DHCP, routing)      → PT real-time)

______________________________________________________________________

PTBuilder扩展

PTBuilder/ 目录包含脚本模块“生成器代码编辑器”的源代码:

文件目的
source/main.js入口点——创建菜单和网络视图
source/runcode.jsrunCode(scriptText) --在脚本引擎中执行JS
source/userfunctions.jsaddDevice(), addLink(), configureIosDevice(), configurePcIp(), queryTopology(), deleteDevice(), renameDevice(), moveDevice(), deleteLink()
source/devices.js型号→ PT数字类型映射
source/links.js电缆类型→ 数字ID映射
source/modules.js硬件模块映射
source/window.js网络视图窗口管理(QWebEngine)
source/interface/用于web编辑器的HTML+JS(状态面板+实时日志)
Builder.pts编译的扩展包(二进制,不可编辑)

______________________________________________________________________

测试

# All tests
python -m pytest tests/ -v

# Single file
python -m pytest tests/test_full_build.py -v

# Specific test
python -m pytest tests/test_full_build.py::TestFullBuild::test_basic_2_routers -v

34个测试,涵盖IP规划、验证、自动修复、解释、估计、生成和完整构建集成。

______________________________________________________________________

快速示例

User:  "Build me a network with 2 routers, 2 switches, 4 PCs, DHCP and static routing"

→ pt_full_build generates:
  - 8 devices: R1, R2, SW1, SW2, PC1, PC2, PC3, PC4
  - 7 links: R1↔R2 (cross), R1↔SW1 (straight), R2↔SW2 (straight), SW1↔PC1, SW1↔PC2, SW2↔PC3, SW2↔PC4
  - IPs: LAN1 192.168.0.0/24, LAN2 192.168.1.0/24, Inter-router 10.0.0.0/30
  - DHCP pools on R1 and R2
  - Bidirectional static routes
  - 23 JavaScript commands sent to PT

→ pt_live_deploy sends everything to Packet Tracer and the devices appear fully configured

需求

  • Python 3.11+
  • 思科数据包跟踪器8.2+(用于实时部署)
  • PT中安装的PTBuilder扩展(包含在 PTBuilder/)

许可证

麻省理工学院

目录标签

目录标签

PythonClaudeAI代理网络自动化本地部署CiscoPacketTracerLLM集成实时部署拓扑验证

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

25

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP