From 6b7f71c39f4a97ecde7f81a83bc3bfcebd3d957a Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Tue, 16 Jun 2026 20:25:35 +0200 Subject: [PATCH] feat: 4 tools nuevas + browser_list enriquecido MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tools nuevas (wrappers finos sobre funciones del registry functions/browser): - page_collect_console -> cdp_collect_console (console + exceptions + log, snapshot) - page_pdf -> cdp_print_pdf (Page.printToPDF a archivo) - dom_select_option -> cdp_select_option () browser_list ahora enriquece cada master con CDP con pages (nº de page targets), active_title y active_url via GET /json (best-effort: si el puerto no responde los campos quedan a cero y el listado de procesos no falla). Total tools: 46 -> 50. Co-Authored-By: Claude Opus 4.8 (1M context) --- tools_dom.go | 65 +++++++++++++++++++++++++++++++++++++ tools_lifecycle.go | 42 ++++++++++++++++++++++-- tools_read.go | 81 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 186 insertions(+), 2 deletions(-) diff --git a/tools_dom.go b/tools_dom.go index 970dcea..6a617c9 100644 --- a/tools_dom.go +++ b/tools_dom.go @@ -27,9 +27,74 @@ func registerDomTools(s *server.MCPServer, d *deps) { s.AddTool(domTypeRefTool(), mcp.NewTypedToolHandler(d.handleDomTypeRef)) s.AddTool(domHoverRefTool(), mcp.NewTypedToolHandler(d.handleDomHoverRef)) s.AddTool(domClickXYTool(), mcp.NewTypedToolHandler(d.handleDomClickXY)) + s.AddTool(domSelectOptionTool(), mcp.NewTypedToolHandler(d.handleDomSelectOption)) + s.AddTool(domSetFilesTool(), mcp.NewTypedToolHandler(d.handleDomSetFiles)) } } +// ---- dom_select_option (MUTA) ---- + +type domSelectOptionArgs struct { + Port int `json:"port"` + Selector string `json:"selector"` + Value string `json:"value"` +} + +func domSelectOptionTool() mcp.Tool { + return mcp.NewTool("dom_select_option", + mcp.WithDescription("Select an