使用说明

项目简介

Locust MCP Server 是一个 MCP 服务器的实现,它将 Locust 负载测试工具集成到 MCP 框架中。通过此服务器,用户可以使用支持 MCP 协议的 LLM 客户端(如 Claude Desktop, Cursor, Windsurf 等)来发起和控制 Locust 性能测试,极大地简化了负载测试的启动和管理流程,使得用户可以通过自然语言指令驱动性能测试。

主要功能点

  • LLM 驱动的负载测试: 允许用户通过 LLM 客户端以自然语言指令触发 Locust 负载测试。
  • 可配置的测试参数: 支持通过 MCP 工具调用配置 Locust 测试的各项参数,例如目标 Host、用户数量、用户生成速率和运行时长。
  • headless 和 UI 模式: 支持以 headless 模式(无 Web UI)或带 UI 模式运行 Locust 测试。
  • 实时测试输出: 返回 Locust 测试执行的实时输出信息,方便用户监控测试状态。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/QAInsights/locust-mcp-server.git
    cd locust-mcp-server
  2. 安装依赖: 确保已安装 Python 3.13 或更高版本以及 uv 包管理器。然后使用 uv 安装项目依赖:

    uv pip install -r requirements.txt
  3. (可选) 配置环境变量: 可以创建 '.env' 文件配置 Locust 的默认参数,例如:

    LOCUST_HOST=http://localhost:8089
    LOCUST_USERS=3
    LOCUST_SPAWN_RATE=1
    LOCUST_RUN_TIME=10s

    或者直接使用默认值。

服务器配置

要将 Locust MCP Server 集成到 MCP 客户端,您需要在客户端中配置 MCP 服务器信息。以下是一个典型的配置示例,请根据您的实际环境调整 'command' 和 'args' 中的路径:

{
  "mcpServers": {
    "locust": {
      "command": "/Users/你的用户名/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/你的用户名/locust-mcp-server",  // Locust MCP Server 仓库的绝对路径
        "run",
        "locust_server.py" // 运行 Locust MCP Server 的 Python 脚本
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'locust' (服务器名称,客户端使用此名称来引用该服务器)
  • 'command': '/Users/你的用户名/.local/bin/uv' (启动服务器的命令,这里使用 uv 运行 Python 脚本,请替换为您的 uv 或 python 路径)
  • 'args': 启动命令的参数列表
    • '--directory': '/Users/你的用户名/locust-mcp-server' (指定 Locust MCP Server 仓库的根目录)
    • 'run': uv 的子命令,用于运行 Python 脚本
    • 'locust_server.py': 'locust_server.py' 脚本,是 Locust MCP Server 的主程序

注意: 请将上述配置示例中的 '/Users/你的用户名/.local/bin/uv' 和 '/Users/你的用户名/locust-mcp-server' 替换为您实际的 uv (或 python) 路径和 locust-mcp-server 仓库路径。

基本使用方法

  1. 创建 Locust 测试脚本: 例如 'hello.py' (仓库中已提供示例)。

  2. 在 LLM 客户端中提问: 使用自然语言指示 LLM 客户端运行 Locust 测试,例如: 'run locust test for hello.py'

    LLM 客户端会将该指令转换为对 Locust MCP Server 的工具调用,并执行 'run_locust' 工具来启动 Locust 测试。

  3. 查看测试结果: Locust 测试的输出(包括标准输出和错误输出)将作为 MCP 响应返回给 LLM 客户端。

通过以上步骤,您就可以使用 LLM 客户端轻松地触发和管理 Locust 负载测试了。

信息

分类

开发者工具