NEW Run multiple AI assistants at once

Let your AI drive the browser.

Kapture is an open-source MCP server and Chrome DevTools extension that gives any AI assistant real, reliable control of your browser. No Selenium, no chromedrivers, no headless guesswork — just the tab you're already looking at.

100% Open Source No Analytics No Trackers
chrome://devtools · Kapture panel WebSocket connected
Kapture DevTools panel showing command history, WebSocket status, and a screenshot preview alongside an AI chat automating a form.
See it in action

A DevTools panel that shows its work.

Every command and response is visible, timed, and inspectable — so you (and your AI) always know exactly what's happening.

Real-time command history

See every command sent and response received, with detailed timing for each round trip.

WebSocket connection status

Monitor connection health and tab registration at a glance — no silent disconnects.

Visual response preview

Screenshots render as clickable images, with the full JSON payload right beside them.

Browser detection

Automatically detects Chrome, Edge, Brave, Opera, and Vivaldi installs on your machine.

XPath & CSS selectors

Every element tool accepts both CSS selectors and XPath expressions interchangeably.

Browser selection

Open new tabs in a specific browser, or just fall back to the system default.

MCP interface

Everything your AI can reach.

Complete browser automation through the Model Context Protocol — tools, resources, and plain HTTP endpoints for debugging.

Navigation & Tabs

9
navigateNavigate to any URL with timeout support
backGo back in browser history
forwardGo forward in browser history
reloadReload the current page
showBring a tab to the front and focus it
list_tabsList all connected browser tabs
tab_detailGet detailed information about a tab
new_tabOpen a new tab with browser selection
closeClose a browser tab

Interaction

13
clickClick elements using CSS selector or XPath
hoverHover over elements to trigger effects
fillFill form inputs by setting value directly
typeType a string as real keystrokes
insertTextInsert a block of text at once (editors, Google Docs)
clearClear a text field with real key events
selectSelect options from HTML dropdowns
keypressSend keyboard events with modifier support
focusSet focus on form elements
blurRemove focus from elements
scrollScroll an element into view or to a coordinate
evaluateExecute JavaScript in the page (toggle-gated)
composeRun a sequence of commands in one call, stopping at the first failure — guide

Information

6
screenshotCapture page or element screenshots
domGet HTML content of page or elements
elementsQuery elements with visibility filtering
console_logsGet console messages, exceptions, and entries
watch_consoleWatch the console in real time for a duration
elementsFromPointGet elements at specific coordinates

Network

3
network_monitorTurn network capture on/off for a tab
network_requestsList captured requests, poll new ones with a cursor
network_bodyFetch a request's payload and response body on demand

Tab Management

kapture://tabs kapture://tab/{tabId}

List all connected tabs, or get the full detail for a single one.

Console Logs

kapture://tab/{tabId}/console

Paginate with ?before={ts}&limit={n}, filter by ?level=. Max 500 per page; returns a nextCursor.

Screenshots

kapture://tab/{tabId}/screenshot

Options: ?selector={css}, ?scale=0.1–1.0, ?format=webp|jpeg|png.

Element Inspection

kapture://tab/{tabId}/elementsFromPoint

Pass ?x=&y= to get the full element stack with selectors, bounds, and styles.

DOM Access

kapture://tab/{tabId}/dom

Returns outerHTML for the page or a single element via ?selector={css}.

Element Queries

kapture://tab/{tabId}/elements

Query all matches with ?selector={css}&visible={true|false|all}.

Base URL http://localhost:61822/ — the extension auto-connects on port 61822

Data Endpoints

GET /
GET /tabs
GET /tab/{tabId}
GET /tab/{tabId}/console
GET /tab/{tabId}/dom
GET /tab/{tabId}/elements

Image Endpoints

GET /tab/{tabId}/screenshot
GET /tab/{tabId}/screenshot/view
GET /tab/{tabId}/elementsFromPoint

JSON with base64 data, a direct image file for embedding, and the element stack at any point.

Navigation & Interaction (POST)

POST /tab/{tabId}/navigate
POST /tab/{tabId}/back
POST /tab/{tabId}/forward
POST /tab/{tabId}/reload
POST /tab/{tabId}/show
POST /tab/{tabId}/click
POST /tab/{tabId}/hover
POST /tab/{tabId}/focus
POST /tab/{tabId}/blur

Input, scroll & advanced (POST)

POST /tab/{tabId}/fill
POST /tab/{tabId}/select
POST /tab/{tabId}/keypress
POST /tab/{tabId}/type
POST /tab/{tabId}/insertText
POST /tab/{tabId}/clear
POST /tab/{tabId}/scroll
POST /tab/{tabId}/evaluate
POST /tab/{tabId}/compose

Network monitoring (POST)

POST /tab/{tabId}/network_monitor
POST /tab/{tabId}/network_requests
POST /tab/{tabId}/network_body

Toggle capture, then read the request list and pull individual response bodies — same JSON shapes as the MCP tools.

Tabs & debugging

POST /tabs
DELETE /tab/{tabId}

Open or close a tab. Hit any endpoint straight from your browser or curl to see exactly what your AI sees — no MCP client required.

Why Kapture

Browser automation, without the baggage.

Existing tools work — until they don't. Kapture was built from the ground up to fix the things that make AI browser control brittle.

Other solutions

// the usual pain
Not really open sourceSome track your usage and never publish the entire source.
One AI at a timeSingle-assistant limits block parallel workflows.
Heavy setupSelenium, chromedrivers, and headless configs to babysit.
Cryptic errorsFailures that agents can't parse, let alone recover from.
Flaky connectionsWebSocket drops with no reconnection story.
No way to debugNo easy way to test commands or watch what's happening.

Kapture

// the fix
Fully open, end to endEvery line is on GitHub. Nothing phones home.
Many assistants, in parallelRun multiple AI agents against your browser at once.
Just an extensionInstall it and go — no drivers, no headless setup.
Errors agents understandClear, structured failures reported at each layer.
Resilient connectionsLive status and reconnection built into the panel.
Debuggable by designInspect, test, and watch every command in DevTools.
How it works

A three-layer architecture, built for reliability.

AI applications talk MCP to the Kapture server, which speaks WebSockets to the browser extension and its DevTools panel.

Architecture diagram: AI applications connect over MCP to the Kapture MCP server, which connects over WebSockets to Chrome/Brave browser extensions and DevTools panels.
01Clean separation

Each layer owns its responsibilities independently.

02Graceful errors

Failures are caught and reported clearly at every layer.

03Easy debugging

Monitor and test at any point in the stack.

04Concurrent sessions

Built for multiple browser connections at once.

Test client included

Poke at the MCP server like an AI would.

Kapture ships with an Electron test app that connects to the MCP server and lets you fire commands by hand — perfect for debugging, development, and understanding how agents will drive your setup.

  • Test every MCP tool interactively
  • Real-time console output
  • Parameter validation
  • Connection status monitoring
Kapture MCP Test Client
The Kapture MCP test client showing an interactive tool-testing interface.

Ready to automate?

Give your AI the power to browse the web — in the tab you're already using.