Spaces:
Sleeping
Sleeping
File size: 2,987 Bytes
765065a 9a1f0ee 765065a 9a1f0ee 765065a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #!/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()
|