实验管理服务器

CloudLab MCP服务器是一个用于管理CloudLab/Emulab实验的模型上下文协议服务器,允许AI助手直接与实验交互。

  • by ArdaGurcan
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ArdaGurcan/cloudlab-mcp

使用说明

CloudLab MCP服务器

用于管理CloudLab/Emulab实验的MCP(模型上下文协议)服务器。这允许像Claude这样的人工智能助手直接与您的CloudLab实验进行交互。

特性

  • 创建实验 -从配置文件创建新实验
  • 列出实验 -查看您的所有CloudLab实验
  • 获取实验详细信息 -查看包括节点状态在内的详细状态
  • 重新启动节点 -重新启动实验中的单个节点或所有节点
  • 重新加载/重新映像节点 -用节点的磁盘映像重新加载节点
  • 电源循环节点 -无响应节点的硬重启
  • 扩展实验 -请求延期
  • 终止实验 -完成后进行清理

先决条件

  • Node.js 18+
  • 具有API访问权限的CloudLab帐户
  • 有效的CloudLab JWT令牌

安装

npm install
npm run build

配置

获取您的CloudLab JWT令牌

  1. 登录到 CloudLab
  2. 转到您的用户配置文件
  3. 导航到“下载凭据”或生成API令牌
  4. 将令牌另存为 cloudlab.jwt

令牌位置

服务器在以下位置查找您的JWT令牌(按顺序):

  1. 中指定的路径 CLOUDLAB_TOKEN_PATH 环境变量
  2. cloudlab.jwt 在项目目录中
  3. ~/Downloads/cloudlab.jwt

重要提示: 永远不要将JWT令牌提交给版本控制!

使用Claude Desktop

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "cloudlab": {
      "command": "node",
      "args": ["/path/to/cloudlab-mcp/dist/index.js"]
    }
  }
}

可用工具

工具 说明
create_experiment 从配置文件创建新实验
list_experiments 列出你的所有实验
get_experiment 获取实验的详细状态
reboot_node 重新启动特定节点
reboot_all_nodes 重新启动实验中的所有节点
reload_node 重新加载/重新映像节点
powercycle_node 关闭节点电源(硬重启)
extend_experiment 延长实验期限
terminate_experiment 终止实验

环境变量

变量 描述
CLOUDLAB_TOKEN_PATH JWT令牌文件的自定义路径
CLOUDLAB_API_URL 覆盖API终结点(默认值: https://www.emulab.net:43794)

许可证

麻省理工学院