🚀 ⚡️ K6 Mcp 服务器
k6 MCP 服务器
概览
什么是 k6 MCP 服务器?
k6 MCP 服务器是一个强大的工具,旨在对应用程序进行性能测试和负载测试。它利用了 k6 测试框架的能力,该框架以其高效性和易用性而闻名。MCP(微服务控制平面)服务器允许用户管理和编排多个 k6 测试脚本,使其能够无缝集成到 CI/CD 管道中,并提供一个集中平台来监控和分析性能指标。
k6 MCP 服务器的特点
- 集中管理:k6 MCP 服务器提供一个单一界面来管理多个性能测试,使得在不同环境中组织和执行测试变得更加容易。
- 实时监控:用户可以实时监控测试结果,立即洞察应用程序性能并快速识别瓶颈。
- 与 CI/CD 集成:该服务器可以轻松集成到现有的 CI/CD 工作流中,促进作为开发过程一部分的自动化性能测试。
- 可扩展性:k6 MCP 服务器设计用于处理大量并发用户,可以模拟复杂的用户场景,以测试应用程序在负载下的性能。
- 详细报告:该服务器生成全面的报告,提供各种性能指标的洞察,帮助团队根据数据做出明智的决策。
如何使用 k6 MCP 服务器
- 安装:首先在您选择的环境中安装 k6 MCP 服务器。请按照官方文档中的详细安装说明进行操作。
- 配置:配置服务器设置以匹配您的测试要求。这包括设置测试脚本、用户场景和性能阈值。
- 运行测试:使用服务器界面启动性能测试。您可以选择特定的测试脚本并定义要模拟的虚拟用户数量。
- 监控:在测试运行期间,通过服务器仪表板实时监控性能指标。
- 分析结果:测试完成后,查看生成的报告以分析性能数据并识别需要解决的任何问题。
常见问题解答
k6 MCP 服务器的主要目的是什么?
k6 MCP 服务器的主要目的是促进应用程序的性能测试和负载测试,提供一个集中平台来管理多个测试脚本和监控结果。
我可以将 k6 MCP 服务器与现有的 CI/CD 管道集成吗?
是的,k6 MCP 服务器旨在与 CI/CD 管道无缝集成,允许作为开发工作流一部分的自动化性能测试。
k6 MCP 服务器如何处理大规模测试?
k6 MCP 服务器构建为可扩展,允许用户模拟大量并发用户和复杂的用户场景,使其非常适合在高负载下测试应用程序。
k6 MCP 服务器生成什么样的报告?
k6 MCP 服务器生成详细的性能报告,包括响应时间、吞吐量、错误率和资源利用率等指标,帮助团队全面了解应用程序性能。
使用 k6 MCP 服务器需要许可证吗?
是的,k6 MCP 服务器在 MIT 许可证下提供,允许免费使用、修改和分发。
详情
🚀 ⚡️ 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:
- Python 3.12 or higher
- k6 load testing tool (Installation guide)
- uv package manager (Installation guide)
📦 Installation
- Clone the repository:
git clone https://github.com/qainsights/k6-mcp-server.git
- Install the required dependencies:
uv pip install -r requirements.txt
- 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
- 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);
}
- 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"
]
}
}
}
- 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.
Server配置
{
"mcpServers": {
"k-6-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--qainsights--k6-mcp-server--k-6-mcp-server",
"python main.py"
],
"env": {}
}
}
}