CloudLab MCP服务器
用于管理CloudLab/Emulab实验的MCP(模型上下文协议)服务器。这允许像Claude这样的人工智能助手直接与您的CloudLab实验进行交互。
特性
- 创建实验 -从配置文件创建新实验
- 列出实验 -查看您的所有CloudLab实验
- 获取实验详细信息 -查看包括节点状态在内的详细状态
- 重新启动节点 -重新启动实验中的单个节点或所有节点
- 重新加载/重新映像节点 -用节点的磁盘映像重新加载节点
- 电源循环节点 -无响应节点的硬重启
- 扩展实验 -请求延期
- 终止实验 -完成后进行清理
先决条件
- Node.js 18+
- 具有API访问权限的CloudLab帐户
- 有效的CloudLab JWT令牌
安装
npm install
npm run build配置
获取您的CloudLab JWT令牌
- 登录到 CloudLab
- 转到您的用户配置文件
- 导航到“下载凭据”或生成API令牌
- 将令牌另存为
cloudlab.jwt
令牌位置
服务器在以下位置查找您的JWT令牌(按顺序):
- 中指定的路径
CLOUDLAB_TOKEN_PATH环境变量 cloudlab.jwt在项目目录中~/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) |
许可证
麻省理工学院
