CloudLab MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CloudLab MCP Server list my experiments and show their status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Create experiments - Create new experiments from profiles
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
Extend experiments - Request time extensions
Terminate experiments - Clean up when done
Related MCP server: MATLAB Workflow MCP Server
Prerequisites
Node.js 18+
A CloudLab account with API access
A valid CloudLab JWT token
Installation
npm install
npm run buildConfiguration
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):
{
"mcpServers": {
"cloudlab": {
"command": "node",
"args": ["/path/to/cloudlab-mcp/dist/index.js"]
}
}
}Available Tools
Tool | Description |
| Create a new experiment from a profile |
| 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) |
| Extend experiment expiration |
| Terminate an experiment |
Environment Variables
Variable | Description |
| Custom path to your JWT token file |
| Override the API endpoint (default: |
License
MIT
Available Tools
9 toolscreate_experimentC
Create a new CloudLab experiment from a profile
Inputs: project (required), profile_name (required), profile_project (required), name, +1 more.
extend_experimentC
Extend the expiration time of an experiment
Inputs: experiment_id (required), hours (required).
get_experimentB
Get detailed status of a specific experiment including node states
Inputs: experiment_id (required).
list_experimentsB
List all your CloudLab experiments
Inputs: no named parameters.
powercycle_nodeB
Power cycle a node (hard reboot)
Inputs: experiment_id (required), node (required).
reboot_all_nodesC
Reboot all nodes in an experiment
Inputs: experiment_id (required).
reboot_nodeC
Reboot a specific node in an experiment
Inputs: experiment_id (required), node (required).
reload_nodeC
Reload/reimage a node with its disk image
Inputs: experiment_id (required), node (required).
terminate_experimentA
Terminate an experiment (WARNING: destroys all data)
Inputs: experiment_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose with no ambiguity. The tools cover different actions on experiments (create, get, list, extend, terminate) and nodes (powercycle, reboot, reload), with clear boundaries between them. An agent can easily tell them apart based on their specific functions.
All tools follow a consistent verb_noun naming pattern throughout. The verbs are clear and descriptive (e.g., create_experiment, reboot_node), and the nouns consistently specify the target resource (experiment or node). There are no deviations in style or convention.
With 9 tools, the count is well-scoped for managing CloudLab experiments and nodes. Each tool earns its place by covering essential operations like lifecycle management (create, terminate), status retrieval (get, list), and node control (reboot, reload). This is neither too sparse nor overwhelming for the domain.
The tool set provides strong coverage for the CloudLab domain, including CRUD-like operations for experiments (create, get, list, terminate) and comprehensive node management (reboot, powercycle, reload). A minor gap is the lack of tools for modifying experiment configurations or profiles after creation, but agents can work around this by recreating experiments if needed.
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Manage Rackspace Spot Kubernetes Cloudspaces, node pools, and VMs from your AI assistant.
Enables AI assistants to retrieve event data and execute event management operations in Nunify.
Manage ConfigDirector feature flags, remote configs, and targeting rules from AI assistants.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to interact with MLflow experiments, runs, and registered models. Supports browsing experiments, retrieving run details with metrics and parameters, and querying the model registry through natural language.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables remote execution of MATLAB experiments via natural language, with tools for code execution, task management, file transfer, and system diagnostics.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Google Cloud TPU VMs, including queueing, monitoring, bootstrapping, and SSH/tmux integration.MIT
- FlicenseNot gradedqualityCmaintenanceEnables provisioning and managing CloudLab labs and sandboxes, including user creation, subscriptions, and automated lab launch workflows.-