Control netplex. from Claude with MCP
netplex. ships a Model Context Protocol (MCP) server - the same protocol Claude Desktop, Claude Code and claude.ai use to call tools. Point an MCP-aware AI agent at it and you can build and drive labs in plain English: "create a lab with two routers and a switch, wire them, and start it" becomes a sequence of real tool calls, not a chat transcript that goes nowhere.
Every tool below is real and was called live before this page was published - not illustrative pseudocode.
Tools exposed: list_labs, create_lab, get_topology, add_node, add_link, delete_node, delete_link, start_lab, stop_lab, get_node_status, run_command (exec on a running node), list_images, get_catalog (browse the vendor image catalog), describe_topology (a human-readable summary of a lab), and test_under_network (clone a repo, run its tests against a peer under simulated latency/jitter/loss, report pass/fail - fully ephemeral, it creates and tears down its own lab).
Configure Claude Desktop - add to claude_desktop_config.json:
{
"mcpServers": {
"netplex": {
"command": "python3",
"args": ["/path/to/netplex/tools/netplex-mcp/server.py"],
"env": {
"NETPLEX_URL": "http://localhost:8088",
"NETPLEX_USER": "admin",
"NETPLEX_PASS": "netplex"
}
}
}
}
Restart Claude Desktop and the tools above become available to the model automatically - ask it to "list my labs" or "create a lab called staging with two Alpine hosts" and it calls the real REST API underneath, exactly like the Studio UI does.
Run it standalone (stdio transport, the MCP default):
NETPLEX_URL=http://localhost:8088 NETPLEX_USER=admin NETPLEX_PASS=netplex \ python3 tools/netplex-mcp/server.py
Or over SSE for a web-facing client: python3 server.py --transport sse --port 9999.
Because every tool call is just the REST API underneath, anything the MCP server can do, the CLI or SDK can also do directly - see "CLI quickstart" and "The Python SDK" for the non-AI equivalents of the same operations.