> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browspark.krishm.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools overview

> All 43 tools by group, with the mode each needs.

Every page in this section is generated from the companion's tool registrations by `bun run docs:tools`, so parameter names, types, enums and defaults match the running code. Each example is validated against the tool's schema when the docs are generated.

Conventions shared by all tools:

* `tabId` is optional everywhere. Without it the companion uses the calling agent's own tab or the only usable tab; see [Tabs and sharing](/concepts/tabs-and-sharing#choosing-the-target-tab).
* `ref` values come from `browser_snapshot` or `devtools_elements search`; see [Snapshots and refs](/concepts/snapshots-and-refs).
* Search tools take `query` with optional `regex: true`, and paginate with `offset` and `limit` (default 50).
* Long results are clipped; ask for a narrower `query`, a specific `id`, or a higher `limit`.
* Files are written to `~/.browspark/artifacts` unless a `path` is given.

## Browser automation

| Tool                                                     | Purpose                                                           |
| -------------------------------------------------------- | ----------------------------------------------------------------- |
| [browser\_status](/tools/browser/browser_status)         | Connection state, pairing instructions, usable tabs, open dialogs |
| [browser\_session](/tools/browser/browser_session)       | Launch, close, list and delete developer-browser contexts         |
| [browser\_tabs](/tools/browser/browser_tabs)             | List, open, close, activate tabs across all windows               |
| [browser\_navigate](/tools/browser/browser_navigate)     | Go to a URL, reload, back, forward                                |
| [browser\_snapshot](/tools/browser/browser_snapshot)     | Accessible tree with refs, optionally as a diff                   |
| [browser\_read](/tools/browser/browser_read)             | Text, markdown, links, tables or HTML of the page or a ref        |
| [browser\_fetch](/tools/browser/browser_fetch)           | Load a URL in a temporary tab and return its main content         |
| [browser\_extract](/tools/browser/browser_extract)       | Structured records from repeated elements                         |
| [browser\_click](/tools/browser/browser_click)           | Click, hover, drag                                                |
| [browser\_fill](/tools/browser/browser_fill)             | Replace the text of an input, textarea or contenteditable         |
| [browser\_select](/tools/browser/browser_select)         | Choose options in a select                                        |
| [browser\_upload](/tools/browser/browser_upload)         | Set files on a file input                                         |
| [browser\_key](/tools/browser/browser_key)               | Press keys or type text                                           |
| [browser\_scroll](/tools/browser/browser_scroll)         | Scroll the page or a ref's container                              |
| [browser\_screenshot](/tools/browser/browser_screenshot) | Viewport, full page or element image                              |
| [browser\_wait](/tools/browser/browser_wait)             | Wait for text, URL or element state                               |
| [browser\_dialog](/tools/browser/browser_dialog)         | Accept or dismiss JavaScript dialogs                              |
| [browser\_batch](/tools/browser/browser_batch)           | Several calls in one round trip                                   |
| [browser\_policy](/tools/browser/browser_policy)         | Allow or block domains per tab or by default                      |
| [browser\_download](/tools/browser/browser_download)     | List downloads or wait for one                                    |
| [browser\_pdf](/tools/browser/browser_pdf)               | Print to PDF                                                      |
| [browser\_webmcp](/tools/browser/browser_webmcp)         | List and invoke WebMCP tools a page exposes                       |

## Developer tools

| Tool                                                              | Purpose                                                                                    | Mode        |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ----------- |
| [devtools\_session](/tools/devtools/devtools_session)             | Start, stop, clear an inspection session                                                   | both        |
| [devtools\_events](/tools/devtools/devtools_events)               | Read or wait for collected events                                                          | both        |
| [devtools\_capabilities](/tools/devtools/devtools_capabilities)   | Probe which protocol domains work for a tab                                                | both        |
| [devtools\_cdp](/tools/devtools/devtools_cdp)                     | Raw DevTools Protocol command                                                              | developer   |
| [devtools\_console](/tools/devtools/devtools_console)             | Search, inspect and wait on console output                                                 | both        |
| [devtools\_evaluate](/tools/devtools/devtools_evaluate)           | Run JavaScript in the page, a frame or a paused call frame                                 | both        |
| [devtools\_network](/tools/devtools/devtools_network)             | Search requests, bodies, frames, HAR, throttle, block, mock, replay                        | both        |
| [devtools\_sources](/tools/devtools/devtools_sources)             | Scripts, stylesheets, source maps, overrides                                               | both        |
| [devtools\_debugger](/tools/devtools/devtools_debugger)           | Breakpoints, stepping, scopes, watches                                                     | both        |
| [devtools\_elements](/tools/devtools/devtools_elements)           | DOM search, HTML and attribute edits, styles, box model, listeners, overlays               | both        |
| [devtools\_performance](/tools/devtools/devtools_performance)     | Traces, Web Vitals, runtime metrics                                                        | both        |
| [devtools\_profile](/tools/devtools/devtools_profile)             | CPU sampling profiles                                                                      | both        |
| [devtools\_memory](/tools/devtools/devtools_memory)               | Heap usage and growth (both); snapshots, diffs, retainers, allocation sampling (developer) | mixed       |
| [devtools\_coverage](/tools/devtools/devtools_coverage)           | JavaScript and CSS coverage                                                                | both        |
| [devtools\_storage](/tools/devtools/devtools_storage)             | Cookies, web storage, IndexedDB, Cache Storage, quota, clearing                            | both        |
| [devtools\_workers](/tools/devtools/devtools_workers)             | Service workers and the web app manifest                                                   | mostly both |
| [devtools\_emulation](/tools/devtools/devtools_emulation)         | Devices, throttling, geolocation, media, locale, vision, animations                        | both        |
| [devtools\_accessibility](/tools/devtools/devtools_accessibility) | Accessibility tree, audit, browser-reported issues                                         | both        |
| [devtools\_security](/tools/devtools/devtools_security)           | Connection state, certificate, mixed content                                               | both        |
| [devtools\_lighthouse](/tools/devtools/devtools_lighthouse)       | Lighthouse audit with reports                                                              | developer   |
| [devtools\_recorder](/tools/devtools/devtools_recorder)           | Record, parameterise, replay, export to Playwright                                         | both        |

The exact per-domain picture is in the [capability matrix](/reference/capability-matrix).
