AI coding agents are great until they need a browser. Headless Playwright works, but it isn't your browser — no sessions, no extensions, no real state. Wisp fixes that: a Chrome extension plus a local MCP server that lets AI clients drive the tabs you already have open.
GitHub: imtaqin/wisp
Architecture
AI client ──MCP──► Wisp server (:61822) ──WebSocket──► extension ──CDP──► your tab
The extension's background service worker owns the WebSocket connections and runs commands through chrome.debugger (CDP) and content scripts — DevTools doesn't need to be open. Clients can navigate, click, fill, scroll, screenshot, read the DOM, and read console logs and network traffic.
And because an AI silently puppeting your browser would be creepy: while a tab is being driven, the page shows it. An amber frame around the viewport, and a small wisp in the corner that names the action it's performing.
Hooking it up
cd server && npm install && npm run build
claude mcp add wisp -s user -- node /absolute/path/to/wisp/server/dist/bridge.js
Load extension/ unpacked in chrome://extensions, flip the toggle on a tab (or let auto-connect handle it), and your AI client has hands.
Security posture
Anyone who can reach the server port can drive every connected tab with your logged-in sessions — so Wisp binds to loopback by default, and arbitrary JS execution is off per-tab until you grant it. The popup gives you per-tab connect toggles, a global disconnect, and a "Allow JS in this tab" switch that resets on disconnect.
Wisp is a rebranded fork of Kapture by William Kapke (MIT) — the extension/server architecture comes from there, with my own server, overlay, dashboard and tooling on top.
I built this because I kept wanting Claude Code to debug the page I was actually looking at. Now it can.
Comments