用途:在 GNS3 项目中管理网络设备节点,包括从模板添加设备、控制电源状态以及获取控制台访问信息,用于实验环境的搭建与排障。
主要能力:gns3_list_nodes 列出项目内所有节点及状态;gns3_create_node 按模板创建节点,支持指定名称、坐标与 compute_id;gns3_start_node、gns3_stop_node、gns3_suspend_node、gns3_reload_node 分别启动、停止、挂起(保存状态)和重载单个节点;gns3_bulk_node_action 对项目内全部节点批量执行 start/stop/suspend/reload;gns3_get_node_console 返回控制台连接信息(如 telnet 192.168.1.100 5000)。辅助工具 gns3_list_templates 列出服务器可用模板,gns3_list_computes 列出可用计算服务器。
使用方式:通过 MCP 服务器运行,命令为 python3 -u mcp-servers/gns3-mcp-server/gns3_mcp_server.py(stdio 传输),需设置 GNS3_URL、GNS3_USER、GNS3_PASSWORD 环境变量。节点可用名称或 UUID 引用,模板匹配不区分大小写并支持模糊匹配,例如“Cisco IOSv”可匹配“Cisco IOSv 15.9(3)M2”,“vEOS”可匹配“Arista vEOS 4.28.0F”。
适用场景:向实验环境添加网络设备、单独启停节点、配置变更后重载、挂起以保存状态、批量启停项目全部节点、获取控制台信息进行设备配置,以及在不删除链路的情况下隔离节点测试。
限制与错误处理:批量操作会影响项目内所有节点;控制台信息因节点类型而异(telnet、VNC、HTTP)。常见错误包括 GNS3_NOT_FOUND(节点或项目不存在,需检查名称/ID)、GNS3_CONFLICT(节点已处于运行或停止状态,需先检查当前状态)、GNS3_VALIDATION(模板名无效,可用 gns3_list_templates 查找有效名称)。所有操作记录到 GAIT 审计轨迹。可与其他技能配合:先用 gns3-project-lifecycle 创建项目,再用 gns3-link-management 连接节点,用 gns3-packet-capture 抓取链路流量。