loading…
Search for a command to run...
loading…
An MCP server that enables running tests and retrieving filtered telemetry summaries and on-demand logs to prevent LLM token overflow. It supports Docker and Pl
An MCP server that enables running tests and retrieving filtered telemetry summaries and on-demand logs to prevent LLM token overflow. It supports Docker and Playwright integration to provide detailed insights into network requests, console errors, and backend logs.
MCP que expone tools para ejecutar tests y obtener telemetría filtrada (resumen liviano + consulta bajo demanda), evitando token overflow en el LLM.
Ejecuta el comando de test y devuelve un resumen corto (pocos KB) con:
query_telemetry para pedir detalle.Entrada: sandbox_id, entry_command, target_containers; opcional: source_map_base_path, truncate_body_chars, backend_log_levels.
Consulta telemetría de un run por run_id. Tipos de query:
network_by_status (opcional status: 403) — requests que fallaron o con ese status. Los response_body se truncan por defecto.network_request_full (opcional request_url) — un request/response completo (body truncado por defecto).console_errors — errores de consola del navegador.backend_logs — logs de contenedores. Por defecto se filtran por nivel (WARN/ERROR); usar backend_log_levels: "full" para raw.full_telemetry — todo lo guardado del run (evitar salvo necesidad explícita; puede ser muy grande).Entrada: run_id, query: { type, status?, request_url?, truncate_body_chars?, backend_log_levels? }.
Devuelve todo el JSON de telemetría en una sola respuesta. Útil para compatibilidad; para ahorro de tokens preferir run_test_and_get_summary + query_telemetry.
Para que el LLM use el MCP sin inflar contexto (token-safe):
run_test_and_get_summary con el comando de test (ej. npx playwright test).run_id y summary.counts, summary.resolved_errors, summary.accessibility_tree y la telemetría ya filtrada (red solo fallos, logs WARN/ERROR).query_telemetry con type: "network_request_full" y request_url; para logs del backend usar type: "backend_logs" (por defecto filtrado; backend_log_levels: "full" si se necesita todo).run_test_and_get_summary.No pedir full_telemetry salvo que sea estrictamente necesario; el resumen + consultas puntuales mantienen el contexto liviano.
DOCKER_HOST — opcional; socket o host del daemon Docker.GLASSBOX_EXECUTE_TIMEOUT_MS — timeout del proceso de test en ms (default 120000). 0 = sin timeout de proceso; el adapter de Playwright aplica una cota interna para evitar leak de browser. Valores negativos se normalizan al default.GLASSBOX_TRUNCATE_BODY_CHARS — máximo caracteres en response_body en el resumen (default 500).GLASSBOX_RUN_STORE_MAX_ENTRIES — máximo runs en memoria para query_telemetry (default 50). Evicción FIFO.GLASSBOX_BACKEND_LOG_LEVELS — niveles a mantener en logs, separados por coma (default "WARN,ERROR").GLASSBOX_SOURCE_MAP_BASE_PATH — directorio base donde buscar archivos .map para resolver errores de bundle a fuente.GLASSBOX_SAVEPOINT_CONTAINER — (V3 True) nombre del contenedor para savepoints; si no se define, las tools de savepoint no se registran.docker.ping() al arranque).npx playwright install si usas browsers).RUN_STORE_MAX_ENTRIES; los runs más antiguos se evictan en FIFO.node dist/index.js (valida Docker y arranca con puertos V3).registerGlassboxTools desde mcp-glassbox/server y createGlassboxPortsV3 (o createGlassboxPorts) desde mcp-glassbox/ports-factory.Si este repo se usa solo (sin orquestador):
npm install && npm run build
En .cursor/mcp.json del workspace:
"mcp-glassbox": {
"command": "node",
"args": ["mcp-glassbox/dist/index.js"],
"env": {}
}
Docker debe estar en ejecución. Opcionales en env: DOCKER_HOST, GLASSBOX_EXECUTE_TIMEOUT_MS, GLASSBOX_SAVEPOINT_CONTAINER, etc. Ajustá args si el MCP está en otra ruta. Reiniciar Cursor tras cambiar mcp.json.
toolErrorResult (contrato MCP).container.logs().npm test (vitest); unit por capa con mocks.Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-glassbox": {
"command": "npx",
"args": []
}
}
}