Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| 🌿 OVERGROWTH HACKATHON DEMO | |
| Living Digital Network Environments - Autonomous Network Engineering | |
| Demo: Build a complete retail network from natural language description | |
| """ | |
| import sys | |
| import json | |
| from pathlib import Path | |
| # Add parent to path to import from agent | |
| sys.path.insert(0, str(Path(__file__).parent.parent / "overgrowth")) | |
| from agent.local_mcp import LocalMCPClient | |
| def print_banner(): | |
| print("="*80) | |
| print("🌿 OVERGROWTH - Living Digital Network Environments") | |
| print("="*80) | |
| print("\n🎯 DEMO: Build a retail network from natural language") | |
| print("\nScenario:") | |
| print(" You describe your business → Overgrowth creates the network → Auto-configures everything") | |
| print("\n" + "="*80 + "\n") | |
| def demo(): | |
| print_banner() | |
| # User's natural language description | |
| description = """ | |
| A coffee shop chain called GreenLeaf Coffee with: | |
| - 1 headquarters with a database server and manager's office PC | |
| - 2 retail stores (one downtown, one in suburbs) | |
| - Each store has a POS terminal and customer WiFi | |
| - All locations connected via WAN | |
| - Need VLANs for security (Sales, Engineering, Management) | |
| """ | |
| print("📝 USER REQUEST:") | |
| print(description) | |
| print("\n" + "-"*80 + "\n") | |
| # Initialize MCP client (auto-detects bundled server path) | |
| print("🔧 Initializing Overgrowth MCP client...") | |
| client = LocalMCPClient() | |
| print("✅ MCP client ready\n") | |
| print("-"*80 + "\n") | |
| # Call the network builder | |
| print("🚀 Building network from description...\n") | |
| result = client.call_tool( | |
| "build_network_from_description", | |
| { | |
| "description": description, | |
| "project_name": "overgrowth", | |
| "auto_configure": True | |
| } | |
| ) | |
| print("\n" + "="*80) | |
| print("📊 RESULT:") | |
| print("="*80 + "\n") | |
| if isinstance(result, list) and len(result) > 0: | |
| print(result[0].get("text", "No output")) | |
| else: | |
| print(result) | |
| print("\n" + "="*80) | |
| print("✨ DEMO COMPLETE!") | |
| print("="*80) | |
| print("\n📋 What just happened:") | |
| print(" 1. Natural language → Parsed business requirements") | |
| print(" 2. GNS3 topology → Created switches, PCs, network links") | |
| print(" 3. Auto-configured → VLANs, trunks, SSH, IP addresses") | |
| print(" 4. Ready to use → Full working network in seconds!") | |
| print("\n🎓 This demonstrates:") | |
| print(" ✓ MCP Server automation") | |
| print(" ✓ Living digital environments") | |
| print(" ✓ Natural language → Infrastructure") | |
| print(" ✓ Zero-touch deployment") | |
| print(" ✓ Network digital twins") | |
| print("\n🏆 Hackathon Vision:") | |
| print(" Autonomous network engineering where AI agents manage") | |
| print(" infrastructure based on business requirements, not CLI commands.") | |
| print("\n" + "="*80 + "\n") | |
| if __name__ == "__main__": | |
| demo() | |