From 70ab1a4d30406dd86c663a393dce5ac5dfff6198 Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Tue, 16 Jun 2026 20:44:07 +0200 Subject: [PATCH] feat(page_collect_console): expone max_entries (cap + backlog descartado) --- tools_read.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools_read.go b/tools_read.go index 7a4bf08..ca0e74a 100644 --- a/tools_read.go +++ b/tools_read.go @@ -35,13 +35,15 @@ func registerReadTools(s *server.MCPServer, d *deps) { type pageCollectConsoleArgs struct { Port int `json:"port"` DurationMs int `json:"duration_ms"` + MaxEntries int `json:"max_entries"` } func pageCollectConsoleTool() mcp.Tool { return mcp.NewTool("page_collect_console", - mcp.WithDescription("Capture the page's console output (console.log/info/warn/error), uncaught JS exceptions and browser log entries during a time window, and return them as JSON. It is a SNAPSHOT: it records what happens during duration_ms AFTER the call starts, not past history — so trigger the action you want to observe (reload, click) right before or during the window. Use this to debug why a page misbehaves without flying blind."), + mcp.WithDescription("Capture the page's console output (console.log/info/warn/error), uncaught JS exceptions and browser log entries during a time window, and return them as JSON. It is a SNAPSHOT: it records only what happens during duration_ms AFTER the call starts (past backlog is discarded) — so trigger the action you want to observe (reload, click) right before or during the window. Capped at max_entries (default 200) to avoid flooding on verbose pages. Use this to debug why a page misbehaves without flying blind."), mcp.WithNumber("port", mcp.Description("CDP port. Default 9333 (Chrome isolated del MCP); usa 9222 explícito solo para adjuntarte al navegador diario.")), mcp.WithNumber("duration_ms", mcp.Description("Capture window in milliseconds. Default 1500.")), + mcp.WithNumber("max_entries", mcp.Description("Max entries returned before truncating. Default 200.")), ) } @@ -49,7 +51,7 @@ func (d *deps) handlePageCollectConsole(_ context.Context, _ mcp.CallToolRequest var entries []browser.ConsoleEntry err := d.withConn(portOr(a.Port), func(c *browser.CDPConn) error { var e error - entries, e = browser.CdpCollectConsole(c, a.DurationMs) + entries, e = browser.CdpCollectConsole(c, a.DurationMs, a.MaxEntries) return e }) if err != nil {