Network Change Simulator (Lightning mode)
Change type
Scenario preset
Simulated in MAESTRO lab – no production impact.
Pre-change checks
Post-change checks
Blast radius
Explanation
MCP Lightning: risk in seconds before you touch production.
Preset catalog
| Change type | Scenario | Preset ID | Description | Devices touched |
|---|---|---|---|---|
| VLAN | Stage VLAN on leaf pair | leaf_tor_vlan_stage |
Staged VLAN on a single rack without traffic swing. | 2 leaf switches |
| VLAN | Commit VLAN to TOR uplinks | leaf_tor_vlan_commit |
Push staged VLAN live across both TOR pairs in row B. | 4 leaf switches |
| Interface | Enable TOR uplink | tor_uplink_enable |
Bring a redundant TOR uplink back into service. | 1 TOR |
| Interface | Shutdown TOR uplink | tor_uplink_shutdown |
Temporarily disable a TOR uplink in a redundant pair. | 1 TOR |
| BGP neighbor | Add fabric neighbor on leaf | leaf_bgp_fabric_neighbor_add |
Introduce a new fabric BGP peer on a leaf. | 1 leaf |
| BGP neighbor | Remove fabric neighbor on leaf | leaf_bgp_fabric_neighbor_remove |
Remove a fabric BGP peer during maintenance. | 2 leaves |
Lightning risk model (summary)
Baseline pre-change (0–30)
- +15 if
pre_core_healthyisFalse - +10 if
pre_interface_errorsisTrue - +10 if
pre_existing_alarmsisTrue
- +15 if
Change impact (10–55)
- Base weight: VLAN = 10, Interface = 25, BGP = 35
- Magnitude:
min(20, 2 * num_devices_touched)
Post-change penalties (0–40)
- +20 if any fabric adjacency is lost
- +10 if new alarms fire
- +10 if post-change interface errors appear
Final score & level
- Clamp to 0–100
- 0–30 = Low, 31–70 = Medium, 71–100 = High
Worked examples
- VLAN stage – healthy fabric, 2 devices → score ~14 (Low)
- TOR uplink shutdown – 1 adjacency lost + new alarm → score ~57 (Medium)
- BGP neighbor add – control-plane change on healthy fabric → score ~37 (Medium)
Under the hood: MAESTRO topology (AutoCon4 profile)
Example playbook – VLAN staging preset
- name: Stage VLAN on leaf pair (routed_access preset)
hosts: leafs
gather_facts: no
vars:
vlan_id: 123
vlan_name: ac4-demo
tasks:
- name: Configure VLAN on leaf
eos_config:
lines:
- vlan {{ vlan_id }}
- name {{ vlan_name }}
What is NCS?
Network Change Simulator (NCS) is an MCP server plus Hugging Face Space that simulates VLAN, interface, and BGP neighbor changes against our MAESTRO lab (GNS3 + Ansible/Nornir/pyATS) and returns a risk score and explanation in a few seconds.
Features
- Lightning risk simulation for VLAN / Interface / BGP neighbor presets
- MAESTRO-aware health probe via
maestro-health-check --quiet - Deterministic 0–100 score with pre/post checks and blast radius narrative
- Single MCP tool easy to plug into any MCP-capable client
Available MCP tools
simulate_network_change
- Inputs:
change_type:"vlan" | "interface" | "bgp_neighbor"preset_id: preset identifier (e.g.,leaf_tor_vlan_stage)mode(optional):"lightning"(implemented) or"full"(placeholder)
- Outputs:
risk_score,risk_level,pre_check_summary[],post_check_summary[],blast_radius_summary,explanation,mode,mode_note
MCP client config snippet
{
"network-change-simulator": {
"sse": {
"url": "https://hf.space/embed/MCP-1st-Birthday/network-change-simulator/gradio_api/mcp/sse"
}
}
}
Stack & infra
Python/FastAPI MCP server, Gradio 6 UI, MAESTRO lab (GNS3 + Ansible/Nornir/pyATS). Lightning keeps changes fast (4–7s) by using a preset-driven risk model plus a MAESTRO health probe.