clab-mcp-server
3
The Containerlab MCP Server is an MCP server aimed at facilitating interactions with containerlab using AI, enabling network management tasks via natural language directives. It is specially configured to work with Claude Desktop.
Containerlab MCP Server
This is a quick and dirty MCP (Model Context Protocol) trial for interacting with containerlab using AI. The example is tailored for claude desktop.
- Running containerlab API server
- Latest build of containerlab from the main branch
- Build it yourself:
make build
- Copy the binary:
cp bin/containerlab $(which containerlab)
- Build it yourself:
Building the MCP Server
For Windows
export GOOS=windows
export GOARCH=amd64
go build -o clab-mcp-server.exe main.go
For Mac
# For Intel Macs
export GOOS=darwin
export GOARCH=amd64
go build -o clab-mcp-server main.go
# For Apple Silicon (M1/M2/M3)
export GOOS=darwin
export GOARCH=arm64
go build -o clab-mcp-server main.go
For Linux
export GOOS=linux
export GOARCH=amd64
go build -o clab-mcp-server main.go
Setup for Claude Desktop
- Place the MCP server executable in an accessible location
- For Windows:
clab-mcp-server.exe
- For Mac/Linux:
clab-mcp-server
- For Windows:
- Create a configuration file named
claude_desktop_config.json
with the following content:
# For Windows:
{
"mcpServers": {
"clab-api": {
"command": "C:\\clab-mcp-server.exe",
"args": [],
"env": {
"API_SERVER_URL": "http://localhost:8080"
}
}
}
}
# For Mac/Linux:
{
"mcpServers": {
"clab-api": {
"command": "/path/to/clab-mcp-server",
"args": [],
"env": {
"API_SERVER_URL": "http://localhost:8080"
}
}
}
}
- Ensure the containerlab API server is running at http://localhost:8080 or update the URL as needed
Usage
Once configured, Claude will be able to:
- List available labs
- Deploy new network topologies
- Inspect lab details
- Execute commands on lab nodes
- Destroy and clean up labs
You can ask Claude to perform these operations using natural language, and it will use the appropriate MCP tools to interact with your containerlab environment.