QK

qainsights/k6-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

26 stars 7 forks 质量 64 趋势 11MIT

k6 MCP 服务器

概览

用于运行 k6 负载测试的模型上下文协议(MCP)服务器实现。 - 与模型上下文协议框架的简单集成 - 支持自定义测试时长和虚拟用户(VU) - 易用的 k6 负载测试 API - 可通过环境变量配置 - 实时测试输出 在开始之前,请确保你已安装以下设备: - Python 3.12及以上版本 - k6负载测试工具(安装指南)- uv包管理器(安装指南) 3. 设置环境变量(可选):在项目根创建 .env 文件: 1. 创建一个k6测试脚本(例如,test.js): 2. 在你喜欢的MCP客户端(Claude Desktop、Cursor、Windsurf等)中,使用以下规格配置MCP服务器: 3. 现在让LLM运行测试,例如为hello.js运行k6测试。k6 mcp服务器会利用以下任一工具启动测试。

概述(AI 翻译)

用于运行 k6 负载测试的模型上下文协议(MCP)服务器实现。

✨ 特色

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

🔧 先修条件

在开始之前,请确保你已安装以下设备:

  • Python 3.12 或更高版本
  • k6 负载测试工具(安装指南)
  • uv 包管理器(安装指南)

📦 安装

  1. 克隆仓库:

  2. 安装所需的依赖:

  3. 设置环境变量(可选): 在项目根创建 .env 文件:

🚀 开始

  1. 创建一个k6测试脚本(例如,test.js):

  2. 在你喜欢的MCP客户端(Claude Desktop、Cursor、Windsurf等)中,使用以下规格配置MCP服务器:

  3. 现在让LLM运行测试,例如run k6 test for hello.js。k6 mcp服务器将利用以下任一工具启动测试。

  • execute_k6_test:运行默认选项测试(30秒时长,10个VU)
  • execute_k6_test_with_options:运行自定义时长和VU的测试

本页由 AI 翻译,技术细节请以原文为准。

README

🚀 ⚡️ k6-mcp-server

A Model Context Protocol (MCP) server implementation for running k6 load tests.

✨ Features

  • Simple integration with Model Context Protocol framework
  • Support for custom test durations and virtual users (VUs)
  • Easy-to-use API for running k6 load tests
  • Configurable through environment variables
  • Real-time test execution output

🔧 Prerequisites

Before you begin, ensure you have the following installed:

📦 Installation

  1. Clone the repository:
git clone https://github.com/qainsights/k6-mcp-server.git
  1. Install the required dependencies:
uv pip install -r requirements.txt
  1. Set up environment variables (optional): Create a .env file in the project root:
K6_BIN=/path/to/k6  # Optional: defaults to 'k6' in system PATH

🚀 Getting Started

  1. Create a k6 test script (e.g., test.js):
import http from "k6/http";
import { sleep } from "k6";

export default function () {
  http.get("http://test.k6.io");
  sleep(1);
}
  1. Configure the MCP server using the below specs in your favorite MCP client (Claude Desktop, Cursor, Windsurf and more):
{
  "mcpServers": {
    "k6": {
      "command": "/path/to/bin/uv",
      "args": [
        "--directory",
        "/path/to/k6-mcp-server",
        "run",
        "k6_server.py"
      ]
    }
  }
}

  1. Now ask the LLM to run the test e.g. run k6 test for hello.js. The k6 mcp server will leverage either one of the below tools to start the test.
  • execute_k6_test: Run a test with default options (30s duration, 10 VUs)
  • execute_k6_test_with_options: Run a test with custom duration and VUs

📝 API Reference

Execute K6 Test

execute_k6_test(
    script_file: str,
    duration: str = "30s",  # Optional
    vus: int = 10          # Optional
)

Execute K6 Test with Custom Options

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

✨ Use cases

  • LLM powered results analysis
  • Effective debugging of load tests

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "k6": { "command": "/path/to/bin/uv", "args": [ "--directory", "/path/to/k6-mcp-server", "run", "k6_server.py" ] } } }