AIQUAA Performance

by stevenayal

Not rated
GitHub

About

MCP server for analyzing performance requirements, generating and extending Apache JMeter test plans, evaluating JTL results, enforcing thresholds, and creating draft pull requests.

Details

Author
stevenayal
Categories
Developer Tools

Setup

Install AIQUAA Performance in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/stevenayal/aiquaa-performance-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

MCP server for analyzing performance requirements, generating and extending Apache JMeter test plans, evaluating JTL results, enforcing thresholds, and creating draft pull requests.

Servidor Model Context Protocol para convertir requisitos no funcionales, contratos de API, código y artefactos JMeter en automatización de rendimiento segura y trazable. Analiza cobertura, genera o amplía planes.jmx, evalúa.jtl, compara ejecuciones y prepara draft pull requests.

La capacidad no se infiere sólo desde el código. Todas las respuestas distinguen información observada, declarada, estimada y desconocida. Si falta carga suficiente, el servidor devuelve supuestos y una propuesta, nunca una carga “validada”.

Requiere Node.js 20+. Java 11+ y Apache JMeter 5.6+ sólo son obligatorios para ejecutar pruebas.

- MCP Streamable HTTP:http://localhost:3000/mcp
- Health:http://localhost:3000/health

{ "mcpServers": { "aiquaa-performance": { "url": "http://localhost:3000/mcp" } } }
MCP HTTP → schemas Zod → tools → dominio ├─ análisis de requisito/repositorio ├─ modelo de carga cerrado/abierto ├─ parser/generador/validador/runner JMeter ├─ JTL, thresholds y comparación ├─ pipelines y GitHub draft PR └─ adapters AIQUAA, CodeGraph y Engram

Las operaciones de lectura son puras. La generación devuelve archivos, pero no los escribe.perf_ejecutaryperf_prconcentran los efectos externos y están bloqueadas por defecto. La ejecución usa argumentos de proceso separados (shell: false); XML rechazaDOCTYPE/ENTITY; todas las rutas se normalizan y validan.

Todas aceptanresponse_format:json,markdown,filesopatch.

Un workload cerrado modela usuarios concurrentes que esperan una respuesta; uno abierto modela una tasa de llegada independiente.perf_escenarioselecciona el segundo cuando el requisito declaraarrivalRateo throughput y el primero cuando declara concurrencia.

- smoke: 1 thread, 1 loop, ramp-up 1 s.
- baseline: 5 threads, 60 s, ramp-up 10 s.
- load,stress,spike,endurance,soak,capacity,breakpoint,scalability,volume: se derivan del requisito; sin datos, comienzan como propuesta mínima con confianza baja.
- aiquaa_stress: 1000 threads × 30 loops, ramp-up 0, think time 0. Está marcado como agresivo y nunca puede ejecutarse sin confirmación explícita.

tests/performance/ ├── plans/P_<API>.jmx ├── data/D_<API>.csv ├── properties/<environment>.properties ├── thresholds/thresholds.json └── README.md test-results/performance/ ├── R_<API>.jtl ├── dashboard/ ├── summary.json ├── comparison.json └── INFORME_PERF_<API>.pdf

Los CSV generados contienen valores ficticios. Configurerecycle,stopThready sharing mode según si los datos son reutilizables, únicos, consumibles o requieren cleanup. No versionar credenciales ni datos reales.

{ "global": { "maxErrorRate": 1, "p95Ms": 1500 }, "operations": { "POST /payments": { "maxErrorRate": 0.1, "p95Ms": 2000, "p99Ms": 3500 } } }

Los veredictos sonPASS,FAIL,INCONCLUSIVEyNOT_EXECUTED. Falta de thresholds, pocas muestras o ambiente inestable producenINCONCLUSIVE. La comparación devuelvenot_comparablesi difieren carga, duración, dataset, ambiente, infraestructura, versión o warm-up.

Un pipeline puede evaluar resultados con:

npx -y aiquaa-performance-mcp-server --evaluate test-results/performance/R_API.jtl tests/performance/thresholds/thresholds.json

perf_ejecutarusavalidation_onlypor defecto. Para una ejecución real se requieren simultáneamente:
- PERF_ALLOW_EXECUTION=true;
- host exacto enPERF_ALLOWED_HOSTS;
- authorized=trueen la llamada;
- carga bajo los máximos configurados;
- confirmación adicional para producción, carga agresiva o pruebas destructivas.

La API HTTP limita cuerpos a 10 MB; los runners tienen timeout y cancelación. Tokens, passwords, API keys y secretos se redactan antes de producir archivos o PR. No se permite path traversal.

perf_prsiempre usa ramatest/performance/<requirement-or-flow>, títulotest(perf): add load coverage for <flow>y draft PR.dry_run=truees el default y devuelve el plan completo sin mutar GitHub. Condry_run=false, Octokit crea la rama desdebase, escribe cada archivo y abre el draft.

El body proporcionado debe documentar requisito, tipo/modelo, endpoints, carga, duración, ramp-up, dataset, thresholds, supuestos, riesgos, comandos, variables, impacto, ejecución y checklist de seguridad.

- AIQUAA centraliza rutas para obtener requisitos y guardar planes, ejecuciones y vínculos de PR. El adapter es opcional y no registra contratos inventados más allá de esas rutas configurables.
- CodeGraph puede construir contexto estructural sólo dentro deCODEGRAPH_ALLOWED_ROOTS; ejecutecodegraph init -ien cada repositorio antes de usarlo.
- Engram queda aislado medianteENGRAM_PROJECT_PREFIX + projectId. Guardar únicamente thresholds, decisiones, ambientes y resultados curados; nunca credenciales o datasets sensibles.

ElDockerfileconstruye TypeScript con Node 20 y ejecuta sobre Java 17 con JMeter 5.6.3. GitHub Actions valida lint, build, pruebas, cobertura mínima de 70%, paquete npm y build de imagen. La publicación npm se dispara desde releases, usa OIDC/trusted publishing y--provenance; no necesita un token npm persistente.

Analizá el repositorio y NFR-018. El requisito establece 150 usuarios concurrentes, P95 < 2 s y error rate < 0,5%. Revisá auth, JMX y baseline; no dupliques samplers. Planificá cambios, ampliá el plan, generá CSV ficticio, thresholds y diff. Después prepará el draft PR. No ejecutes la prueba.

Orden recomendado:perf_analizarperf_requisitosperf_escenarioperf_coberturaperf_cambiosperf_generarperf_validarperf_pr.

Reutilización y diferencias respecto a las referencias

Deaiquaa-labs/jmeter-skillse conservaron nombresP_,D_,R_, generación JMX/CSV, ejecución non-GUI, dashboard, CI, reparación y reporting. El cambio deliberado es que 1000×30 dejó de ser universal y pasó aaiquaa_stresscon riesgo explícito.

Deaiquaa-playwright-mcp-serverse reutilizó el patrón deMcpServer+ Streamable HTTP sin estado, schemas Zod estrictos, adaptadores AIQUAA/CodeGraph/Engram, respuestas estructuradas y procesos sin shell. Performance agrega policy centralizada, análisis XML/JTL, comparabilidad y efectos externos bloqueados por defecto.

- El modelo abierto generaArrivalsThreadGroupy requiere instalar JMeter Plugins Custom Thread Groups;perf_validarlo declara como dependencia antes de ejecutar.
- El análisis estático local detecta señales, no capacidad real ni topología desplegada.
- Los percentiles se calculan en memoria; aplique límites externos para JTL muy grandes.
- La generación de PDF se delega al dashboard/reporting del pipeline; esta versión analiza y produce JSON/Markdown, pero no maqueta el PDF directamente.
- La ampliación localizada usa nombres de sampler como clave de identidad; renombres manuales pueden requerir revisión.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Create crafted UI components inspired by the best 21st.dev design engineers.

Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent

ALAPI MCP Tools,Call hundreds of API interfaces via MCP

AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.

One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.