LLM网络代理-模块化AI驱动的网络配置代理
一个充当AI代理的AI代理 网络工程师,使用 MCP(模型上下文协议)服务器的模块化架构。根据您的特定需求添加或删除MCP服务器。
🎯 它做什么
通过AI代理使用自然语言命令在GNS3仿真环境中配置和管理网络设备(思科路由器、Linux主机)。
例子: “将PC3的IP地址更改为10.0.0.15/24”→ 代理通过IPAM分配IP→ 更新库存→ 部署配置→ 验证连接
🏗️ 建筑
7台MCP服务器协同工作:
- 图书管理员 -真相来源(investigation.yaml)
- ipad -IP地址管理
- 验证器 -部署前验证
- 部署者 -配置部署
- 观察者 -网络监控
- 审计员 -安全合规性
- TrafficGen -流量测试
\[!重要\] 在GNS3中更改网络拓扑(添加/删除设备或链接)时,您必须 手动修改 shared/inventory.yaml 以匹配新拓扑。📋 需求
- 码头工人 (必填)
- GNS3 仿真环境
- Cisco IOS路由器映像 (对于GNS3,您需要提供此项)
- Gemini CLI 或Claude Desktop(用于AI集成)
- Node.js/npm (适用于Gemini CLI)
🚀 快速开始
1.运行安装脚本
chmod +x setup.sh
./setup.sh此脚本将:
- ✅ 检查Docker安装
- ✅ 安装Gemini CLI(如果需要)
- ✅ 构建并启动Docker容器
- ✅ 使用所有MCP服务器生成Gemini设置
2.导入GNS3项目
- 打开GNS3
- 导入
Test_project.gns3project - 确保你有一个 Cisco IOS路由器映像 在GNS3中配置
- 启动拓扑
3.配置AI客户端
双子座: 安装脚本会自动创建 ~/.gemini/settings.json 所有MCP服务器。
对于Claude Desktop: 将MCP服务器配置从生成的设置复制到您的Claude配置:
- 雨衣:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
4.开始使用
gemini重要提示: CLI启动时,键入 @GEMINI.md 加载系统提示和代理规则。
尝试: *“显示网络中的所有设备”* 或 *“将PC1 IP更改为192.168.1.10/24”*
🎥 视频演示
结账 demonstration.mp4 了解系统运行的完整演练。
⚠️ 故障排除
如果MCP服务器不工作:
- 检查Gemini设置: 确保
~/.gemini/settings.json已配置所有7台MCP服务器 - 验证Docker: 跑
docker ps并确认mcp-toolbox容器正在运行 - 重新启动Gemini: 退出并重新启动Gemini CLI
- 检查日志: 跑
docker logs mcp-toolbox
如果setup.sh失败:
# Manually install Docker first
sudo apt-get update && sudo apt-get install docker.io docker-compose
# Then run setup.sh again
./setup.sh📚 文档
- 双子座.md -AI代理系统提示和工作流程
- MCP_SERVERS_GUIDE.md -每个MCP服务器的详细指南
🏛️ 项目结构
.
├── servers/ # 7 MCP servers
│ ├── librarian/
│ ├── ipam/
│ ├── deployer/
│ ├── verifier/
│ ├── observer/
│ ├── auditor/
│ └── traffic_gen/
├── shared/ # Common utilities & inventory
│ ├── inventory.yaml
│ ├── gns3_utils.py
│ └── topology_physical.yaml
├── setup.sh # Automated setup
└── docker-compose.yml🤝 贡献
该项目展示了人工智能驱动的网络自动化。您可以通过添加额外的MCP服务器或与其他网络仿真平台集成来扩展它。
👥 作者
- 阿伯拉赫·拉巴 - abellache.rabah@outlook.com
- 萨布丽娜·萨胡利 -sabrinasahouli2001@gmail.com
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
______________________________________________________________________
⚠️ 免责声明
本项目仅用于教育和示范目的。
这是一个模拟/演示项目 未在生产环境中进行测试 并且是 不建议用于生产。它仅用于学习、研究和演示人工智能驱动的网络自动化概念。
