Ejecutor de pruebas MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) para ejecutar y analizar resultados de pruebas de múltiples entornos de prueba. Este servidor proporciona una interfaz unificada para ejecutar pruebas y procesar sus resultados, y admite:
Bats (Sistema de pruebas automatizadas Bash)
Pytest (marco de pruebas de Python)
Pruebas de Flutter
Jest (Marco de pruebas de JavaScript)
Pruebas Go
Pruebas de óxido (prueba de carga)
Genérico (para ejecución de comandos arbitrarios)
Instalación
Prerrequisitos
Es necesario instalar los siguientes marcos de prueba para sus respectivos tipos de prueba:
Murciélagos:
apt-get install bats
obrew install bats
Pytest:
pip install pytest
Flutter: siga la guía de instalación de Flutter
Broma:
npm install --save-dev jest
Go: Siga la guía de instalación de Go
Rust: siga la guía de instalación de Rust
Uso
Configuración
Agregue el ejecutor de pruebas a su configuración de MCP (por ejemplo, en claude_desktop_config.json
o cline_mcp_settings.json
):
Nota: Para las pruebas de Flutter, asegúrese de reemplazar:
/opt/homebrew/Caskroom/flutter/3.27.2/flutter
con su ruta de instalación real de Flutter/Users/username/.pub-cache
con su ruta de caché de publicación actualActualice PATH para incluir las rutas reales de su sistema
Puede encontrar estos valores ejecutando:
Ejecución de pruebas
Utilice la herramienta run_tests
con los siguientes parámetros:
Ejemplo para cada marco:
Características de seguridad
El ejecutor de pruebas incluye funciones de seguridad integradas para evitar la ejecución de comandos potencialmente dañinos, en particular para el marco generic
:
Validación de comandos
Bloquea
sudo
ysu
por defectoPreviene comandos peligrosos como
rm -rf /
Bloquea las operaciones de escritura del sistema de archivos fuera de ubicaciones seguras
Saneamiento de variables ambientales
Filtra variables de entorno potencialmente peligrosas
Evita la anulación de variables críticas del sistema
Garantiza un manejo seguro de la ruta
Seguridad configurable
Anular las restricciones de seguridad cuando sea necesario a través de
securityOptions
Control detallado sobre las funciones de seguridad
Configuración segura predeterminada para el uso de pruebas estándar
Opciones de seguridad que puedes configurar:
Soporte de pruebas de Flutter
El ejecutor de pruebas incluye soporte mejorado para pruebas de Flutter:
Configuración del entorno
Configuración automática del entorno de Flutter
Configuración de PATH y PUB_CACHE
Verificación de la instalación de Flutter
Manejo de errores
Recopilación de seguimientos de pila
Manejo de errores de aserción
Captura de excepciones
Detección de fallos en las pruebas
Procesamiento de salida
Captura completa de la salida de prueba
Preservación del seguimiento de la pila
Informe detallado de errores
Conservación de la salida sin procesar
Soporte para pruebas de óxido
El ejecutor de pruebas proporciona soporte específico para cargo test
de Rust:
Configuración del entorno
Establece automáticamente RUST_BACKTRACE=1 para obtener mejores mensajes de error
Análisis de salida
Analiza los resultados de pruebas individuales
Captura mensajes de error detallados para pruebas fallidas
Identifica las pruebas ignoradas
Extrae información resumida
Soporte de pruebas genéricas
Para las canalizaciones de CI/CD, las acciones de GitHub a través act
o cualquier otra ejecución de comando, el marco genérico proporciona:
Análisis automático de salida
Intenta segmentar la salida en bloques lógicos
Identifica los encabezados de sección
Detecta indicadores de aprobación/reprobación
Proporciona una estructura de salida razonable incluso para formatos desconocidos
Integración flexible
Funciona con comandos de shell arbitrarios
No hay requisitos de formato específicos
Perfecto para la integración con herramientas como
act
, Docker y scripts personalizados.
Características de seguridad
Validación de comandos para evitar operaciones dañinas
Se puede configurar para permitir permisos elevados específicos cuando sea necesario
Formato de salida
El ejecutor de pruebas produce una salida estructurada mientras preserva la salida de prueba completa:
Los resultados se guardan en el directorio de salida especificado:
test_output.log
: Salida de prueba sin procesartest_errors.log
: Mensajes de error, si los haytest_results.json
: Resultados de pruebas estructuradassummary.txt
: Resumen legible para humanos
Desarrollo
Configuración
Clonar el repositorio
Instalar dependencias:
Construir el proyecto:
Ejecución de pruebas
El conjunto de pruebas incluye pruebas para todos los marcos compatibles y verifica escenarios de pruebas exitosos y fallidos.
CI/CD
El proyecto utiliza GitHub Actions para la integración continua:
Pruebas automatizadas en Node.js 18.x y 20.x
Resultados de pruebas cargados como artefactos
Dependabot configurado para actualizaciones de dependencias automatizadas
Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones
Confirme sus cambios
Empujar hacia la rama
Crear una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Facilita la ejecución unificada y el análisis de resultados para varios marcos de prueba, incluidos Bats, Pytest, Flutter, Jest y Go, a través de una interfaz de protocolo de contexto de modelo.
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that integrates with the Qase test management platform, allowing users to create and retrieve test cases, manage test runs, and interact with Qase projects.Last updated -21
- AsecurityFlicenseAqualityA Model Context Protocol server that allows AI assistants to execute and manage JMeter performance tests through natural language commands.Last updated -645
- -securityAlicense-qualityA Model Context Protocol server that provides programmatic APIs for running mutation tests with mutmut, analyzing results, and improving test coverage in Python projects.Last updated -MIT License
- AsecurityFlicenseAqualityA testing server that demonstrates Model Context Protocol features, providing access to user data, todos, and system information through resources, tools for user management and calculations, and prompt templates for various analyses.Last updated -4