CloudLab MCP Server
An MCP (Model Context Protocol) server for managing CloudLab/Emulab experiments. This allows AI assistants like Claude to interact with your CloudLab experiments directly.
Features
List experiments - View all your CloudLab experiments
Get experiment details - See detailed status including node states
Reboot nodes - Reboot individual nodes or all nodes in an experiment
Reload/reimage nodes - Reload a node with its disk image
Power cycle nodes - Hard reboot for unresponsive nodes
Get console logs - Retrieve console output from nodes
Extend experiments - Request time extensions
Terminate experiments - Clean up when done
Prerequisites
Node.js 18+
A CloudLab account with API access
A valid CloudLab JWT token
Installation
Configuration
Getting your CloudLab JWT Token
Log in to CloudLab
Go to your user profile
Navigate to "Download Credentials" or generate an API token
Save the token as
cloudlab.jwt
Token Location
The server looks for your JWT token in these locations (in order):
Path specified in
CLOUDLAB_TOKEN_PATHenvironment variablecloudlab.jwtin the project directory~/Downloads/cloudlab.jwt
Important: Never commit your JWT token to version control!
Usage with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
Available Tools
Tool | Description |
| List all your experiments |
| Get detailed status of an experiment |
| Reboot a specific node |
| Reboot all nodes in an experiment |
| Reload/reimage a node |
| Power cycle a node (hard reboot) |
| Get console logs for nodes |
| Extend experiment expiration |
| Terminate an experiment |
Environment Variables
Variable | Description |
| Custom path to your JWT token file |
| Override the API endpoint (default:
) |
License
MIT