Spaces:
Sleeping
title: Overgrowth – a living digital environment
emoji: 🌿
colorFrom: green
colorTo: gray
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
Overgrowth – MCP Agent for Network Reliability
Track: MCP in Action – Enterprise
Hackathon: MCP's 1st Birthday – Hosted by Anthropic & Gradio
Tag: mcp-in-action-track-enterprise
Overgrowth is a living, digitally persistent network engineer. It simulates an out-of-band (OOB) mesh with MCP tools, JSON state, and Gradio UI to plan, simulate, triage, and roll back network changes safely.
What Overgrowth simulates:
- Hardware-like OOB mesh via MCP-style tools (backups, drift, bootstrap, alerts)
- Persistent state across runs (
infra/*.json) - Change simulation against the Track 1 MCP server (
network-change-simulator) - Topology-aware risk and blast radius
- Rollback planning and troubleshooting flows
High-Level Architecture
[User] | v [Gradio 6 UI: Overgrowth] | v [Agent Pipeline]
- Parse free-text change request → hybrid steps (NL + JSON)
- For each step, call MCP
simulate_network_change(Track 1 server) - Blend MCP risk with topology impact (infra/topology.json)
- Generate config-diff summaries and rollback plan
- OOB Troubleshooting calls Overgrowth tools (backup, drift, alerts, bootstrap) | v [MCP Servers / Tools]
- Track 1:
simulate_network_change - Overgrowth OOB tools: backups, drift, bootstrap, alerts, root-cause triage
MCP Tools Used
- External MCP server (Track 1):
network-change-simulator→simulate_network_change - Overgrowth OOB MCP-style tools (simulated hardware mesh):
oob_get_last_backup,oob_perform_backupoob_detect_drift,oob_reset_drift_flagoob_seed_deviceoob_get_alerts,oob_add_alert
Example Track 1 invocation (conceptual)
{
"tool_name": "simulate_network_change",
"arguments": {"preset_id": "leaf_tor_vlan_stage", "mode": "analysis"}
}
User Workflow
- Describe a change in the main textbox.
- Click Run Analysis to get:
- Plan tab: Hybrid NL + JSON steps with MCP-friendly
change_type+preset_id - Risk & Topology: MCP risk plus blast radius from topology.json
- Diffs: Conceptual before/after
- Rollback: Ordered rollback plan
- Tool Calls: Transparent MCP call log
- Plan tab: Hybrid NL + JSON steps with MCP-friendly
- Open OOB Troubleshooting to triage a device:
- Runs backup/drift/alerts/boot checks (persistent JSON state)
- Suggests root causes, rollback safety, and next MCP simulations
Configuration
GNS3 Server Setup (Required for Build Network & Lab Management)
The "Build Network" and "Lab Management" features require a running GNS3 server. Configure the server URL using environment variables:
# Copy the example environment file
cp .env.example .env
# Edit .env and set your GNS3 server URL
GNS3_SERVER=http://your-gns3-server:3080
GNS3_PROJECT_NAME=overgrowth
Note: When running on HuggingFace Spaces, you'll need to configure these as Space secrets. For local development with a local GNS3 server, the defaults will work.
How to Use
- Open the Space.
- Enter a change request, e.g.
“Add VLAN 120 for tenant Blue on leaf-01 and uplink it to tor-03 (staging only).” - Inspect Plan, Risk, Diffs, Rollback, Tool Calls.
- If there’s an issue, go to OOB Troubleshooting, pick a device, describe the symptom, and run triage.
Notes for Judges
- Persistent state lives in
infra/*.jsonand is updated during user actions (Option C). - OOB tools emulate a hardware-backed OOB mesh while remaining pure MCP-style JSON/state.
- Track 1 MCP server is used for real change simulation; Overgrowth augments it with reliability/triage workflows.
Future Extensions
- Richer root-cause engine combining MCP results with time-series alerts
- Multi-step autonomous remediation runs
- Import real config snippets for diffs
- CI/CD hooks to gate changes before rollout
What is Overgrowth?
- A living MCP-powered OOB engineer that plans changes, simulates risk, detects drift, infers root cause, and self-heals.
- Persistence lives in
infra/*.jsonso the environment evolves across runs (backups, drift, alerts, bootstrap, MCP history, synapse log).
Why this matters for enterprise networks
- Gives SRE/netops teams a pre-flight simulator + autonomous triage loop without touching production hardware.
- Blends MCP tool calls (Track 1 server) with OOB state to deliver safety, transparency, and repeatability.
- Produces audit-ready synapse logs, stability scoring, and after-action narratives.
How Overgrowth works
- MCP Engine: Calls Track 1
simulate_network_changewith structured presets from parsed NL input. - OOB Engine: Backup/drift/bootstrap/alerts tools operate on persistent JSON state to mimic a hardware OOB fabric.
- Topology Model:
infra/topology.jsoninforms blast radius and role-aware amplification. - Reasoning Layer: Root-cause inference fuses MCP history, alerts, drift, backup age, and topology to rank causes.
- Recovery Engine: Executes recommended actions (MCP sims, backup, drift reset, bootstrap, alert clear) and logs everything.
Autonomous Root-Cause Engine (Aggressive Mode)
- Multi-signal fusion (drift + alerts + backups + topology role + last MCP predictions).
- Cascading-failure inference (leaf→TOR→core amplification).
- Predictive simulation heuristic (reasons about presets without re-running tools).
- Recovery sequencing suggestions (rollback, re-bootstrap, re-run MCP full mode, auto-backup).
Autonomous Recovery Engine (Self-Healing Overgrowth)
- Executes recommended actions via MCP-style calls and updates state.
- Tracks health with a stability metric (drift/alerts/backup-age/MCP-risk) and reports before/after.
- Logs every decision in
infra/synapse_log.jsonand displays it in the Synapse Log tab. - Provides after-action narratives and recovery execution summaries directly in the Troubleshooting tab.
Architecture (ASCII)
User → Overgrowth UI
→ OOB Engine (backup / drift / bootstrap / alerts)
→ MCP Engine (Track 1 simulate_network_change)
→ Topology Model (blast radius, roles)
→ Synapse Log (state & audit trail)
Demo Script (5 steps)
- Input a change request (e.g., VLAN add) and click Run Analysis.
- Show MCP risk + topology impact in Plan/Risk tabs.
- Go to OOB Troubleshooting, enter “leaf-01 flap”, run troubleshooting to see root cause + stability + actions.
- Click Execute Recovery Plan; watch recovery summary/log update and stability improve.
- Open Synapse Log to show the audit trail of decisions and health deltas.
Try it live
- Open the Space, follow the demo script above, then hit Reset Overgrowth State to rerun deterministically.
Demo video: https://youtu.be/YOUR_DEMO_VIDEO
Social post: https://www.linkedin.com/posts/YOUR_POST or https://x.com/YOUR_HANDLE/status/YOUR_TWEET_ID