The Virtual Network Trifecta: NetClaw Now Supports GNS3, CML, and ContainerLab
Network engineers love choice. Some swear by Cisco Modeling Labs (CML) for its polished Cisco device support. Others prefer ContainerLab’s lightweight, container-based approach. And many have years of experience with GNS3’s flexible, open-source platform.
With the addition of GNS3 MCP server support, NetClaw now speaks all three languages — giving you the freedom to build virtual network labs in whichever framework fits your workflow.
Why Three Platforms?
Each network virtualization platform has its strengths:
Cisco Modeling Labs (CML)
- Official Cisco images with full feature parity
- Integrated with Cisco DevNet and CML-Personal licenses
- Best for Cisco-centric environments
ContainerLab
- Lightning-fast container-based nodes
- Declarative YAML topology definitions
- Ideal for CI/CD pipelines and rapid prototyping
GNS3
- Open-source with massive community
- Supports QEMU, Docker, VirtualBox, and VMware
- Flexible compute server architecture (local or remote)
Now NetClaw can orchestrate labs across all three — using natural language.
What We Built: GNS3 MCP Server
The GNS3 MCP server provides 23 tools organized into 5 skills:
gns3-project-lifecycle
Create, open, close, delete, clone, and export/import GNS3 projects (labs).
gns3-node-operations
Add devices from templates, start/stop/suspend/reload nodes, access consoles, isolate nodes for testing.
gns3-link-management
Connect devices together, list links, delete links, build complete topologies.
gns3-packet-capture
Start and stop packet captures on any link, retrieve PCAP files for analysis.
gns3-snapshot-ops
Save and restore lab state — perfect for training scenarios or risky config changes.
Natural Language Lab Management
With GNS3 skills loaded, you can tell NetClaw:
- "Create a new GNS3 lab called bgp-testing"
- "Add two Cisco IOSv routers to the lab"
- "Connect router1 eth0 to router2 eth0"
- "Start all nodes"
- "Capture traffic on the link between router1 and router2"
- "Create a snapshot called baseline before I break everything"
NetClaw handles the REST API calls, UUID resolution, and error handling — you focus on the network design.
Setting Up GNS3 with NetClaw
Option 1: Fresh Install via install.sh
If you’re setting up NetClaw from scratch, the install script handles everything:
git clone https://github.com/automateyournetwork/netclaw.git
cd netclaw
./install.sh
During setup, provide your GNS3 server details when prompted, or set them in your .env file:
GNS3_URL=http://your-gns3-server:3080
GNS3_USER=admin
GNS3_PASSWORD=your-password
Option 2: Adding to Existing NetClaw
Already running NetClaw? Add GNS3 support in three steps:
Step 1: Add environment variables
Edit your .env file (or export directly):
# GNS3 Configuration
GNS3_URL=http://your-gns3-server:3080
GNS3_USER=admin
GNS3_PASSWORD=your-password
Step 2: Register the MCP server
Add to your config/openclaw.json under the "mcpServers" section:
"gns3": {
"command": "python",
"args": ["-m", "mcp_servers.gns3_mcp_server"],
"env": {
"GNS3_URL": "${GNS3_URL}",
"GNS3_USER": "${GNS3_USER}",
"GNS3_PASSWORD": "${GNS3_PASSWORD}"
}
}
Step 3: Restart NetClaw
The GNS3 MCP server will connect on startup and verify connectivity.
GNS3 Server Requirements
- GNS3 version 2.2.0 or later (REST API v3)
- REST API enabled and accessible over the network
- Node templates pre-configured (Cisco IOSv, Arista vEOS, etc.)
- Compute resources available (local QEMU or remote Docker/VirtualBox/VMware)
Lab-Only Operations
Like CML and ContainerLab skills, GNS3 operations are designated lab-only — no ServiceNow Change Request gating required. This is intentional: virtual labs are isolated environments for testing, training, and proof-of-concept work.
All operations are still recorded in NetClaw’s GAIT audit trail for session traceability.
The Complete Picture
With GNS3 joining CML and ContainerLab, NetClaw now offers:
| Capability | CML | ContainerLab | GNS3 |
|---|---|---|---|
| Project/Lab Management | Yes | Yes | Yes |
| Node Operations | Yes | Yes | Yes |
| Link Management | Yes | Yes | Yes |
| Packet Capture | Yes | Yes | Yes |
| Snapshots | Yes | No | Yes |
| Topology Export | Yes | Yes | Yes |
Mix and match based on your needs — or use all three in different scenarios.
What’s Next
The GNS3 MCP server is available now in the netclaw repository on the 012-gns3-mcp-server branch. Pull request incoming to main.
Future enhancements may include:
- Cross-platform topology conversion (CML to GNS3 and back)
- Unified lab inventory across all three platforms
- Template synchronization between environments
This post documents the GNS3 MCP server milestone — completing NetClaw’s virtual network trifecta. Built collaboratively by John Capobianco and Claude.
