home / mcp / mcp demo lab mcp server
Provides an MCP server that exposes 35 network tools to AI assistants for device management and topology insights.
Configuration
View docs{
"mcpServers": {
"e-conners-lab-mcp-demo-lab": {
"command": "python",
"args": [
"network_mcp_server.py"
],
"env": {
"R1_HOST": "10.0.0.1",
"R2_HOST": "10.0.0.2",
"DEMO_MODE": "true",
"NETBOX_URL": "http://localhost:8000",
"NETBOX_TOKEN": "YOUR_TOKEN",
"DEVICE_PASSWORD": "admin",
"DEVICE_USERNAME": "admin"
}
}
}
}You deploy a Python-based MCP server that exposes 35 network tools to AI assistants, enabling direct, multi-vendor control over your routers, switches, and firewalls through natural language commands and automated checks. This server guides you from installation to running in demo mode, and provides practical workflows to explore device health, topology, routing, and configuration management with your preferred MCP client.
Connect your MCP client (such as Claude Desktop or ChatGPT) to the MCP server and start issuing natural language commands. For example you can ask the AI to check the health of all devices, discover topology, view routing tables, or push configurations. Your AI assistant will translate these requests into the available tools and perform the actions against your device inventory.
Prerequisites: Python 3.11+, a supported operating environment, and network accessibility to your devices. You will also need a Python virtual environment to isolate dependencies.
# 1) Clone the project
git clone https://github.com/E-Conners-Lab/MCP-DEMO-LAB.git
cd network-mcp
# 2) Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
# 3) Install dependencies
pip install -r requirements.txtOptional quick-start steps to run a demo server without real devices.
# Demo mode returns realistic mock data โ no devices needed
DEMO_MODE=true python network_mcp_server.pyConfigure device access by creating an environment configuration file and listing device endpoints and credentials. You can enable mock/demo mode to explore features without live devices, or connect to real devices by providing hostnames or IPs and authentication details in the environment.
Once the server is running, connect your MCP client by pointing it at the local server process. In demo mode you will be able to exercise 35 tools without requiring live devices.
# Spin up 2 FRR routers with containerlab
cd quickstart && sudo containerlab deploy -t topology.clab.ymlList all devices in inventory
Run show commands on any device
Push configuration changes to devices
Check device health metrics like CPU, memory, and interfaces
Health check all devices in parallel
Backup the running configuration of a device
Diff two configuration backups
Restore a previous configuration
LLDP-based topology discovery
View routing tables from devices
Check BGP/OSPF neighbor status
Lookup ARP table information
Retrieve MAC address table entries
Sweep a subnet for reachable hosts
Trace path to a destination
Compute optimal MTU/MSS for VPN tunnels
Provide subnet details from CIDR notation
Perform VLSM subnet splitting
Convert CIDR to dotted decimal netmask
SNMP GET for an OID
SNMP WALK a subtree for OIDs
Poll interface, CPU, and memory metrics via SNMP
Fetch interface data via NETCONF
Get BGP neighbor state via NETCONF
Query device NETCONF capabilities
Check device against compliance templates
End-to-end network validation