AIQUAA API Quality MCP Server

by stevenayal

Not rated
GitHub

About

MCP server for analyzing API requirements, evaluating test coverage, and generating or maintaining Postman/Newman automation.

Details

Author
stevenayal
Categories
Developer Tools

Setup

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

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

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

MCP server for analyzing API requirements, evaluating test coverage, and generating or maintaining Postman/Newman automation.

Servidor MCP (Model Context Protocol) que analiza requisitos y APIs, evalúa la cobertura de pruebas existente y genera o mantiene automatización Postman/Newman — con la opción de abrir un draft pull request en GitHub con los cambios.

No es un generador de colecciones desde cero: es un agente demantenimientode automatización de pruebas de API. Lee lo que ya existe (endpoints, DTOs, validadores, colecciones, pipelines) antes de decidir si crear, extender, modificar, mantener o deprecar algo.

Dado uno o varios de: un requisito, una historia de usuario, un documento OpenAPI, un comando curl, código fuente de una API o un repositorio de GitHub — el servidor:
- Detecta stack, endpoints, autenticación, validadores y contratos.
- Estructura requisitos/criterios/reglas con IDs estables (REQ-,AC-,BR-).
- Cruza requisitos contra endpoints y la colección Postman existente.
- Decidecreate/extend/modify/keep/deprecate/blockpor requisito.
- Genera o modifica únicamente lo necesario: colección, environment, scripts, pipeline CI.
- Opcionalmente abre un draft PR con todo lo anterior.

npm install aiquaa-api-quality-mcp-server
MCP: http://localhost:3000/mcp Health: http://localhost:3000/health
curl http://localhost:3000/health # {"status":"ok","name":"aiquaa-api-quality","version":"0.1.0","transport":"streamable-http"}

Agregar a la configuración de tu cliente MCP (Claude Code, Claude Desktop, etc.) como servidor HTTP:

{ "mcpServers": { "aiquaa-api-quality": { "url": "http://localhost:3000/mcp" } } }

Nunca se incluyen tokens, passwords ni API keys en los artefactos generados (colecciones, environments, pipelines). VerSeguridad.

api_analizar → stack, endpoints, colecciones/pipelines existentes api_requisitos → REQ-/AC-/BR- estructurados api_cobertura → qué está cubierto, parcial, desactualizado o sin cubrir api_cambios → plan (create/extend/modify/keep/deprecate/block) antes de tocar nada api_generar → archivos generados (dry, en memoria) api_validar → chequeo estructural antes de escribir api_pr → dry_run=true primero, luego dry_run=false para abrir el PR
Analizá este OpenAPI y generá cobertura para REQ-142 (creación de usuario).

Llamada aapi_analizarconopenapi(JSON o YAML) →api_generarconmode="create"y los endpoints detectados.

Analizá el repositorio org/customer-api y el requisito REQ-142. Revisá los endpoints, DTOs, validadores y las colecciones Postman existentes. Si la cobertura ya existe, no la dupliques. Si está incompleta, agregá o modificá únicamente los requests y assertions necesarios. Prepará los cambios y mostrame el diff. Después, creá un draft PR contra main.

Flujo de tools:api_analizar(conrepository) →api_coberturaapi_cambiosapi_generarapi_validarapi_pr(dry_run=truepara mostrar el diff, luegodry_run=false).

Ejemplo de ampliación de colección existente

Ya tengo tests/postman/C_CUSTOMER_API.json. Agregá cobertura para el nuevo campo obligatorio "taxId" en POST /customers sin duplicar los requests que ya existen.

api_generarconmode="extend"yexisting_collection— solo agrega las assertions faltantes al request existente; no crea un request duplicado (versrc/generators/collection-generator.ts).

api_prtienedry_run=truepor defecto: devuelve rama, título, cuerpo del PR y archivos planificados sin tocar GitHub. Solo condry_run=falseexplícito se crea la rama, se commitean los archivos y se abre el PR (como draft, salvodraft=falseexplícito).

api_prnecesitaGITHUB_TOKENcon permisos de escritura sobre el repositorio (contents:write,pull-requests:write). El flujo:
- Verifica permisos de escritura sobre el repo.
- Lee la rama base (o usa el default branch).
- Reutiliza la ramatest/api-quality/<requirement-or-operation>si ya existe.
- Crea/actualiza/borra los archivos provistos.
- Abre undraft PRcon contexto, requisitos evaluados, endpoints afectados, cobertura antes/después, archivos, supuestos, riesgos, secretos requeridos e instrucciones de ejecución.

Antes de escribir, cada archivo pasa por un escaneo de secretos (src/security/secret-scanner.ts); si algo parece un token o clave privada, la operación se aborta.

- Los valores marcados como secretos nunca se escriben en environments generados — quedan como""para completarse fuera de versión.
- api_validardetecta variables secretas hardcodeadas y patrones de credenciales embebidas (AWS keys, tokens de GitHub, JWT, bloques de clave privada).
- api_ejecutarbloquea ejecuciones contra hosts que parecen de producción salvoconfirmed_production_run=true.
- api_prtienedry_run=trueydraft=truepor defecto; nunca sobrescribe un archivo sin leerlo primero (usa el SHA actual de GitHub al hacercreateOrUpdateFileContents).
- El servidor nunca imprime ni reenvíaGITHUB_TOKEN/AIQUAA_ACCESS_TOKENen las respuestas de las tools.

src/aiquaa/define un puerto (AiquaaClientPort) y un adapter HTTP (HttpAiquaaClient) que usa las rutas centralizadas ensrc/constants.ts(AIQUAA_ENDPOINTS). El core del MCP depende solo de la interfaz, así que cambiar el backend o mockearlo en tests no toca las tools. Las rutas no se asumen definitivas — es el único lugar que hay que tocar si cambian.

src/codegraph/codegraph-client.tsinvoca el binariocodegraph(configurable conCODEGRAPH_BIN) para contexto estructural de un repositorio local, restringido aCODEGRAPH_ALLOWED_ROOTS. Es opcional: si no está configurado, la tool que lo use devuelve un error explícito en vez de fallar en silencio.

src/memory/engram-client.tsinvoca el binarioengram(configurable conENGRAM_BIN) para guardar/recuperar memoria persistente, siempre bajo el namespaceENGRAM_PROJECT_PREFIX + projectId. Nunca se guardan secretos; el llamador es responsable de pasar contenido ya curado.

- .github/workflows/ci.yml: build + lint + test (npm y pnpm) en cada push/PR amain.
- .github/workflows/publish-npm.yml: publica a npm vía
Trusted Publishing/OIDCcuando se publica un release de GitHub, verificando que el tag coincida conpackage.json.
- api_pipelinegenera el mismo tipo de workflow (con el job de Newman) para el repositorio de la API bajo prueba, no para este servidor.

El paquete se publica vía Trusted Publishing (OIDC), sin tokens de npm en secretos de CI:
- Crear un release de GitHub con tagvX.Y.Zigual apackage.json#version.
- El workflowpublish-npm.ymlcorrenpm run checky luegonpm publishusando elid-token: writedel job.

npm install npm run build npm test npm run lint npm run dev # build + start con --watch
docker build -t aiquaa-api-quality-mcp-server . docker run -p 3000:3000 aiquaa-api-quality-mcp-server

- La detección de stack/endpoints es heurística (regex por framework), no un parser AST completo — cubre Express, NestJS, Fastify, Spring Boot, Quarkus, ASP.NET Core, FastAPI, Django y Flask con buena precisión en los casos comunes, pero puede fallar en estructuras muy atípicas. Siempre declaraconfidencey dejamissingInformationexplícito.
- api_ejecutarrequiere quenewmanesté instalable/disponible en el entorno donde corre el servidor.
- api_analizarconrepositoryrequiereGITHUB_TOKENcon permiso de lectura sobre el repo y usa la API de Git Trees (limita a ~150 archivos relevantes y 200 KB por archivo para mantener el análisis acotado).
- La generación de reportes HTML enriquecidos (PDF, HTMLExtra) queda del lado de Newman/CI (newman-reporter-htmlextra); el servidor no genera PDFs.
- El parseo de JUnit XML es basado en regex para los casos comunes de<testcase>/<failure>, no un parser XML completo.

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.