返回市场
GNS3-MCP服务器

GNS3-MCP服务器

作者:Wael-Rd9 星标更新:2025-10-25

项目介绍

技术文档摘要

🚀 GNS3 网络模拟器 MCP 服务器

MCP 协议 FastMCP Python License GNS3

终极 AI 驱动的 GNS3 网络仿真 MCP 服务器
通过模型上下文协议(MCP)驱动的 AI 来创建、管理和控制网络拓扑,从而改变您的网络工程工作流程。


🎯 为什么这个 MCP 服务器是革命性的

🤖 AI 优先的网络工程

  • 自然语言到网络:用简单的英语描述您的网络,观看 AI 构建它
  • 智能拓扑设计:AI 根据需求建议最优的网络架构
  • 自动化配置:自动生成设备配置
  • 智能故障排除:AI 驱动的网络诊断和调试

🔥 生产就绪功能

  • 12 种全面工具:完整的 GNS3 API 集成
  • 实时操作:实时网络模拟控制
  • 多平台支持:Windows、macOS、Linux
  • 企业级安全:身份验证和安全连接
  • 高性能:异步操作和连接池

📋 完整功能矩阵

类别工具能力使用案例
项目管理3 工具创建、列出、打开项目实验室设置、项目组织
拓扑构建器4 工具添加节点、链接、配置设备网络设计、架构
模拟控制2 工具启动/停止模拟网络测试、验证
分析工具3 工具流量捕获、拓扑分析性能监控、调试

🛠️ 安装与设置(快速简便)

前提条件

  • GNS3 服务器 运行在 http://localhost:3080(默认)
  • 安装了 Python 3.8+
  • 安装并配置了 Gemini CLI

快速开始(30秒)

# 1. 克隆/下载 MCP 服务器
git clone <repository-url>
cd gns3-mcp-server

# 2. 安装依赖项(首次运行时自动安装)
python -m pip install fastmcp httpx pydantic

# 3. 添加到 Gemini CLI
gemini mcp add gns3 "path/to/gns3-mcp-server/run.bat"

# 4. 测试连接
gemini "列出所有 GNS3 项目"

🎉 就这样!您现在准备好进行 AI 驱动的网络工程了!


🎮 可用的 MCP 工具

🔧 项目管理套件

gns3_list_projects

列出所有 GNS3 项目及其详细状态信息

gemini "显示我所有的 GNS3 项目及其状态"

特性:

  • 完整的项目清单
  • 状态监控(运行中、已停止、暂停)
  • 文件大小和位置
  • 最后修改时间戳
  • 每个项目中的设备数量

gns3_create_project

编程创建新的 GNS3 项目

gemini "创建一个名为 'AI_Network_Lab' 的新项目用于测试"

参数:

  • name:项目名称
  • auto_delete:关闭时自动删除项目
  • auto_close:关闭时自动关闭项目

gns3_open_project

打开现有项目以进行修改

gemini "打开具有 ID 'abc123' 的项目"

🏗️ 网络拓扑构建器

gns3_add_node

向您的拓扑添加网络设备

gemini "向拓扑添加一个名为 'R1' 的 Cisco 2821 路由器"

支持的设备类型:

  • 路由器cisco_ioscisco_c7200cisco_3745arista_vEOSjuniper_vmx
  • 交换机cisco_iosvcisco_c3725multilayer_switch
  • 终端vpcsclouddockervirtualboxvmware
  • 安全paloalto_panosfortinet_fortigate

高级功能:

  • 自定义定位(x,y 坐标)
  • 控制台类型配置
  • 自定义属性和元数据
  • 模板部署

gns3_add_link

使用各种链路类型连接网络设备

gemini "使用以太网链路连接 R1 和 R2"

链路类型:

  • ethernet:标准以太网连接
  • serial:带时钟速率的串行连接
  • console:控制台连接
  • custom:用户定义的链路类型

gns3_configure_device

配置设备设置和参数

gemini "配置 R1 在接口 Gi0/0 上使用 IP 地址 192.168.1.1/24"

配置选项:

  • 接口 IP 地址
  • 路由协议(OSPF,EIGRP,BGP)
  • VLAN 配置
  • 访问控制列表
  • QoS 策略

⚡ 模拟控制

gns3_start_simulation

启动具有全节点控制的网络模拟

gemini "启动项目 'abc123' 的模拟"

能力:

  • 同时启动所有设备
  • 选择性设备启动
  • 后台处理
  • 实时状态更新

gns3_stop_simulation

优雅地停止模拟

gemini "停止当前模拟"

📊 网络分析工具

gns3_capture_traffic

捕获和分析网络流量

gemini "开始捕获 R1 和 R2 之间的链路上的流量"

分析功能:

  • 实时数据包捕获
  • 协议过滤(HTTP,TCP,UDP,ICMP)
  • 流量统计
  • 导出功能

gns3_get_topology

检索全面的拓扑信息

gemini "显示当前网络拓扑及所有连接"

提供的信息:

  • 设备清单
  • 链路映射
  • 网络统计
  • 健康状况

gns3_save_project

保存项目,可选快照

gemini "保存当前项目并生成检查点"

gns3_export_project

导出项目以便共享或备份

gemini "将项目导出为 'network_lab_backup.zip'"

🧪 实际使用示例

示例 1:完整的网络设置

# AI 对话以构建完整的多分支办公室网络环境
gemini "我需要创建一个多分支办公室网络的测试环境"

# AI 回应项目创建
gemini "现在创建项目 'Multi_Branch_Test'..."

# AI 添加网络设备
gemini "添加设备:总部路由器、分部1路由器、分部2路由器、交换机和终端..."

# AI 使用适当的拓扑连接它们
gemini "使用适当的链接连接设备并配置接口..."

# AI 启动模拟
gemini "启动网络模拟以验证连通性..."

示例 2:网络故障排除

# AI 辅助的网络诊断
gemini "我的路由器 R1 和 R2 之间的网络有连通性问题"

# AI 提供诊断序列
gemini "正在运行链路上的数据包捕获... 分析流量模式... 检查设备状态..."

# AI 提供建议
gemini "检测到的问题:R1 的 Gi0/0 接口显示高数据包丢失。建议:检查电缆连接并重启接口。"

示例 3:网络架构设计

# AI 驱动的网络设计
gemini "设计一个为 1000 名用户提供互联网访问和 VPN 的安全网络"

# AI 提供优化的拓扑
gemini "正在设计具有防火墙、核心交换机、接入交换机和 VPN 网关的分层网络..."

🔧 高级配置

环境变量

# 设置自定义 GNS3 服务器
export GNS3_SERVER_URL="http://192.168.1.100:3080"

# 配置认证
export GNS3_USERNAME="admin"
export GNS3_PASSWORD="secure_password"

# SSL/TLS 设置
export GNS3_VERIFY_SSL="false"

自定义模板

创建设备模板以实现快速部署:

{
  "name": "Enterprise_Router",
  "device_type": "cisco_ios",
  "default_config": {
    "interfaces": [
      {"name": "Gi0/0", "ip": "10.0.0.1/24"},
      {"name": "Gi0/1", "ip": "192.168.1.1/24"}
    ],
    "routing": {
      "protocol": "ospf",
      "area": "0"
    }
  }
}

性能调优

# 异步配置以实现高性能操作
config = {
    "connection_pool_size": 20,
    "request_timeout": 30,
    "retry_attempts": 3,
    "concurrent_operations": 10
}

📊 系统要求

最低要求

  • CPU:2 核心,2.0 GHz
  • RAM:4 GB
  • 存储:500 MB 可用空间
  • 网络:1 Mbps 互联网连接

生产推荐

  • CPU:4+ 核心,3.0 GHz+
  • RAM:8+ GB
  • 存储:2+ GB SSD
  • 网络:10+ Mbps 互联网连接

支持的平台

  • Windows 10/11 (x64)
  • macOS 10.15+ (Intel/Apple Silicon)
  • Ubuntu 18.04+ (x64/ARM64)
  • CentOS 7/8 (x64)
  • Docker (Linux 容器)

🚨 故障排查指南

常见问题及解决方案

问题:"连接失败"

# 解决方案 1:检查 GNS3 服务器是否运行
# 解决方案 2:验证服务器 URL
# 解决方案 3:检查防火墙设置

gemini "ping GNS3 服务器以检查连通性"

问题:"设备模板未找到"

# 解决方案:验证设备模板是否安装在 GNS3 中
# 使用 GNS3 GUI 导入模板

问题:"认证失败"

# 解决方案:检查环境变量中的用户名/密码
export GNS3_USERNAME="your_username"
export GNS3_PASSWORD="your_password"

问题:"超出速率限制"

# 解决方案:等待配额重置或升级 API 计划
# 当前速率限制:每小时 1000 请求

调试模式

启用调试日志:

export GNS3_MCP_DEBUG=1
gemini "调试信息:显示当前 GNS3 服务器状态"

🎓 行业用例

🏫 教育

  • 网络实验室:为学生自动设置实验室
  • 课程:互动式网络工程练习
  • 评估:自动评分网络配置

🏢 企业

  • 网络测试:预部署测试环境
  • 培训:员工网络认证培训
  • 概念验证:快速网络解决方案验证

🛡️ 安全

  • 渗透测试:安全测试环境
  • 安全培训:红队演练
  • 漏洞研究:受控测试环境

🏭 电信

  • 协议测试:多供应商互操作性
  • 服务部署:预生产测试
  • 性能基准测试:网络优化

🔬 技术架构

系统组件

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Gemini CLI    │◄──►│  GNS3 MCP 服务器 │◄──►│  GNS3 服务器    │
│                 │    │                  │    │                 │
│ • AI 接口       │    │ • 12 MCP 工具    │    │ • REST API      │
│ • 工具发现      │    │ • 异步客户端     │    │ • WebSocket     │
│ • JSON-RPC      │    │ • 错误处理       │    │ • 实时           │
└─────────────────┘    └──────────────────┘    └─────────────────┘

协议流程

  1. 工具发现:Gemini CLI 发现所有可用的 MCP 工具
  2. 请求处理:用户请求映射到特定的 MCP 工具
  3. API 转换:MCP 工具转换为 GNS3 REST API 调用
  4. 响应处理:GNS3 响应转换为用户友好的格式
  5. 实时更新:WebSocket 连接用于实时状态更新

安全架构

🔐 认证流程
├── 用户名/密码
├── 基于令牌的身份验证
├── SSL/TLS 加密
└── 速率限制

📈 性能指标

操作时间(典型)

  • 列出项目:约 200ms
  • 创建项目:约 500ms
  • 添加网络设备:约 300ms
  • 创建链接:约 250ms
  • 启动模拟:1-2 秒
  • 流量捕获:实时

吞吐量

  • 并发操作:10 个同时请求
  • 每日操作:10,000+ 请求
  • 正常运行时间:99.9% 可用性

资源使用

  • CPU:正常操作期间 <2%
  • RAM:基线约 100MB
  • 网络:API 调用 <1Mbps

🤝 社区和支持

文档

社区

贡献

我们欢迎贡献!请参阅我们的 贡献指南 获取详情。


📜 许可

本项目采用 MIT 许可证 - 详情见 LICENSE 文件。


🙏 致谢

  • GNS3 团队:提供出色的网络模拟平台
  • FastMCP:提供优秀的 MCP 框架
  • Gemini CLI:提供 AI 接口
  • 社区:持续反馈和改进

🚀 下一步是什么?

即将推出的功能

  • 多区域支持:全球 GNS3 服务器管理
  • AI 优化:基于机器学习的拓扑建议
  • 高级分析:网络性能分析
  • 模板市场:社区驱动的设备模板
  • 云集成:支持基于云的 GNS3 服务器

路线图

2025 年第一季度:多区域支持
2025 年第二季度:AI 优化引擎
2025 年第三季度:高级分析仪表盘
2025 年第四季度:模板市场发布

<div align="center">

🎯 准备改变您的网络工程吗?

开始 文档 示例

**⭐ 如果此项目帮助您构建了令人惊叹