Skip to main content
Glama

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 build

Configuration

Getting your CloudLab JWT Token

  1. Log in to CloudLab

  2. Go to your user profile

  3. Navigate to "Download Credentials" or generate an API token

  4. Save the token as cloudlab.jwt

Token Location

The server looks for your JWT token in these locations (in order):

  1. Path specified in CLOUDLAB_TOKEN_PATH environment variable

  2. cloudlab.jwt in the project directory

  3. ~/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_experiment

Create a new experiment from a profile

list_experiments

List all your experiments

get_experiment

Get detailed status of an experiment

reboot_node

Reboot a specific node

reboot_all_nodes

Reboot all nodes in an experiment

reload_node

Reload/reimage a node

powercycle_node

Power cycle a node (hard reboot)

extend_experiment

Extend experiment expiration

terminate_experiment

Terminate an experiment

Environment Variables

Variable

Description

CLOUDLAB_TOKEN_PATH

Custom path to your JWT token file

CLOUDLAB_API_URL

Override the API endpoint (default: https://www.emulab.net:43794)

License

MIT

Available Tools

9 tools
create_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

    A3.5/5.0

    Scored across 9 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Enables 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.
      7
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables provisioning and managing CloudLab labs and sandboxes, including user creation, subscriptions, and automated lab launch workflows.
      -