Spaces:
Running
Running
| #!/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() | |