Content
# LLM Network Agent - Modular AI-Powered Network Configuration Agent
An AI agent that acts as a **Network Engineer**, managing network infrastructure using a **modular architecture of MCP (Model Context Protocol) servers**. Add or remove MCP servers based on your specific needs.
## 🎯 What It Does
Configure and manage network devices (Cisco routers, Linux hosts) in a GNS3 simulation environment using natural language commands through an AI agent.
**Example:** "Change PC3's IP address to 10.0.0.15/24" → Agent allocates IP via IPAM → Updates inventory → Deploys config → Verifies connectivity
## 🏗️ Architecture
7 MCP servers working together:
- **Librarian** - Source of truth (inventory.yaml)
- **IPAM** - IP address management
- **Verifier** - Pre-deployment validation
- **Deployer** - Configuration deployment
- **Observer** - Network monitoring
- **Auditor** - Security compliance
- **TrafficGen** - Traffic testing
> [!IMPORTANT]
> When changing the network topology in GNS3 (adding/removing devices or links), you must **manually modify** `shared/inventory.yaml` to match the new topology.
## 📋 Requirements
- **Docker** (required)
- **GNS3** simulation environment
- **Cisco IOS router image** (for GNS3 - you need to provide this)
- **Gemini CLI** or Claude Desktop (for AI integration)
- **Node.js/npm** (for Gemini CLI)
## 🚀 Quick Start
### 1. Run Setup Script
```bash
chmod +x setup.sh
./setup.sh
```
This script will:
- ✅ Check Docker installation
- ✅ Install Gemini CLI (if needed)
- ✅ Build and start Docker containers
- ✅ Generate Gemini settings with all MCP servers
### 2. Import GNS3 Project
1. Open GNS3
2. Import `Test_project.gns3project`
3. Ensure you have a **Cisco IOS router image** configured in GNS3
4. Start the topology
### 3. Configure AI Client
**For Gemini:**
The setup script automatically creates `~/.gemini/settings.json` with all MCP servers.
**For Claude Desktop:**
Copy MCP server configurations from generated settings to your Claude config:
- Mac: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
### 4. Start Using
```bash
gemini
```
**Important:** When the CLI starts, type **`@GEMINI.md`** to load the system prompt and agent rules.
Try: *"Show me all devices in the network"* or *"Change PC1 IP to 192.168.1.10/24"*
## 🎥 Video Demonstration
Check out `demonstration.mp4` for a complete walkthrough of the system in action.
## ⚠️ Troubleshooting
**If MCP servers aren't working:**
1. **Check Gemini settings:** Make sure `~/.gemini/settings.json` has all 7 MCP servers configured
2. **Verify Docker:** Run `docker ps` and confirm `mcp-toolbox` container is running
3. **Restart Gemini:** Exit and restart the Gemini CLI
4. **Check logs:** Run `docker logs mcp-toolbox`
**If setup.sh fails:**
```bash
# Manually install Docker first
sudo apt-get update && sudo apt-get install docker.io docker-compose
# Then run setup.sh again
./setup.sh
```
## 📚 Documentation
- **GEMINI.md** - AI agent system prompt and workflow
- **MCP_SERVERS_GUIDE.md** - Detailed guide for each MCP server
## 🏛️ Project Structure
```
.
├── 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
```
## 🤝 Contributing
This project demonstrates AI-powered network automation. Feel free to extend it with additional MCP servers or integration with other network simulation platforms.
## 👥 Authors
- **Abellache Rabah** - abellache.rabah@outlook.com
- **Sabrina Sahouli** - sabrinasahouli2001@gmail.com
## 📄 License
MIT License - See LICENSE file for details
---
## ⚠️ Disclaimer
**This project is for educational and demonstration purposes only.**
This is a simulation/demonstration project that has **NOT been tested in production environments** and is **NOT recommended for production use**. It is intended solely for learning, research, and demonstration of AI-powered network automation concepts.
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
firecrawl
Firecrawl MCP Server enables web scraping, crawling, and content extraction.
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.