返回 MCP 目录
public公开dns本地运行

k6-mcp-server-fby

一个基于Model Context Protocol的k6负载测试服务器实现

article

README

🚀 k6-mcp-server

一个模型上下文协议(MCP)服务器实现,用于运行k6负载测试,可简单集成到MCP框架,支持自定义测试参数,还能实时输出测试结果。

🚀 快速开始

  1. 创建一个k6测试脚本(例如test.js):
import http from "k6/http";
import { sleep } from "k6";

export default function () {
  http.get("http://test.k6.io");
  sleep(1);
}
  1. 使用以下配置在您最喜欢的MCP客户端中配置k6 MCP服务器(例如Claude Desktop、Cursor、Windsurf等):
{
  "mcpServers": {
    "k6": {
      "command": "/Users/naveenkumar/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/naveenkumar/Gits/k6-mcp-server",
        "run",
        "k6_server.py"
      ]
    }
  }
}
  1. 现在让LLM运行测试,例如运行 hello.js 的k6测试。k6 MCP服务器将使用以下工具之一启动测试:
  • execute_k6_test:使用默认选项运行测试(30秒时长,10个VUs)
  • execute_k6_test_with_options:使用自定义时长和VUs运行测试

k6-MCP

✨ 主要特性

  • 简单集成到模型上下文协议框架中
  • 支持自定义测试时长和虚拟用户(VUs)
  • 易于使用的API来执行k6负载测试
  • 通过环境变量配置
  • 实时测试执行输出

🔧 先决条件

在开始之前,请确保安装了以下内容:

📦 安装指南

  1. 克隆仓库:
git clone https://github.com/yourusername/k6-mcp-server.git
  1. 安装所需的依赖项:
uv pip install -r requirements.txt
  1. 设置环境变量(可选): 在项目根目录下创建一个.env文件:
K6_BIN=/path/to/k6  # 可选:默认为系统PATH中的'k6'

📄 API文档

执行k6测试

execute_k6_test(
    script_file: str,
    duration: str = "30s",  # 可选,默认为"30秒"
    vus: int = 10          # 可选,默认为10
)

带自定义选项执行k6测试

execute_k6_test_with_options(
    script_file: str,
    duration: str,
    vus: int
)

🤝 贡献

欢迎贡献!请随意提交Pull Request。

📄 许可证

本项目 licensed under the MIT License,具体见LICENSE文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端