🚀 ⚡️ K6 Mcp Server
k6 MCP-Server
Übersicht
Was ist der k6 MCP Server?
Der ### k6 MCP Server ist ein leistungsstarkes Tool, das für die Leistungstests und Lasttests von Anwendungen entwickelt wurde. Es nutzt die Fähigkeiten des k6-Testframeworks, das für seine Effizienz und Benutzerfreundlichkeit bekannt ist. Der MCP (Microservices Control Plane) Server ermöglicht es Benutzern, mehrere k6-Testskripte zu verwalten und zu orchestrieren, was eine nahtlose Integration in CI/CD-Pipelines ermöglicht und eine zentrale Plattform für die Überwachung und Analyse von Leistungskennzahlen bietet.
Funktionen des k6 MCP Servers
- Zentrale Verwaltung: Der k6 MCP Server bietet eine einzige Schnittstelle zur Verwaltung mehrerer Leistungstests, was die Organisation und Durchführung von Tests in verschiedenen Umgebungen erleichtert.
- Echtzeitüberwachung: Benutzer können Testergebnisse in Echtzeit überwachen, was sofortige Einblicke in die Anwendungsleistung und eine schnelle Identifizierung von Engpässen ermöglicht.
- Integration mit CI/CD: Der Server kann problemlos in bestehende CI/CD-Workflows integriert werden, was automatisierte Leistungstests als Teil des Entwicklungsprozesses erleichtert.
- Skalierbarkeit: Der k6 MCP Server ist so konzipiert, dass er eine große Anzahl gleichzeitiger Benutzer verarbeiten kann und komplexe Benutzerszenarien simulieren kann, um die Anwendungsleistung unter Last zu testen.
- Detaillierte Berichterstattung: Der Server erstellt umfassende Berichte, die Einblicke in verschiedene Leistungskennzahlen bieten und den Teams helfen, fundierte Entscheidungen auf der Grundlage von Daten zu treffen.
Verwendung des k6 MCP Servers
- Installation: Beginnen Sie mit der Installation des k6 MCP Servers in Ihrer bevorzugten Umgebung. Befolgen Sie die offizielle Dokumentation für detaillierte Installationsanweisungen.
- Konfiguration: Konfigurieren Sie die Servereinstellungen, um Ihren Testanforderungen zu entsprechen. Dazu gehört das Einrichten von Testskripten, Benutzerszenarien und Leistungsgrenzwerten.
- Tests ausführen: Verwenden Sie die Serveroberfläche, um Leistungstests zu starten. Sie können spezifische Testskripte auswählen und die Anzahl der zu simulierenden virtuellen Benutzer definieren.
- Überwachung: Während die Tests laufen, überwachen Sie die Leistungskennzahlen in Echtzeit über das Server-Dashboard.
- Ergebnisse analysieren: Nachdem die Tests abgeschlossen sind, überprüfen Sie die generierten Berichte, um Leistungsdaten zu analysieren und eventuelle Probleme zu identifizieren, die behoben werden müssen.
Häufig gestellte Fragen
Was ist der Hauptzweck des k6 MCP Servers?
Der Hauptzweck des k6 MCP Servers besteht darin, Leistungstests und Lasttests von Anwendungen zu erleichtern und eine zentrale Plattform für die Verwaltung mehrerer Testskripte und die Überwachung von Ergebnissen bereitzustellen.
Kann ich den k6 MCP Server in meine bestehende CI/CD-Pipeline integrieren?
Ja, der k6 MCP Server ist so konzipiert, dass er nahtlos in CI/CD-Pipelines integriert werden kann, was automatisierte Leistungstests als Teil des Entwicklungsworkflows ermöglicht.
Wie geht der k6 MCP Server mit großangelegten Tests um?
Der k6 MCP Server ist skalierbar und ermöglicht es Benutzern, eine große Anzahl gleichzeitiger Benutzer und komplexe Benutzerszenarien zu simulieren, was ihn ideal für Tests von Anwendungen unter hoher Last macht.
Welche Art von Berichten erstellt der k6 MCP Server?
Der k6 MCP Server erstellt detaillierte Leistungsberichte, die Kennzahlen wie Antwortzeiten, Durchsatz, Fehlerquoten und Ressourcennutzung enthalten, um den Teams ein umfassendes Verständnis der Anwendungsleistung zu ermöglichen.
Gibt es eine Lizenz für die Verwendung des k6 MCP Servers?
Ja, der k6 MCP Server ist unter der MIT-Lizenz verfügbar, die die kostenlose Nutzung, Modifikation und Verteilung erlaubt.
Detail
🚀 ⚡️ 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.
Serverkonfiguration
{
"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": {}
}
}
}