使用说明
项目简介
k6 MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,它扩展了 LLM (大型语言模型) 的能力,使其可以通过调用预定义的工具来执行 k6 负载测试。该服务器充当 LLM 和 k6 性能测试工具之间的桥梁,使得用户可以通过自然语言指令,让 LLM 驱动 k6 进行网站或应用的性能评估。
主要功能点
- 集成 MCP 协议: 遵循 MCP 协议标准,易于与支持 MCP 的 LLM 客户端集成。
- 执行 k6 测试: 提供工具接口,允许 LLM 客户端触发 k6 负载测试并获取测试结果。
- 自定义测试参数: 支持通过工具参数自定义 k6 测试的持续时间和虚拟用户数量。
- 实时输出: 返回 k6 测试执行的实时输出信息,方便用户监控测试进度。
安装步骤
-
克隆仓库:
git clone https://github.com/QAInsights/k6-mcp-server.git cd k6-mcp-server -
安装依赖: 确保已安装 Python 3.12 或更高版本,以及 k6 负载测试工具。然后使用 'uv' 包管理器安装项目依赖:
uv pip install -r requirements.txt -
配置环境变量 (可选): 如果你的 k6 可执行文件不在系统 PATH 环境变量中,可以创建一个 '.env' 文件在项目根目录下,并指定 'K6_BIN' 环境变量为 k6 可执行文件的路径。例如:
K6_BIN=/path/to/k6
服务器配置
为了让 MCP 客户端(如 Claude Desktop, Cursor, Windsurf 等)连接到 k6 MCP 服务器,你需要在客户端中配置 MCP 服务器信息。以下是一个示例配置,你需要根据你的实际环境进行调整:
{ "mcpServers": { "k6": { "command": "/Users/naveenkumar/.local/bin/uv", "args": [ "--directory", "/Users/naveenkumar/Gits/k6-mcp-server", "run", "k6_server.py" ] } } }
配置参数说明:
- '"k6"': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- '"command"': 启动服务器的命令。这里指向 'uv' 包管理器,用于运行 Python 脚本。你需要将其替换为你实际的 'uv' 命令路径。
- '"args"': 传递给 'command' 的参数列表。
- '"--directory"': 指定服务器脚本所在的目录。你需要将其替换为你的 'k6-mcp-server' 仓库的本地路径。
- '"run"': 'uv' 命令的子命令,用于运行 Python 脚本。
- '"k6_server.py"': 服务器主脚本文件名。
请注意: '/Users/naveenkumar/.local/bin/uv' 和 '/Users/naveenkumar/Gits/k6-mcp-server' 均为示例路径,你需要根据你的实际安装路径和仓库位置进行修改。
基本使用方法
配置完成后,你可以在 MCP 客户端中通过自然语言指令指示 LLM 调用 k6 MCP 服务器的功能。
例如,你可以让 LLM 执行以下操作:
-
运行名为 'hello.js' 的 k6 测试脚本 (假设 'hello.js' 位于服务器可访问的位置):
run k6 test for hello.js这将调用 'execute_k6_test' 工具,使用默认的 30 秒持续时间和 10 个虚拟用户运行测试。
-
运行 'mytest.js' 脚本,并自定义持续时间和虚拟用户数量:
run k6 test mytest.js for 1 minute with 20 vus这将调用 'execute_k6_test_with_options' 工具,使用 1 分钟持续时间和 20 个虚拟用户运行测试。
LLM 会将指令转换为对 k6 MCP 服务器工具的调用,服务器执行 k6 测试并将结果返回给 LLM 客户端。
信息
分类
开发者工具