MCPs para QA
Guía Práctica con Claude Code CLI
Tabla de contenidos
1. ¿Qué es MCP?
La analogía del USB
2. ¿Qué problema resuelve?
✗ Sin MCP — Flujo manual
✓ Con MCP — Flujo asistido
¿Qué industrias se benefician más?
Banking
Ecommerce
Telecom
Startups
3. Cómo funciona: arquitectura
MCP Client
Claude Code CLI
claude (CLI)Claude DesktopCursor IDE MCP Server
Tu herramienta conectada
@playwright/mcpserver-githubserver-postgres Resource
El sistema real
Chromium browserGitHub REST APITu DB real ¿Cómo se comunican cliente y servidor?
stdio (local)
Proceso local, comunicación por stdin/stdout. Más seguro, sin red. Es el que usa claude mcp add.
SSE (HTTP)
Server-Sent Events sobre HTTP. Para MCPs remotos o compartidos en equipo. Requiere configuración adicional.
4. Instalación paso a paso
# Verificar que tienes Claude Code instalado
claude --version
# Si no lo tienes, instalarlo con npm
npm install -g @anthropic-ai/claude-code
# Autenticarse (abre el browser automáticamente)
claude # Agregar MCP de Playwright para automatización E2E
claude mcp add playwright -- npx @playwright/mcp@latest
# Verificar que quedó instalado
claude mcp list # Agregar MCP de GitHub (requiere Personal Access Token)
# 1. Crea un token en: github.com → Settings → Developer settings → PAT
# 2. Copia el token y úsalo aquí:
claude mcp add github -- env GITHUB_TOKEN=ghp_tutoken npx @modelcontextprotocol/server-github
# Ahora Claude Code puede leer issues, PRs y repositorios de tu cuenta # Agregar MCP de Filesystem — acceso a archivos de tu proyecto
# Reemplaza /ruta/a/tu/proyecto con la ruta real
claude mcp add filesystem -- npx @modelcontextprotocol/server-filesystem /ruta/a/tu/proyecto
# Ejemplo real en macOS:
claude mcp add filesystem -- npx @modelcontextprotocol/server-filesystem /Users/rodrigo/ecommerce-tests # Agregar MCP de PostgreSQL para validar datos en tests
# La URL de conexión tiene el formato: postgresql://user:password@host:5432/database
claude mcp add postgres -- env DATABASE_URL=postgresql://qa_user:password@localhost:5432/mydb npx @modelcontextprotocol/server-postgres
# Ahora puedes pedirle a Claude que verifique el estado de la DB durante tests # Agregar MCP de Atlassian Jira para gestión de bugs
# Necesitas: URL de tu instancia Jira + API Token
claude mcp add jira -- env JIRA_URL=https://tu-empresa.atlassian.net env JIRA_TOKEN=tu_api_token npx @modelcontextprotocol/server-jira
# Claude podrá crear tickets, buscar bugs y actualizar estados directamente $ claude mcp list
Installed MCP Servers:
┌─────────────────┬────────────────────────────────────────┬────────┐
│ Name │ Command │ Status │
├─────────────────┼────────────────────────────────────────┼────────┤
│ playwright │ npx @playwright/mcp@latest │ active │
│ github │ npx @modelcontextprotocol/server-github│ active │
│ filesystem │ npx @modelcontextprotocol/server-... │ active │
│ postgres │ npx @modelcontextprotocol/server-... │ active │
└─────────────────┴────────────────────────────────────────┴────────┘ Nunca incluyas tokens en scripts compartidos
5. MCPs y la pirámide de testing
EXPLORATORIO / VISUAL
Playwright MCP · Figma MCP
E2E — MENOS TESTS
Playwright MCP · Filesystem MCP (leer fixtures)
INTEGRACIÓN — TESTS MEDIOS
PostgreSQL MCP · Filesystem MCP · GitHub MCP (specs)
API / CONTRATO
GitHub MCP (leer OpenAPI specs) · Filesystem MCP · PostgreSQL MCP
UNITARIOS — MÁS TESTS (BASE)
Filesystem MCP · GitHub MCP · Git MCP — Leer código, generar tests, revisar cobertura
| Nivel | MCP recomendado | Para qué sirve en testing |
|---|---|---|
| Unitario | Filesystem + Git | Leer archivos fuente, generar unit tests, revisar cobertura, analizar diffs |
| API / Contrato | Filesystem + GitHub | Leer specs OpenAPI/Swagger, generar casos de prueba por endpoint, validar contratos |
| Integración | PostgreSQL + Filesystem | Validar estado de DB antes y después de tests, comparar datos esperados vs reales |
| E2E | Playwright | Abrir browser real, navegar flujos completos, capturar screenshots, validar UI |
| Exploración | Playwright + GitHub | Explorar funcionalidades nuevas, reportar bugs con evidencia, crear issues automáticos |
| Gestión de bugs | Jira + GitHub + Slack | Crear tickets, asignar bugs, notificar al equipo, trackear estado de incidentes |
6. MCPs más usados para QA
Playwright MCP
E2E · Exploratorioclaude mcp add playwright -- npx @playwright/mcp@latest GitHub MCP
Unitario · API · Gestiónclaude mcp add github -- env GITHUB_TOKEN=... npx @modelcontextprotocol/server-github Filesystem MCP
Todos los nivelesclaude mcp add filesystem -- npx @modelcontextprotocol/server-filesystem /tu/proyecto PostgreSQL MCP
Integración · E2Eclaude mcp add postgresql -- env DATABASE_URL=... npx @modelcontextprotocol/server-postgres Jira MCP
Gestión de bugsclaude mcp add jira -- env JIRA_URL=... env JIRA_TOKEN=... npx @modelcontextprotocol/server-jira Slack MCP
Notificaciones · Gestiónclaude mcp add slack -- env SLACK_TOKEN=... npx @modelcontextprotocol/server-slack 7. MCPs por industria
Banking / Fintech
Compliance · Transacciones · Auditoría
PostgreSQL MCP Filesystem MCP GitHub MCP Playwright MCP Caso de uso clave
"Ejecuta el test de transferencia entre cuentas y verifica en PostgreSQL que el saldo se descontó correctamente y que el log de auditoría registró la operación."
Ecommerce
Checkout · Pagos · Inventario
Playwright MCP PostgreSQL MCP GitHub MCP Jira MCP Caso de uso clave
"Haz un purchase completo con la tarjeta de prueba Stripe, verifica el stock en PostgreSQL y crea un ticket en Jira si el precio final no coincide."
Telecom
Billing · Provisioning · SLA
PostgreSQL MCP Filesystem MCP GitHub MCP Slack MCP Caso de uso clave
"Analiza los logs de provisioning del último deploy, verifica en la DB que los planes activados tienen el monto correcto y notifica en Slack si hay algún cargo inconsistente."
Startups
CI/CD rápido · GitHub · Iteración ágil
GitHub MCP Playwright MCP Filesystem MCP Slack MCP Caso de uso clave
"Después del deploy, corre los smoke tests con Playwright, crea un issue en GitHub si algo falla y notifica en Slack con el link al issue."
8. Flujo de trabajo práctico
Flujo 1 — Banking: fallo en test de transferencia
MCPs usados: Playwright + PostgreSQL + GitHub
# Escenario: falla en tests de transferencia bancaria
$ claude
> Tengo 3 tests de Playwright fallando en el flujo de transferencia.
> Analiza los errores, busca si hay un issue abierto en GitHub y
> si no existe, crea uno con los detalles del fallo.
# Claude Code con MCP Playwright + GitHub hará:
# 1. Lee los archivos de test desde filesystem
# 2. Ejecuta los tests y captura los errores
# 3. Busca en GitHub si ya existe un issue similar
# 4. Crea el issue con screenshot, stack trace y pasos para reproducir Flujo 2 — Ecommerce: validación de datos post-deploy
MCPs usados: Playwright + PostgreSQL
# Escenario: validar integridad de datos post-deploy
$ claude
> Corrí las pruebas de smoke del checkout y pasaron todas.
> Pero quiero verificar que los datos en PostgreSQL son correctos:
> - Los pedidos creados tienen status "pending"
> - El stock de productos decrementó correctamente
> Consulta la base de datos y dame un reporte.
# Claude Code con MCP PostgreSQL hará:
# 1. Consulta la tabla orders para los pedidos de los últimos 30 minutos
# 2. Verifica el campo status de cada pedido
# 3. Cruza con la tabla inventory para validar el stock
# 4. Genera un reporte de validación con cualquier anomalía detectada La clave: instrucciones en lenguaje natural
9. Errores comunes
Poner tokens directamente en el código
→ Cada desarrollador/QA configura sus propios MCPs con sus propios tokens. La configuración es personal.
Dar acceso Filesystem a directorios demasiado amplios
→ Usa rutas específicas: /Users/tu-usuario/proyectos/mi-app-tests, no /Users/tu-usuario.
No actualizar los MCPs cuando la herramienta cambia versión
→ Periódicamente: claude mcp remove <nombre> y vuelve a instalarlo con npx (que descarga la última versión automáticamente).
Usar el MCP de Playwright en entornos sin display (CI headless)
→ Para CI usa Playwright directamente con scripts. Los MCPs son más útiles en tu máquina local durante desarrollo y exploración.
Esperar resultados instantáneos en tareas complejas
→ Sé específico en lo que pides. Tareas más acotadas (solo el flujo E2E, solo la consulta a DB) son más rápidas y precisas.
# Quitar un MCP que ya no necesitas
claude mcp remove playwright
# Actualizar un MCP a la última versión
claude mcp remove playwright
claude mcp add playwright -- npx @playwright/mcp@latest 10. Recursos y referencias
Documentación oficial
- →
modelcontextprotocol.io - →
docs.anthropic.com/claude-code/mcp - →
github.com/modelcontextprotocol/servers
MCPs de testing
- →
github.com/microsoft/playwright-mcp - →
github.com/modelcontextprotocol/servers/tree/main/src/github - →
github.com/modelcontextprotocol/servers/tree/main/src/postgres
Comunidad MCP
- →
github.com/punkpeye/awesome-mcp-servers - →
discord.gg/modelcontextprotocol - →
github.com/anthropics/claude-code
Recursos de este portfolio
🔌