🧪 Explorando Playwright MCP Server: automatización UI controlada por LLMs
La semana pasada vimos qué son los MCP Servers y por qué están marcando una diferencia en el testing moderno con LLMs.
Hoy vamos a profundizar en uno de los más conocidos: Playwright MCP Server, creado por Microsoft. Una herramienta que une lo mejor del browser automation y los modelos de lenguaje.
🕹️ ¿Qué es Playwright MCP Server?
Es un servidor que expone una instancia de Playwright (una herramienta para automatizar navegadores) mediante el Model Context Protocol (MCP), permitiendo que un modelo de lenguaje pueda:
Ver el DOM como una estructura interpretada.
Emitir comandos paso a paso para interactuar con la página.
Recibir retroalimentación del entorno.
Este servidor convierte a los LLMs en agentes capaces de navegar, hacer clics, llenar formularios y verificar resultados… ¡como si fueran testers humanos!
📦 ¿Qué incluye?
El repositorio oficial ofrece:
Una API MCP que expone funciones de navegación, lectura del DOM y ejecución de acciones.
Soporte para múltiples navegadores.
Logging estructurado de cada acción para trazabilidad.
Opcional: integración con un "Replay Viewer" para ver lo que hizo el LLM en cada test.
Podés probarlo con un cliente MCP (como uno en TypeScript o Python), o integrarlo en flujos CI/CD para pruebas automatizadas.
🔍 Casos de uso en testing
Algunos escenarios reales donde Playwright MCP Server brilla:
Test de prompts en flujos web: el LLM llena un formulario, espera una respuesta y la analiza.
Simulación de usuarios: validás cómo se comporta el modelo en tareas que normalmente haría un humano (como navegar un ecommerce).
Validación de interfaz dinámica: se asegura de que el modelo detecta correctamente cambios en UI, textos u opciones.
Pruebas de robustez: podés simular errores en la UI y ver cómo responde el agente LLM.
⚙️ ¿Cómo se usa?
Instalás el servidor desde el repositorio oficial.
Levantás el MCP Server localmente.
Usás un cliente MCP para enviarle comandos (con o sin intervención del LLM).
Observás los resultados, logs o capturas para validar el comportamiento.
📌 Ejemplo práctico
Supongamos que querés testear si un LLM puede llenar correctamente un formulario de contacto:
{
"instructions": "Ingresá el nombre 'Carla', el mail 'carla@tester.com', escribí un mensaje corto y enviá el formulario.",
"tools": [
{
"type": "navigate",
"url": "https://miweb.com/contacto"
},
{
"type": "fill",
"selector": "#nombre",
"value": "Carla"
},
{
"type": "fill",
"selector": "#email",
"value": "carla@tester.com"
},
{
"type": "fill",
"selector": "#mensaje",
"value": "Hola, estoy probando el formulario."
},
{
"type": "click",
"selector": "#enviar"
}
]
}
Este JSON puede ser generado por un modelo de lenguaje y ejecutado por el MCP Server. Vos solo verificás si se cumple el objetivo.
🧠 Conclusión
Playwright MCP Server no solo automatiza pasos, sino que permite testear cómo los modelos entienden y actúan sobre interfaces reales. Es una nueva dimensión en el testing, donde ya no solo importa si el botón funciona, sino si la IA sabe qué botón presionar.
La próxima semana exploraremos otras herramientas MCP como browserbase, firecrawl y servidores personalizados que también pueden usarse para testing con LLMs.
¿Querés que prepare un ejemplo listo para correr con Node.js y Playwright MCP Server? Dejamelo en comentarios o escribime.
Suscríbete para recibir el próximo post directo en tu bandeja!