About Clab MCP Server
Clab MCP Server is an MCP server published by seanerama in the Developer Tools category: containerLab MCP Server — manage containerized network labs via the ContainerLab API (Python, FastMCP).
The repository has 4 stars and 1 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/seanerama/clab-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (6)
authenticateAuthenticate with the ContainerLab API server (optional — auto-auth handles this)
Parameters not published.
deployLabDeploy a new lab with a topology definition
Parameters not published.
destroyLabDestroy a lab and clean up resources
Parameters not published.
execCommandExecute a command on one or all lab nodes
Parameters not published.
inspectLabGet lab details, node status, management IPs
Parameters not published.
listLabsList all available labs
Parameters not published.
Ask AI
Ask AI about Clab MCP Server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
ContainerLab MCP Server
A Python MCP server for managing containerized network labs via the ContainerLab API.
Built for NetClaw using FastMCP.
Tools
| Tool | Description |
|---|---|
authenticate |
Authenticate with the ContainerLab API server (optional — auto-auth handles this) |
listLabs |
List all available labs |
deployLab |
Deploy a new lab with a topology definition |
inspectLab |
Get lab details, node status, management IPs |
execCommand |
Execute a command on one or all lab nodes |
destroyLab |
Destroy a lab and clean up resources |
Prerequisites
A running ContainerLab API server with a Linux user configured for authentication.
# On the ContainerLab host:
sudo groupadd -f clab_admins && sudo groupadd -f clab_api
sudo useradd -m -s /bin/bash netclaw 2>/dev/null || true
sudo usermod -aG clab_admins netclaw && sudo passwd netclaw
# If the API server runs in Docker, restart it to pick up the new user:
docker restart clab-api-server
Installation
pip install -r requirements.txt
Environment Variables
| Variable | Default | Description |
|---|---|---|
CLAB_API_SERVER_URL |
http://localhost:8080 |
ContainerLab API server URL |
CLAB_API_USERNAME |
admin |
API username |
CLAB_API_PASSWORD |
password |
API password |
Usage
Standalone (stdio MCP server)
python3 -u clab_mcp_server.py
With NetClaw's mcp-call.py
python3 mcp-call.py "python3 -u clab_mcp_server.py" listLabs '{}'
python3 mcp-call.py "python3 -u clab_mcp_server.py" deployLab '{"topologyContent":{"name":"demo","topology":{"nodes":{"srl1":{"kind":"nokia_srlinux","image":"ghcr.io/nokia/srlinux:latest"}},"links":[]}}}'
python3 mcp-call.py "python3 -u clab_mcp_server.py" inspectLab '{"labName":"demo","details":true}'
python3 mcp-call.py "python3 -u clab_mcp_server.py" execCommand '{"labName":"demo","nodeName":"srl1","command":"show version"}'
python3 mcp-call.py "python3 -u clab_mcp_server.py" destroyLab '{"labName":"demo","cleanup":true,"graceful":true}'
Supported Node Kinds
ContainerLab supports a wide range of network operating systems. Common examples:
| Kind | Platform | Example Image |
|---|---|---|
cisco_iosxr |
Cisco IOS XR | ios-xr/xrd-control-plane:latest |
cisco_iosxe |
Cisco IOS XE (Cat8000v) | c8000v:latest |
cisco_nxos |
Cisco NX-OS (Nexus 9000v) | n9kv:latest |
cisco_ftdv |
Cisco Firepower FTDv | ftdv:latest |
cisco_csr1000v |
Cisco CSR 1000v | csr1000v:latest |
nokia_srlinux |
Nokia SR Linux | ghcr.io/nokia/srlinux:latest |
ceos |
Arista cEOS | ceos:latest |
juniper_crpd |
Juniper cRPD | crpd:latest |
juniper_vjunosswitch |
Juniper vJunos Switch | vrnetlab/vr-vjunosswitch:latest |
juniper_vjunosrouter |
Juniper vJunos Router | vrnetlab/vr-vjunosrouter:latest |
frr |
FRRouting | frrouting/frr:latest |
linux |
Generic Linux | alpine:latest |
paloalto_panos |
Palo Alto PAN-OS | panos:latest |
fortinet_fortigate |
Fortinet FortiGate | fortigate:latest |
For the full list, see the ContainerLab documentation.
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.