chore: auto-commit (3 archivos)

- tools_nav.go
- tools_read.go
- captcha_sniff.go

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-20 18:22:24 +02:00
parent a681c79d96
commit f02d922d1e
3 changed files with 55 additions and 6 deletions
+9 -5
View File
@@ -54,7 +54,7 @@ func (d *deps) handleTabNavigate(_ context.Context, _ mcp.CallToolRequest, a tab
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
return mcp.NewToolResultText("navigated to " + a.URL), nil
return mcp.NewToolResultText("navigated to " + a.URL + d.captchaMarker(portOr(a.Port))), nil
}
// ---- tab_list ----
@@ -88,14 +88,18 @@ type tabNewArgs struct {
func tabNewTool() mcp.Tool {
return mcp.NewTool("tab_new",
mcp.WithDescription("Open a new tab via PUT /json/new. Returns the new tab's JSON."),
mcp.WithDescription("Open a new tab in the BACKGROUND via Target.createTarget (background:true). No roba el foco del WM: la ventana del navegador no se eleva, el usuario sigue escribiendo donde estaba. Returns the new tab's JSON."),
mcp.WithNumber("port", mcp.Description("CDP port. Default 9333 (Chrome isolated del MCP); usa 9222 explícito solo para adjuntarte al navegador diario.")),
mcp.WithString("url", mcp.Description("Optional start URL. Empty = about:blank.")),
)
}
func (d *deps) handleTabNew(_ context.Context, _ mcp.CallToolRequest, a tabNewArgs) (*mcp.CallToolResult, error) {
tab, err := browser.CdpNewTab("localhost", portOr(a.Port), a.URL)
// CdpNewTabBackground usa Target.createTarget{background:true} en vez de
// PUT /json/new. El endpoint HTTP /json/new SIEMPRE trae la pestaña al
// frente y eleva la ventana del SO, robando el foco del usuario que está
// escribiendo en otra ventana. La variante background no eleva la ventana.
tab, err := browser.CdpNewTabBackground("localhost", portOr(a.Port), a.URL)
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
@@ -247,7 +251,7 @@ func (d *deps) handlePageWaitLoad(_ context.Context, _ mcp.CallToolRequest, a pa
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
return mcp.NewToolResultText("page loaded"), nil
return mcp.NewToolResultText("page loaded" + d.captchaMarker(portOr(a.Port))), nil
}
// ---- page_wait_idle ----
@@ -279,5 +283,5 @@ func (d *deps) handlePageWaitIdle(_ context.Context, _ mcp.CallToolRequest, a pa
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
return mcp.NewToolResultText("network idle"), nil
return mcp.NewToolResultText("network idle" + d.captchaMarker(portOr(a.Port))), nil
}