MCP Test Utils
Automatización de la interfaz de usuario de escritorio para agentes de IA: capturas de pantalla, gestión de ventanas, ratón, teclado, árbol de Automatización de la interfaz de usuario, OCR
Documentación
MCP Test Utils
Servidor MCP para pruebas automatizadas de UI de escritorio. Un solo binario: sin runtime, sin dependencias, sin instalación.
Solo Windows x64. El soporte para macOS y Linux está planificado.
Les da a los agentes de IA ojos y manos: capturas de pantalla, gestión de ventanas, mouse, teclado, Automatización de UI, OCR, búsqueda de archivos.
Por qué
Los agentes de IA pueden desencadenar acciones en aplicaciones pero no pueden ver la pantalla. Este servidor cierra esa brecha:
Agent triggers action → takes screenshot → sees the result →
switches window → clicks a button → verifies → writes report
Totalmente autónomo, sin necesidad de intervención del usuario.
Demo
3.25.1 — un formulario de VS Code completado, enviado y verificado en un par de minutos. Ver en YouTube →
3.10.1 — configuración, ajustes y las herramientas básicas: 10 tareas en una sola toma. Ver en YouTube →
MCP Test Utils vs Anthropic Computer Use
Claude Cowork ahora incluye Computer Use integrado: Claude toma capturas de pantalla y hace clic a través de interfaces visualmente. Funciona con cero configuración. MCP Test Utils adopta un enfoque diferente: en lugar de adivinar dónde hacer clic a partir de una captura, lee la estructura real de la UI a través de las APIs de Windows.
| MCP Test Utils | Computer Use | |
|---|---|---|
| Precisión del clic | Exacta — API de Automatización de UI | Estimación visual a partir de captura |
| Velocidad y costo de tokens | Rápido, bajo costo — respuestas de texto | Más lento, costoso — imagen en cada paso |
| Estructura de UI | Árbol completo: roles, estados, coordenadas | No disponible |
| OCR | Coordenadas a nivel de palabra, multilingüe | No disponible (solo visión del modelo) |
| Gestión de ventanas | Basada en API, coordenadas relativas a la ventana | Navegación visual |
| Búsqueda de archivos | Motor Ripgrep integrado | No disponible |
| Registro de sesiones | JSONL + capturas, registro en vivo en la bandeja | No disponible |
| Clics verificados | Por id de elemento, rechazado si está cubierto | Estimación visual |
| Espera y agrupación | wait_for, batch con assert | No disponible |
| Análisis visual | ✅ Mismo modelo Claude, resolución completa 1:1 | ✅ Mismo modelo Claude |
| Configuración | Descargar binario, agregar a la configuración | Integrado, un interruptor |
| Móvil / Dispatch | — | ✅ Tareas desde el teléfono |
| Multiplataforma | Windows (macOS/Linux planificado) | macOS + Windows |
MCP Test Utils es más rápido, más preciso y más económico por acción. Computer Use es más fácil de iniciar y funciona en múltiples plataformas. Se complementan entre sí.
Plataformas
| Plataforma | Estado |
|---|---|
| Windows x64 | ✅ Soporte completo |
| macOS arm64 | ⏳ Planificado |
| Linux x64 | ⏳ Planificado |
Herramientas (21)
Visión
| Herramienta | Descripción |
|---|---|
take_screenshot | Captura de pantalla de todo el escritorio con calidad configurable |
take_window_screenshot | Captura de pantalla de una ventana específica (modo de captura de pantalla o ventana) |
read_screen_text | OCR de toda la pantalla (Windows.Media.Ocr) |
read_region_text | OCR de una región de pantalla con coordenadas de palabra precisas |
Gestión de ventanas
| Herramienta | Descripción |
|---|---|
list_windows | Listar ventanas con id, título, aplicación, posición, tamaño, minimizada, enfocada |
focus_window | Traer una ventana al frente, restaurar si está minimizada |
Entrada
| Herramienta | Descripción |
|---|---|
mouse_click | Clic (izquierdo / derecho / medio) en un elemento de UI por id, o en coordenadas relativas a pantalla / ventana |
mouse_move | Mover el cursor a un punto o a un elemento de UI |
mouse_drag | Arrastrar del punto A al punto B |
mouse_scroll | Desplazar la rueda del mouse |
keyboard_type | Escribir texto (Unicode completo — latino, cirílico, CJK, emoji) |
keyboard_press | Presionar una tecla (Enter, Tab, F1–F12, flechas, etc.) |
keyboard_shortcut | Combinaciones de teclas (Ctrl+S, Alt+F4, Ctrl+Shift+P, etc.) |
Acceso estructurado a la UI
| Herramienta | Descripción |
|---|---|
list_ui_elements | Árbol de Automatización de UI — botones, campos, menús con ids, valores, estados y coordenadas exactas; filtra por nombre, valor, clase |
Espera y agrupación
| Herramienta | Descripción |
|---|---|
wait_for | Esperar una ventana, un elemento o su estado en lugar de dormir |
batch | Ejecutar hasta 20 llamadas de herramientas en una sola solicitud, con pasos de find y assert |
Búsqueda de archivos
| Herramienta | Descripción |
|---|---|
search_in_files | Buscar texto o expresiones regulares en archivos dentro de directorios permitidos (como Buscar en archivos de VS Code) |
find_files | Encontrar archivos y directorios por patrón de nombre (glob), como "Ir a archivo" |
Guía del agente
| Herramienta | Descripción |
|---|---|
get_usage_guide | Guía de flujo de trabajo compacta para agentes LLM — clics de precisión, metadatos de coordenadas, consejos de calidad |
Registro de sesiones
| Herramienta | Descripción |
|---|---|
enable_logging | Iniciar grabación de llamadas de herramientas en JSONL + capturas de pantalla (opt-in) |
disable_logging | Detener grabación, obtener estadísticas de sesión |
Instalación
- Descargue el binario desde Releases.
- Agréguelo a la configuración de su cliente MCP. El ejemplo a continuación es para Claude Desktop — para otros clientes, consulte su documentación.
Claude Desktop: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"test-utils": {
"command": "D:\\path\\to\\mcp-test-utils.exe"
}
}
}
- Reinicie Claude Desktop.
- En el chat, pruebe: "Toma una captura de pantalla" — el agente devolverá una imagen de su escritorio.
Con registro y búsqueda de archivos (opcional)
{
"mcpServers": {
"test-utils": {
"command": "D:\\path\\to\\mcp-test-utils.exe",
"env": {
"MCP_LOG_DIR": "D:\\path\\to\\logs",
"MCP_LOG_MAX_MB": "500",
"MCP_LOG_RETAIN_DAYS": "30",
"MCP_SEARCH_DIRS": "D:\\Projects\\app1;D:\\Projects\\app2"
}
}
}
}
Presets de calidad
Las capturas de pantalla admiten calidad configurable para equilibrar detalle y costo de tokens:
| Preset | Escala | Formato | Caso de uso |
|---|---|---|---|
full | 100% | JPEG q90 | Máximo detalle |
standard | 50% | JPEG q70 | Equilibrado (predeterminado) |
compact | 50% | PNG | Cuando se necesita PNG |
minimal | 25% | Escala de grises | Menor costo de tokens |
custom | 10–100% | JPEG / PNG / Escala de grises | Control total |
Variables de entorno
| Variable | Descripción | Predeterminado |
|---|---|---|
MCP_LOG_DIR | Ruta para sesiones de registro. Sin ella, las herramientas de registro están ocultas | — |
MCP_LOG_MAX_MB | Límite de tamaño de sesión (advertencia al exceder) | 500 |
MCP_LOG_RETAIN_DAYS | Eliminación automática de sesiones mayores a N días. 0 para deshabilitar | 30 |
MCP_SEARCH_DIRS | Directorios permitidos para search_in_files (; en Windows, : en macOS/Linux). Sin ella, la herramienta está oculta | — |
MCP_NOTIFY | off oculta el ícono de la bandeja y la ventana de registro de llamadas en vivo | — |
Registro en la bandeja
El servidor muestra un ícono en la bandeja con un registro en vivo de las llamadas de herramientas — una pestaña por sesión, errores en rojo. MCP_NOTIFY=off lo oculta; la posición de la ventana se guarda en %LOCALAPPDATA%\mcp-test-utils\notify.json.
Cómo funciona
MCP Test Utils es un servidor JSON-RPC 2.0 que se comunica a través de stdin/stdout. Cualquier cliente compatible con MCP inicia el binario, envía llamadas de herramientas y recibe respuestas estructuradas (texto, imágenes base64). Probado con Claude Desktop.
El servidor usa APIs nativas de Windows directamente — Win32 GDI para capturas de pantalla, SendInput para mouse y teclado, API COM de Automatización de UI para inspección de elementos, WinRT Windows.Media.Ocr para reconocimiento de texto. La búsqueda de archivos usa el motor ripgrep (grep-regex, grep-searcher, ignore) — multiplataforma, sin dependencias externas. Sin PowerShell, sin herramientas externas, sin acceso a red.
Casos de uso
- QA automatizado — el agente navega la aplicación, hace clic a través de flujos, toma capturas en cada paso, escribe un informe de pruebas
- Automatización de escritorio — completar formularios, copiar datos entre ventanas, ejecutar flujos de trabajo
- Auditoría de accesibilidad — escanear el árbol de Automatización de UI en busca de etiquetas o roles faltantes
- Regresión visual — comparación de capturas entre versiones
- Extracción de datos — OCR de texto desde aplicaciones que no exponen APIs
- Búsqueda de código — encontrar patrones en múltiples proyectos sin salir de la sesión del agente
Seguridad
- Responde solo a solicitudes del cliente MCP
- No abre puertos de red
- No escribe nada en disco excepto el registro opt-in y la configuración de la ventana de la bandeja (
%LOCALAPPDATA%\mcp-test-utils\notify.json) - No envía datos externamente
- Las capturas de pantalla capturan toda la pantalla — asegúrese de que no haya información sensible visible
- La búsqueda de archivos está en sandbox — solo los directorios en
MCP_SEARCH_DIRSson accesibles
Apóyenos
Gratuito y sin restricciones. Si le resulta útil — jeenyjai.github.io
Licencia
Copyright 2026 JeenyJAI. Todos los derechos reservados.
🚀 Creado con Claude
