Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EMULATOR_MCP_HEADEDNoSi está definida, muestra las ventanas del navegador
EMULATOR_MCP_BROWSERNoOrden de navegadores: `chrome,msedge,chromium`
EMULATOR_MCP_CAPTURE_DIRNoDirectorio personalizado para PNG

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA

Devuelve los ids de pantallas que aceptan las demas tools (telefonos, tablets, laptops, desktops, con viewport, DPR, mobile y touch reales). Usa primero esta tool si no sabes que dispositivo pedir. Cualquier nombre del catalogo interno de Playwright (por ejemplo "iPhone 12", "Pixel 5", "Desktop Chrome") tambien funciona, y podes forzar apaisado agregando " landscape" al id.

screenshot_onA

Abre una URL dentro del navegador local emulando UNA pantalla concreto (viewport, DPR, mobile flag, touch y user-agent reales) y guarda un PNG. Tambien corre una auditoria responsive en ese viewport y devuelve los hallazgos junto al path de la imagen. Pedido tipico: { url, device: "iphone-15-max" }. Para cambiar tamano sin dispositivo: { url, viewport: { width: 380, height: 800 } }. Devolve el path en captures/; pide returnImage=true solo si necesitas ver la imagen, porque consume muchos tokens.

preview_devicesA

Captura la MISMA URL en varias pantallas a la vez (hasta 4 en paralelo) y devuelve un PNG por dispositivo con el desborde horizontal de cada uno. Es la tool para responder "como se ve esto en movil, tablet y desktop". Sin "devices" usa el set standard: iphone-15-max, galaxy-s24, ipad-pro-11, laptop, desktop-hd. Si solo necesitas saber donde se rompe el layout, usa check_responsive: hace las mismas aperturas y no baja imagenes.

check_responsiveA

Abre la URL en varias pantallas y reporta SOLO problemas de responsive, sin imagenes: desborde horizontal con el selector exacto que lo causa, texto recortado, targets tocables chicos, imágenes fuera de viewport, meta viewport faltante o que bloquea el zoom, y que media queries activan en cada ancho. Severidades: high = se rompe el layout, medium = se pierde contenido o baja performance, low = incomodo en tactil, info = contexto. Cada pantalla reporta viewport.deviceWidthPx (la pantalla real) y viewport.layoutWidthPx (lo que mide window.innerWidth); si layoutWidthPx > deviceWidthPx la pagina no es responsive ahi. Usa esta tool para verificar un rediseño o para encontrar breakpoints rotos; despues captura con screenshot_on el dispositivo que falla para verlo.

interact_onA

Ejecuta una secuencia de pasos en UNA pantalla emulada dentro de la misma sesion de navegador: navegar, tocar, escribir, esperar, scrollear, medir con JS y capturar. Es la tool para probar flujos (login, checkout, menu hamburguesa, scroll) y verificar que el resultado se vea bien en ese dispositivo. Cada paso es { action, ...args }. Localizadores aceptados por paso: selector (CSS o Playwright), text, role+name, label, placeholder, alt, testId. Acciones: navigate, click, tap, dblclick, hover, type, press, scroll, wait_for, set_viewport, screenshot, get_text, count, eval, assert, back, reload. Ejemplo: [{action:"navigate",url}, {action:"click",text:"Menu"}, {action:"assert",text:"Reservar"}, {action:"screenshot",fullPage:false}]. Se detiene en el primer paso que falla (salvo continueOnError). No podras mantener una sesion entre llamadas: meté todo el flujo en una sola invocacion. Si la pagina desborda el ancho del dispositivo, click/tap se resuelven por coordenada (touchscreen.tap o mouse.click) porque el chequeo de hit-target de Playwright falla con el layout expandido; el paso devuelve "via" con lo que usó.

emulator_statusA

Dice que navegador local usa la emulacion, donde caen las capturas y cuantas pantallas hay disponibles. Usala para diagnosticar antes de culpar a la pagina.

open_responsive_sessionB

Abre la MISMA URL en varios tamaños y mantiene las paginas entre llamadas MCP. Devuelve sessionId, screenIds y dashboardUrl: abre ese enlace para ver capturas lado a lado actualizadas cada 3 segundos. Cada pantalla mantiene su propio estado web. No requiere iframes ni quitar cabeceras de seguridad.

list_responsive_sessionsA

Lista las comparaciones responsive abiertas en este proceso MCP, con sus sessionIds, screenIds, tamaños, URLs actuales y enlace al panel visual. Las sesiones conservan su estado entre llamadas y desaparecen al detener el servidor.

observe_responsive_sessionA

Observa las pantallas abiertas sin recargarlas: guarda un PNG por tamaño y devuelve estado, URLs y eventos recientes de consola/red. Pide dom para obtener el arbol accesible, audit para revisar el layout y returnImages para que el agente vea las capturas dentro de la respuesta MCP.

navigate_responsive_sessionA

Navega TODAS las pantallas de una comparacion a la misma URL, conservando sus contextos, cookies y tamaños. Para recargar todas tras modificar el codigo, vuelve a pasar la URL. Devuelve resultado por pantalla y errores sin ocultar fallos parciales.

interact_responsive_sessionA

Ejecuta pasos en una pantalla o repite la secuencia en todas (screenId="all", predeterminado). Mantiene el estado para la proxima llamada. Usa localizadores semanticos porque el DOM puede variar segun el tamaño. Si un menu solo existe en movil, actua sobre ese screenId. Devuelve cada fallo por pantalla; despues usa observe_responsive_session para ver el resultado.

close_responsive_sessionA

Cierra una comparacion responsive completa: libera sus paginas, contextos y servidor del panel visual. Usa esta herramienta al terminar para no acumular navegadores. Las capturas guardadas permanecen disponibles en disco.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation4/5

There is real overlap: preview_devices, check_responsive, and open_responsive_session all 'open one URL across multiple screens', and interact_on mirrors interact_responsive_session. However, the descriptions sharply differentiate them (images vs. problems-only vs. persistent session; single-shot vs. stateful), so an agent can tell them apart with care.

Naming Consistency3/5

Two recognizable families exist (_on: screenshot_on, interact_on; _responsive_session: open/list/observe/navigate/interact/close), but conventions are mixed across the set (screenshot_on, preview_devices, check_responsive, list_devices, emulator_status) with inconsistent verb/noun ordering and suffixes.

Tool Count4/5

12 tools is well within a reasonable range for a device-emulation/QA server. Six of them are session lifecycle management, which is somewhat heavy but justified by the persistent-session feature.

Completeness4/5

Coverage spans device listing, single/multi screenshots, responsive auditing, scripted interaction, persistent sessions, navigation, observation, and cleanup, with diagnostics (emulator_status). Missing niceties like visual diffing or video capture, but core workflows are complete.

Maintenance

ActivityNo data
ResponsivenessNo issues