MCP~81 · IA en attente
Showoff Saturday: I gave my coding agent my real, signed-in Chrome so it can debug the app I am actually looking at
r/webdevu/prakersh25 septembre 2026
Analyse IA en cours de préparation : les informations ci-dessous proviennent de la détection automatique.
Résumé
My project, OnBridge: a Chrome extension plus a small local MCP server that lets Claude Code, Codex, Cursor or Gemini CLI drive the Chrome I already have open. Free, GPL-3.0, and there is no server of mine involved. To be fair up front: much of what a coding agent does in a browser, Playwright already does well. Repro…
Afficher le post originalMasquer le post original
My project, OnBridge: a Chrome extension plus a small local MCP server that lets Claude Code, Codex, Cursor or Gemini CLI drive the Chrome I already have open. Free, GPL-3.0, and there is no server of mine involved.
To be fair up front: much of what a coding agent does in a browser, Playwright already does well. Reproducing a bug on localhost, reading the console, clicking through a flow, even reusing a login with storageState.
What Playwright is not built for is doing things on my behalf in my own browser. With OnBridge I can ask for something like "search Amazon for a USB-C hub, compare the top three, add the best one to my cart and place the order", and the agent does it in my signed-in Chrome, with my saved address and payment method, the way I would. The same goes for filling a form from a file, working through a vendor portal behind SSO and 2FA, or triaging GitHub notifications. No scripted login, no copied cookies, no fresh headless profile for sites to flag. The first field test was an Amazon.in search.
On bot checks: in a quick test, OnBridge passed scrapingcourse.com's Cloudflare challenge page and every BrowserScan bot check, CDP included, with no click from me. To be fair, Playwright MCP's default headed Chrome passed the same tests. What it lacks is my session: it landed on Reddit's login page, where OnBridge was already signed in.
Acting on my behalf only works if spending money stays my decision:
The agent acts, I approve what matters. The side panel shows every action as it happens. A click whose label reads like Place order, Pay, Delete, Send or Submit waits for Allow; the screenshot shows a "Place order - $249" click held: https://github.com/prakersh/onbridge/blob/main/docs/screenshots/onbridge.png. No answer in 25 seconds means denied. The approval mode can only be changed in the panel, never by the agent.
It only gets what I grant. A tab, a window or the whole browser, and only after I press a button. Grants cannot overlap, so two agents can work in two windows without touching each other's tabs.
Real input, not dispatchEvent. Synthetic events arrive with isTrusted: false, and native form submission, drag-and-drop, canvas apps and rich editors ignore them. OnBridge sends clicks and keys through the DevTools Protocol Input domain via chrome.debugger, including inside open shadow roots and cross-origin iframes. If DevTools is already open on the tab, the debugger cannot attach, so it falls back to synthetic events and the side panel says so.
It still covers the dev loop too: it reads console output and network requests while it reproduces a bug in the tab where I am already signed in, with authorization and cookie header values redacted before the agent sees them.
Setup is the extension plus one line:
claude mcp add onbridge -- npx -y @onllm-dev/onbridge-mcp
GitHub: https://github.com/prakersh/onbridge
Chrome Web Store: https://chromewebstore.google.com/detail/onbridge/minhhfibhfnjdcgiipmcbfgclmeineca
Where would you draw the line on what an agent may do in your real browser without asking? Right now anything that reads like pay, delete, send or submit waits for a click.