overgrowth / mcp-server /HACKATHON_DEMO.py
Graham Paasch
Align backup tool name and demo client
9a1f0ee
raw
history blame
2.99 kB
#!/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()