Skip to main content
Glama

Servidor MCP de QA

Un servidor extensible de Model Context Protocol (MCP) diseñado para convertirse en una plataforma unificada de QA impulsada por IA.

Estado Actual

Fase 1 — Fundación e Inteligencia de QA

COMPLETADA

Paso

Capacidad

Estado

1

Fundación del proyecto

COMPLETADO

2

Servidor MCP + salud

COMPLETADO

3

Abstracción del proveedor de LLM

COMPLETADO

4

Analizador de requisitos

COMPLETADO

5

Generador de casos de prueba

COMPLETADO

6

Revisor de casos de prueba

COMPLETADO

7

Flujo de trabajo de QA de extremo a extremo

COMPLETADO

Fase 2 — Contexto del Proyecto, Persistencia, Versionado y Portabilidad

Paso

Capacidad

Estado

1

Contexto del Proyecto de QA

COMPLETADO

2

Persistencia SQLite

COMPLETADO

3

Versionado de Suites de QA

COMPLETADO

4

Importación / Exportación

COMPLETADO


1. Visión

El objetivo a largo plazo es construir una plataforma MCP de QA reutilizable que exponga capacidades de QA a clientes de IA compatibles con MCP.

MCP Client / AI Assistant
          |
          v
      QA MCP Server
          |
   +------+------+------+
   |             |      |
   v             v      v
QA Intelligence Connectors Automation
   |             |      |
Analyze        Jira    UI
Generate       GitHub  API
Review         Slack   Mobile
                       Performance
          |
          v
       QA Agent
          |
          v
 Persistent QA Context
          |
          v
 Project / Requirement / Suite Versions
          |
          v
 Import / Export

2. Arquitectura de la Fase 1

Requirement
     |
     v
Requirement Analyzer
     |
     v
RequirementAnalysis
     |
     v
Test Case Generator
     |
     v
TestCaseResponse
     |
     v
Test Case Reviewer
     |
     v
TestCaseReview
     |
     v
QASuiteResult

Capacidades principales de MCP:

analyze_requirement
generate_test_cases
review_test_cases
generate_qa_suite

3. Arquitectura de LLM

LLMProvider
     |
     +---- MockLLM
     |
     +---- BedrockLLM

El acceso a LLM es independiente del proveedor, de modo que las herramientas de QA puedan probarse localmente y luego conectarse a AWS Bedrock u otro proveedor.

La salida de IA se valida mediante modelos Pydantic antes del procesamiento posterior.


4. Fase 2 Paso 1 — Contexto del Proyecto de QA

Estado: COMPLETADO

Un proyecto de QA contiene:

QAProject
 |
 +-- project_id
 +-- name
 +-- description
 +-- application
 +-- environment
 +-- metadata

Servicio principal:

ProjectContext
 |
 +-- create_project()
 +-- get_project()

Herramientas MCP:

create_qa_project
get_qa_project

5. Fase 2 Paso 2 — Persistencia SQLite

Estado: COMPLETADO

Los proyectos se persisten en:

data/qa_mcp.db

Tabla SQLite:

qa_projects

Arquitectura:

ProjectContext
       |
       v
ProjectRepository
       |
       v
SQLiteProjectRepository
       |
       v
SQLite

El contexto principal no depende directamente de SQLite.

La persistencia se verificó en procesos de Python separados.


6. Fase 2 Paso 3 — Versionado de Suites de QA

Estado: COMPLETADO

Los requisitos de QA y las suites generadas se versionan y persisten de forma independiente.

Related MCP server: QTM4J MCP Server

Versiones de requisitos

QA Project
   |
   +-- Requirement v1
   +-- Requirement v2
   +-- Requirement v3

Cada versión de requisito contiene:

  • version_id

  • project_id

  • version

  • requirement

  • application

  • environment

  • created_at

Las versiones se mantienen de forma independiente por proyecto.

Versiones de suites

Cada suite registra la versión de requisito que la produjo:

Requirement v1
      |
      v
Suite v1

Requirement v2
      |
      v
Suite v2

Cada versión de suite contiene:

  • suite_id

  • project_id

  • requirement_version_id

  • version

  • test_cases

  • review

  • created_at

Arquitectura

core/
└── versioning/
    └── service.py
        |
        v
infrastructure/
└── versioning/
    ├── repositories.py
    └── sqlite_version_repository.py
        |
        v
      SQLite

Las dos carpetas versioning son intencionales:

  • core/versioning contiene la lógica de negocio.

  • infrastructure/versioning contiene las interfaces de repositorio y las implementaciones SQLite.

Servicios principales

QARequirementVersioningService
QASuiteVersioningService

Interfaces de repositorio

RequirementVersionRepository
SuiteVersionRepository

Implementaciones SQLite

SQLiteRequirementVersionRepository
SQLiteSuiteVersionRepository

Herramientas MCP

Requisito:

create_requirement_version
get_requirement_version
list_requirement_versions

Suite:

create_suite_version
get_suite_version
list_suite_versions

7. Fase 2 Paso 4 — Importación / Exportación

Estado: COMPLETADO

El servidor MCP de QA ahora admite artefactos de proyecto portátiles que contienen:

QA Project
    |
    +-- Requirement Versions
    |
    +-- Suite Versions

Exportación

El flujo de exportación es:

SQLite
   |
   +-- Project
   +-- Requirement Versions
   +-- Suite Versions
           |
           v
QAImportExportService
           |
           v
QAProjectExport
           |
           v
JSON

La exportación se basa en datos persistidos, no en objetos ensamblados por el llamador.

Herramienta MCP:

export_qa_project

Entrada:

project_id

Salida:

{
    "project_id": "...",
    "export_version": "1.0",
    "payload": "..."
}

Importación

El flujo de importación es:

JSON
  |
  v
Parse
  |
  v
QAProjectExport validation
  |
  v
Relationship validation
  |
  v
Duplicate project check
  |
  v
SQLite persistence

Herramienta MCP:

import_qa_project

La importación valida:

  • JSON de exportación

  • Estructura de exportación

  • Identidad del proyecto

  • Relación requisito → proyecto

  • Relación suite → proyecto

  • Relación suite → versión de requisito

  • Protección contra proyectos duplicados

Los proyectos existentes no se sobrescriben silenciosamente.

Verificación de ida y vuelta

Se ha verificado el ciclo completo de ida y vuelta:

SQLite DB A
    |
    v
EXPORT
    |
    v
JSON
    |
    v
IMPORT
    |
    v
SQLite DB B
    |
    v
Compare

Artefactos verificados:

Project           ✅
Requirements      ✅
Suites            ✅
Relationships     ✅

Aislamiento de pruebas

Las pruebas de importación/exportación de MCP utilizan bases de datos SQLite temporales aisladas.

Esto evita que la ejecución de pruebas contamine:

data/qa_mcp.db

y permite la ejecución repetida de pruebas sin depender del estado de pruebas anteriores.

Línea base de verificación P2-S4

Import/Export focused tests: 7 passed
MCP Import/Export tests:     2 passed
Full regression:            49 passed
Application-code warnings:   0
Known external warning:      1

La advertencia restante es la conocida advertencia externa de pydantic_settings sobre la referencia directa no resuelta del campo lifespan.


8. Estructura del Proyecto

Estructura de código fuente importante actual:

qa-mcp/
|
+-- src/
|   +-- qa_mcp/
|       |
|       +-- core/
|       |   +-- config.py
|       |   +-- llm.py
|       |   +-- project/
|       |   |   +-- context.py
|       |   |
|       |   +-- versioning/
|       |   |   +-- service.py
|       |   |
|       |   +-- import_export/
|       |       +-- service.py
|       |
|       +-- infrastructure/
|       |   +-- project_repository.py
|       |   +-- sqlite_project_repository.py
|       |   |
|       |   +-- versioning/
|       |       +-- repositories.py
|       |       +-- sqlite_version_repository.py
|       |
|       +-- models/
|       |   +-- schemas.py
|       |
|       +-- tools/
|       |   +-- requirement/
|       |   +-- testcase/
|       |   +-- workflow/
|       |
|       +-- server.py
|
+-- tests/
+-- config/
+-- data/
|   +-- qa_mcp.db
|
+-- README.md

9. Configuración Local

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Ejecutar pruebas:

pytest -q

Línea base verificada actual:

49 passed

Ejecutar el servidor MCP:

python -m qa_mcp.server

Verificar importaciones del servidor:

python -c "from qa_mcp.server import mcp; print('MCP server imports OK')"

10. Directrices de Desarrollo

Seguimos este flujo de trabajo para cada paso de implementación:

IMPLEMENT
    |
    v
FOCUSED TESTS
    |
    v
FULL REGRESSION
    |
    v
RUNTIME / MCP VERIFICATION
    |
    v
FIX / REFINE
    |
    v
MARK STEP COMPLETE
    |
    v
UPDATE README
    |
    v
DOWNLOAD NEW README CHECKPOINT
    |
    v
NEXT STEP

Reglas:

  1. Implementar un paso a la vez.

  2. Probar cada característica.

  3. Las pruebas existentes deben permanecer en verde.

  4. Ningún paso está completo hasta que se verifique localmente.

  5. Actualizar el README en cada hito verificado.

  6. La lógica de negocio principal debe permanecer independiente del transporte MCP.

  7. La persistencia y las integraciones externas permanecen detrás de interfaces.

  8. Los proveedores de LLM permanecen reemplazables.

  9. La salida de IA debe validarse.

  10. Las pruebas deben permanecer repetibles contra el almacenamiento persistente.

  11. No eliminar bases de datos persistentes solo para que las pruebas pasen.

  12. Usar bases de datos aisladas para pruebas centradas en persistencia.

  13. No copiar manualmente conversaciones de asistentes en el README.

  14. El README es el punto de control de desarrollo autoritativo.

  15. Ninguna característica importante está completa hasta que se verifique su ruta MCP/tiempo de ejecución.


11. Principios Arquitectónicos

  1. La lógica de negocio principal pertenece a core.

  2. La persistencia pertenece a infrastructure.

  3. El transporte MCP pertenece a server.py y a las herramientas orientadas a MCP.

  4. Los modelos de dominio/datos pertenecen a models.

  5. Los servicios principales no deben depender directamente de las implementaciones SQLite.

  6. Las integraciones externas deben aislarse detrás de interfaces.

  7. Los proveedores de LLM permanecen reemplazables.

  8. La salida generada por IA debe validarse antes de su uso posterior.

  9. Los datos persistentes no deben confundirse con los accesorios de prueba.

  10. Las pruebas deben ser repetibles.

  11. Las operaciones de importación deben validar las relaciones antes de la persistencia.

  12. Las importaciones no deben sobrescribir silenciosamente los proyectos existentes.

  13. Los hitos completados requieren verificación de regresión.

  14. Las actualizaciones del README son parte de la finalización del hito.


12. Hoja de Ruta de la Fase 2

Paso

Capacidad

Estado

1

Contexto del Proyecto de QA

COMPLETADO

2

Persistencia SQLite

COMPLETADO

3

Versionado de Suites de QA

COMPLETADO

4

Importación / Exportación

COMPLETADO

5

Conector Jira

SIGUIENTE

6

Flujo de trabajo Jira → QA

Planificado

7

Generador de casos de automatización

Planificado

8

Agente de QA

Planificado

9

Integración GitHub / CI

Planificado

10

Despliegue en Internet

Planificado


13. Arquitectura Final Planificada

                    MCP CLIENT / AI ASSISTANT
                              |
                              v
                       +-------------+
                       |   QA MCP    |
                       |   Server    |
                       +------+------+
                              |
              +---------------+----------------+
              |               |                |
              v               v                v
        QA Intelligence   Connectors      Automation
              |               |                |
        +-----+-----+     +---+---+       +----+----+
        |     |     |     |   |   |       |    |    |
     Analyze Gen  Review Jira GitHub    UI   API  Perf
                                            Mobile
              |
              v
          QA Agent
              |
              v
       Persistent Context
              |
              v
     Project / Requirement
        / Suite Versions
              |
              v
       Import / Export

14. Línea Base Actual

Phase 1
  Steps 1–7  COMPLETED

Phase 2
  Step 1 — QA Project Context       COMPLETED
  Step 2 — SQLite Persistence       COMPLETED
  Step 3 — QA Suite Versioning      COMPLETED
  Step 4 — Import / Export          COMPLETED

Verificación actual:

49 tests passed
SQLite persistence verified
Requirement versioning verified
Suite versioning verified
Import/export contract verified
Import validation verified
Round-trip persistence verified
MCP import/export verified
MCP server imports successfully
Test isolation verified

Advertencia conocida:

pydantic_settings
IncompleteFieldDefinitionWarning
Field 'lifespan'

Esta es una advertencia de dependencia externa y actualmente no bloquea la funcionalidad ni las pruebas.


15. Próximo Paso de Desarrollo

Phase 2 → Step 5
       |
       v
Jira Connector

La siguiente fase de implementación debe comenzar solo después de que se haya conservado este punto de control del README.


16. Historial de Hitos

Phase 1
  |
  +-- Foundation
  +-- LLM abstraction
  +-- Requirement analysis
  +-- Test generation
  +-- Test review
  +-- QA suite workflow
  +-- MCP integration
  |
  v
Phase 1 COMPLETE

Phase 2
  |
  +-- QA Project Context
  +-- SQLite Persistence
  +-- Requirement/Suite Versioning
  +-- Import / Export
  |
  v
Phase 2 Step 4 COMPLETE

Este README representa el estado del proyecto después de la verificación exitosa de Fase 2 → Paso 4 — Importación / Exportación.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.

  • MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanumenon/qa-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server