Skip to main content
Glama
GPA Backend Test Analyst MCP

GPA Backend Test Analyst MCP

GPA Backend Test Analyst MCP

Servidor MCP especializado em análise de qualidade de testes backend para o e-commerce do Grupo Pão de Açúcar (GPA).

Atua como um Engenheiro Sênior de Backend na sustentação de microsserviços, cobrindo análise de cobertura, engenharia reversa de módulos sem documentação, mapeamento de arquiteturas descentralizadas e geração de suites de testes completas.


Índice


Related MCP server: MCP Universal Test Suite Generator

Pré-requisitos


Instalação

git clone <url-do-repositorio>
cd McpAutomation
npm install
npm run build

Como rodar

Modo desenvolvimento (sem build)

npm run dev

Modo produção

npm run build
npm start

Testar visualmente com o MCP Inspector

npx @modelcontextprotocol/inspector node dist/gpa-mcp-server.js

Acesse http://localhost:6274 para explorar todas as tools, resources e prompts com uma interface gráfica.


Integração com VS Code

O arquivo .vscode/mcp.json já está configurado. Com o build gerado (dist/gpa-mcp-server.js), o servidor é detectado automaticamente pelo VS Code.

  1. Abra o GitHub Copilot Chat (Ctrl+Alt+I)

  2. Selecione o modo Agent

  3. O servidor gpa-backend-test-analyst estará disponível

Configuração manual (outros clientes MCP)

{
  "mcpServers": {
    "gpa-backend-test-analyst": {
      "command": "node",
      "args": ["caminho/para/dist/gpa-mcp-server.js"],
      "env": {
        "GPA_ENVIRONMENT": "sustentacao",
        "TARGET_COVERAGE": "100"
      }
    }
  }
}

Tools disponíveis

analyze_test_coverage

Analisa o relatório de cobertura de um serviço. Identifica gaps, classifica riscos de negócio por criticidade e sugere casos de teste para fechar os gaps.

Parâmetro

Tipo

Obrigatório

Descrição

service_name

string

✅

Nome do microsserviço ou módulo

coverage_report

string

✅

Relatório em formato LCOV, JSON ou XML (Istanbul/JaCoCo)

target_coverage

number

❌

Meta de cobertura em % (padrão: 100)


reverse_engineer_module

Analisa código sem documentação e gera descrição funcional, contratos de entrada/saída, dependências identificadas e documentação pronta (Javadoc/JSDoc).

Parâmetro

Tipo

Obrigatório

Descrição

code_snippet

string

✅

Trecho de código a analisar

language

enum

✅

java, kotlin, node, python, go

context

string

❌

Contexto do módulo (ex: checkout service)


map_decentralized_architecture

Mapeia dependências entre microsserviços, identifica Single Points of Failure (SPOFs), fluxos síncronos/assíncronos e gera estratégia de testes por camada com diagrama Mermaid.

Parâmetro

Tipo

Obrigatório

Descrição

service_list

string[]

✅

Lista dos serviços envolvidos

entry_point

string

✅

Serviço de entrada da análise

interaction_logs

string

❌

Logs de chamadas entre serviços


generate_test_suite

Gera suite de testes completa com 100% de cobertura de branches: happy path, edge cases, cenários de erro, testes de contrato e mocks configurados.

Parâmetro

Tipo

Obrigatório

Descrição

code_snippet

string

✅

Código-fonte do método/classe a testar

framework

enum

✅

junit5, jest, pytest, testng, spock

coverage_gaps

string[]

❌

Linhas/branches sem cobertura identificados

mock_strategy

enum

❌

mockito, jest-mock, wiremock, testcontainers


diagnose_test_failure

Diagnostica falhas em testes existentes: identifica causa raiz, classifica o tipo (flaky, regression, environment, test bug, production bug) e gera o código corrigido.

Parâmetro

Tipo

Obrigatório

Descrição

test_name

string

✅

Nome completo do teste que falhou

error_log

string

✅

Stack trace ou log de erro completo

test_code

string

❌

Código-fonte do teste

production_code

string

❌

Código de produção relacionado


generate_documentation

Gera documentação técnica a partir do código nos formatos JSDoc, Javadoc, OpenAPI 3.0, ADR, README ou Wiki.

Parâmetro

Tipo

Obrigatório

Descrição

code_snippet

string

✅

Código-fonte para documentar

doc_type

enum

✅

jsdoc, javadoc, openapi, adr, readme, wiki

service_context

string

❌

Contexto do serviço


Resources disponíveis

URI

Nome

Descrição

gpa://architecture/service-map

Mapa de Arquitetura GPA

Todos os microsserviços por domínio com integrações e padrões

gpa://tests/coverage-baseline

Baseline de Cobertura

Cobertura atual por serviço com status e prioridade de melhoria

gpa://tests/flaky-registry

Registro de Testes Flaky

Testes instáveis conhecidos com causa suspeita e status de investigação


Prompt Templates

Nome

Parâmetros

Descrição

coverage-analysis

service_name, target_coverage

Análise completa de cobertura com gaps e estimativa de esforço

reverse-engineer-module

service_name

Engenharia reversa com contrato, dependências e documentação

architecture-mapping

service_list, entry_point

Mapeamento de arquitetura com diagrama Mermaid e estratégia de testes

generate-test-suite

framework, mock_strategy

Geração de suite com 100% de cobertura e nomenclatura padrão


Exemplos de uso

Analisar cobertura de um serviço

Analise a cobertura do checkout-service com meta de 100%.
[cole o relatório LCOV aqui]

Fazer engenharia reversa de um método

Analise esse código Java do payment-service sem documentação e gere o Javadoc completo.
[cole o código aqui]

Mapear dependências de um fluxo de compra

Mapeie os serviços: cart-service, checkout-service, payment-service, order-service
Ponto de entrada: checkout-service

Diagnosticar um teste falhando na pipeline

O teste should_complete_order_when_payment_approved está falhando com esse erro:
[cole o stack trace aqui]

Métricas de qualidade

Métrica

Meta

Line Coverage

≥ 100%

Branch Coverage

≥ 100%

Mutation Score

≥ 85%

Flaky Test Rate

< 1%

Tempo de execução (unit)

< 5 min

Tempo de execução (integration)

< 15 min


Domínios cobertos

catalog · cart · checkout · payment · order · fulfillment · customer

Integrações: gateways de pagamento · ERPs · WMS · CDN · Kafka · RabbitMQ · Antifraude

Padrões: REST · gRPC · Event-driven · BFF · CQRS · Saga

Available Tools

23 tools
analyzeB

v4.0 — Pipeline real: analisa código, detecta padrões GPA, gera diagnóstico e testes compiláveis via OrchestratorAgent.

Inputs: input (required), code.

analyze_test_coverageA

Analisa a cobertura de testes de um módulo ou serviço específico. Identifica gaps, linhas não cobertas e sugere novos casos de teste.

Inputs: service_name (required), coverage_report (required), target_coverage.

diagnose_test_failureB

Diagnostica falha em teste existente: identifica causa raiz, classifica o tipo (flaky, regression, environment) e sugere fix.

Inputs: test_name (required), error_log (required), test_code, production_code.

generate_cicd_pipelineA

Gera workflow completo de GitHub Actions para análise de cobertura em PR: checkout, build, JaCoCo, bloqueio de merge se cobertura < meta, comentário no PR com relatório.

Inputs: service_name (required), target_coverage, java_version, build_tool.

generate_documentationC

Gera documentação técnica a partir do código: JSDoc, Javadoc, OpenAPI spec, ADR ou README.

Inputs: code_snippet (required), doc_type (required), service_context.

generate_test_suiteB

Gera suite de testes completa para atingir 100% de cobertura: unitários, integração e contrato.

Inputs: code_snippet (required), framework (required), coverage_gaps, mock_strategy.

get_system_metricsA

Exibe as métricas de evolução do sistema Multi-Agent. Mostra total de interações, quality score médio, trend das últimas 10 análises e performance individual de cada agente.

Inputs: no named parameters.

list_tasksA

v4.0 — Lista todas as tasks disponíveis com descrição e schema de input.

Inputs: no named parameters.

map_decentralized_architectureB

Mapeia dependências entre serviços descentralizados, identifica pontos de falha e sugere estratégias de teste para cada camada.

Inputs: service_list (required), entry_point (required), interaction_logs.

multi_agent_analyzeA

Pipeline completo Multi-Agent com Auto-Aprendizado. Orquestra ANALYST → TESTER → ARCHITECT → DOC → MEMORY em tempo real. Detecta padrões GPA (webhook, kafka, transactional, feign), gera testes prontos, documentação Javadoc e persiste aprendizado no Knowledge Base.

Inputs: input (required), code_snippet.

query_knowledge_baseA

Consulta o Knowledge Base acumulado do sistema Multi-Agent. Busca soluções similares usando matching fuzzy por keywords. Retorna as top-3 soluções com confidence e reuse count.

Inputs: query (required), top_n.

reverse_engineer_moduleB

Analisa código sem documentação e gera: descrição funcional, contratos de entrada/saída, dependências e riscos.

Inputs: code_snippet (required), language (required), context.

run_taskC

v4.0 — Executa task específica: analyze_coverage, generate_tests, diagnose_failure, generate_docs, full_analysis.

Inputs: task_id (required), input (required).

show_knowledgeC

v4.0 — Exibe métricas e dados armazenados na KnowledgeBase (padrões, soluções, métricas de qualidade).

Inputs: category.

task_analyze_coverage_asyncAnalyze Test Coverage (Async)C

Análise assíncrona de cobertura de testes com progresso em tempo real. Identifica gaps críticos e gera sugestões de testes para domínios GPA.

Inputs: service_name (required), coverage_report (required), target_coverage.

task_analyze_full_coverageC

Análise completa de cobertura com progresso em tempo real.

Inputs: service_name (required), coverage_report (required), target_coverage.

task_diagnose_failure_asyncDiagnose Test Failure (Async)B

Diagnóstico assíncrono de falhas em testes. Analisa stack trace e sugere correções.

Inputs: error_log (required), test_code, service_context.

task_generate_tests_asyncGenerate Test Suite (Async)B

Geração assíncrona de suite de testes completa com happy path, edge cases e mocks.

Inputs: code_snippet (required), framework (required), mock_strategy.

task_generate_test_suiteC

Geração de suite de testes completa com progresso em tempo real.

Inputs: code_snippet (required), framework (required), mock_strategy.

task_map_architecture_asyncMap Architecture (Async)B

Mapeamento assíncrono de arquitetura: identifica SPOFs, dependências críticas e resiliência.

Inputs: code_or_config (required), service_names.

task_orchestrateOrchestrate Multi-Agent PipelineA

Executa o pipeline completo Multi-Agent (ANALYST → TESTER → ARCHITECT → DOC → MEMORY) como uma task assíncrona com polling de status.

Inputs: input (required), code_snippet.

task_reverse_engineerB

Engenharia reversa de módulo com progresso em tempo real.

Inputs: code_snippet (required), language (required), context.

task_reverse_engineer_asyncReverse Engineer Module (Async)C

Engenharia reversa assíncrona de módulo. Extrai contratos, dependências e gera documentação.

Inputs: code_snippet (required), language (required), context.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 23 tools

    Disambiguation2/5

    Many tools have overlapping purposes, such as analyze, multi_agent_analyze, and task_orchestrate, which all perform comprehensive analysis. There are multiple sync/async pairs for the same task, and run_task executes tasks that also have dedicated tools, causing ambiguity.

    Naming Consistency2/5

    Naming is inconsistent: some tools use task_ prefix while others do not (e.g., analyze vs task_analyze_coverage_async). There is mixed use of underscores and no clear pattern distinguishing sync from async variants.

    Tool Count3/5

    23 tools is on the higher side, and many are redundant (e.g., three 'generate_test_suite' variants). The set could be consolidated without losing functionality.

    Completeness4/5

    The tool surface covers core test analysis domains like coverage, failure diagnosis, test generation, documentation, and architecture mapping. Minor gaps exist (e.g., no tool for updating or deleting tests), but overall coverage is solid.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers