
I built an MCP server that hit-tests before it clicks, because "clicked Save" was lying to me
Disclosure: I built this.
The bug that started it: my agent would report a successful click and nothing would happen. Turns out most browser MCP servers resolve an element's bounding box, aim at the centre, and fire. If the page has painted a cookie scrim or a modal backdrop over that point, the click lands on the overlay and the tool still reports success. You then spend five turns debugging a button that was never pressed.
ChromeBoost hit-tests the target first, descending through open and closed shadow roots. If something is on top it says so, scrolls clear of pinned bars, or gives the covering layer pointer-events: none for exactly one click and restores the inline styles after. Same real CDP click, so isTrusted stays true.
It also adds hover and drag, because a click-only tool surface cannot reach hover-only menus or sliders or canvas apps at all.
Works with Claude Code, Gemini CLI and Codex. MIT, no telemetry, the server only talks to your own browser.
Code: https://github.com/lordamdal/chromeboost
Site: https://chromeboost.vercel.app
Happy to answer anything about the CDP side. The occlusion piece was the interesting part.