终极 AI 驱动的 GNS3 网络仿真 MCP 服务器
通过模型上下文协议(MCP)驱动的 AI 来创建、管理和控制网络拓扑,从而改变您的网络工程工作流程。
| 类别 | 工具 | 能力 | 使用案例 |
|---|---|---|---|
| 项目管理 | 3 工具 | 创建、列出、打开项目 | 实验室设置、项目组织 |
| 拓扑构建器 | 4 工具 | 添加节点、链接、配置设备 | 网络设计、架构 |
| 模拟控制 | 2 工具 | 启动/停止模拟 | 网络测试、验证 |
| 分析工具 | 3 工具 | 流量捕获、拓扑分析 | 性能监控、调试 |
http://localhost:3080(默认)# 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 驱动的网络工程了!
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_ios,cisco_c7200,cisco_3745,arista_vEOS,juniper_vmxcisco_iosv,cisco_c3725,multilayer_switchvpcs,cloud,docker,virtualbox,vmwarepaloalto_panos,fortinet_fortigate高级功能:
gns3_add_link使用各种链路类型连接网络设备
gemini "使用以太网链路连接 R1 和 R2"
链路类型:
ethernet:标准以太网连接serial:带时钟速率的串行连接console:控制台连接custom:用户定义的链路类型gns3_configure_device配置设备设置和参数
gemini "配置 R1 在接口 Gi0/0 上使用 IP 地址 192.168.1.1/24"
配置选项:
gns3_start_simulation启动具有全节点控制的网络模拟
gemini "启动项目 'abc123' 的模拟"
能力:
gns3_stop_simulation优雅地停止模拟
gemini "停止当前模拟"
gns3_capture_traffic捕获和分析网络流量
gemini "开始捕获 R1 和 R2 之间的链路上的流量"
分析功能:
gns3_get_topology检索全面的拓扑信息
gemini "显示当前网络拓扑及所有连接"
提供的信息:
gns3_save_project保存项目,可选快照
gemini "保存当前项目并生成检查点"
gns3_export_project导出项目以便共享或备份
gemini "将项目导出为 'network_lab_backup.zip'"
# AI 对话以构建完整的多分支办公室网络环境
gemini "我需要创建一个多分支办公室网络的测试环境"
# AI 回应项目创建
gemini "现在创建项目 'Multi_Branch_Test'..."
# AI 添加网络设备
gemini "添加设备:总部路由器、分部1路由器、分部2路由器、交换机和终端..."
# AI 使用适当的拓扑连接它们
gemini "使用适当的链接连接设备并配置接口..."
# AI 启动模拟
gemini "启动网络模拟以验证连通性..."
# AI 辅助的网络诊断
gemini "我的路由器 R1 和 R2 之间的网络有连通性问题"
# AI 提供诊断序列
gemini "正在运行链路上的数据包捕获... 分析流量模式... 检查设备状态..."
# AI 提供建议
gemini "检测到的问题:R1 的 Gi0/0 接口显示高数据包丢失。建议:检查电缆连接并重启接口。"
# 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
}
# 解决方案 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 │ │ • 错误处理 │ │ • 实时 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
🔐 认证流程
├── 用户名/密码
├── 基于令牌的身份验证
├── SSL/TLS 加密
└── 速率限制
我们欢迎贡献!请参阅我们的 贡献指南 获取详情。
本项目采用 MIT 许可证 - 详情见 LICENSE 文件。
2025 年第一季度:多区域支持
2025 年第二季度:AI 优化引擎
2025 年第三季度:高级分析仪表盘
2025 年第四季度:模板市场发布
**⭐ 如果此项目帮助您构建了令人惊叹