🚀 ⚡️ servidor k6-mcp
Una implementación de servidor de Protocolo de contexto de modelo (MCP) para ejecutar pruebas de carga k6.
✨ Características
Integración sencilla con el marco del Protocolo de Contexto de Modelo
Compatibilidad con duraciones de pruebas personalizadas y usuarios virtuales (VU)
API fácil de usar para ejecutar pruebas de carga k6
Configurable a través de variables de entorno
Salida de ejecución de pruebas en tiempo real
Related MCP server: JMeter MCP Server
🔧 Requisitos previos
Antes de comenzar, asegúrese de tener instalado lo siguiente:
Python 3.12 o superior
Herramienta de prueba de carga k6 ( Guía de instalación )
Gestor de paquetes uv ( Guía de instalación )
📦 Instalación
Clonar el repositorio:
git clone https://github.com/yourusername/k6-mcp-server.gitInstale las dependencias necesarias:
uv pip install -r requirements.txtConfigurar variables de entorno (opcional): Cree un archivo
.enven la raíz del proyecto:
K6_BIN=/path/to/k6 # Optional: defaults to 'k6' in system PATH🚀 Primeros pasos
Cree un script de prueba k6 (por ejemplo,
test.js):
import http from "k6/http";
import { sleep } from "k6";
export default function () {
http.get("http://test.k6.io");
sleep(1);
}Configure el servidor MCP utilizando las siguientes especificaciones en su cliente MCP favorito (Claude Desktop, Cursor, Windsurf y más):
{
"mcpServers": {
"k6": {
"command": "/Users/naveenkumar/.local/bin/uv",
"args": [
"--directory",
"/Users/naveenkumar/Gits/k6-mcp-server",
"run",
"k6_server.py"
]
}
}
}
Ahora, pídale al LLM que ejecute la prueba; por ejemplo,
run k6 test for hello.js. El servidor k6 mcp utilizará una de las siguientes herramientas para iniciar la prueba.
execute_k6_test: ejecuta una prueba con opciones predeterminadas (duración de 30 s, 10 VU)execute_k6_test_with_options: Ejecutar una prueba con duración y VU personalizadas

Referencia de API
Ejecutar prueba K6
execute_k6_test(
script_file: str,
duration: str = "30s", # Optional
vus: int = 10 # Optional
)Ejecutar prueba K6 con opciones personalizadas
execute_k6_test_with_options(
script_file: str,
duration: str,
vus: int
)🤝 Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
📄 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.