mcpX product documentation
Tool reference
The browser tools exposed by mcpX, grouped by the job they perform.
mcpX exposes focused tools rather than one unrestricted browser command. Most
tools accept an explicit tabId; use tabs-list or tab-current to discover it.
Tabs and navigation
| Tool | What it does |
|---|---|
tabs-list | Lists tabs across Chrome windows. |
tab-current | Returns the active tab. |
tab-activate | Activates a tab and can focus its window. |
open-tab | Opens an HTTP or HTTPS URL in a new tab. |
close-tab | Closes an explicit tab. |
tab-navigate | Navigates an explicit tab to an HTTP or HTTPS URL. |
tab-back | Goes back in tab history. |
tab-forward | Goes forward in tab history. |
Chrome-internal, extension, file, data, and view-source destinations are restricted.
Read and locate page content
| Tool | What it does |
|---|---|
snapshot | Returns a bounded semantic view of useful page elements, roles, names, states, bounds, context, and references. |
resolve-element | Resolves a target by ref, test ID, CSS selector, role and name, or visible text. |
References belong to the current document generation. Navigation invalidates
them, so request a new snapshot after the page changes. If a locator matches
more than once, provide nth or a more specific locator.
Interact with elements
| Tool | What it does |
|---|---|
tab-click | Clicks one rendered target. |
double-click | Dispatches a two-click interaction and a double-click event. |
hover | Moves over a rendered target. |
type-text | Replaces, appends, clears, or inserts text in an editable control. |
press-key | Sends supported page-level keyboard behavior. |
select-option | Selects native option values and dispatches input and change events. |
Hidden, disabled, detached, obstructed, zero-sized, missing, or ambiguous targets return typed errors. Browser-owned shortcuts such as focusing Chrome's address bar are not synthetically invoked.
Scroll and wait
| Tool | What it does |
|---|---|
tab-scroll | Scrolls the window or a container, or moves a target into view. |
wait | Waits for bounded time, navigation, or an element state. |
Waits support cancellation and clean up their page request after cancellation or timeout.
Screenshots
screenshot captures an explicit tab as native MCP PNG or JPEG image content.
It supports viewport or full-page capture, JPEG quality, pixel and byte limits,
encoded dimensions, and state-restoration metadata.
Screenshots use Chrome's debugger permission. Close DevTools or another
debugger extension for the target tab if mcpX reports DEBUGGER_UNAVAILABLE.
Console monitoring
Console collection is explicit and ordered:
- Call
console-starton the target tab. - Reproduce the behavior.
- Read events with
console-logs. - Optionally call
console-clear. - Finish with
console-stop.
Only events emitted after console-start are available. Filters include level,
source, timestamp, text, and result limit. The bounded store reports entries it
had to evict.
Error model
Tool failures identify the failed tool, a sanitized target, a typed code, and
whether the request is retryable. Common codes include:
| Code | Typical response |
|---|---|
TAB_NOT_FOUND | Refresh the tab list and retry with a current ID. |
RESTRICTED_PAGE | Move to a normal HTTP or HTTPS page. |
ELEMENT_NOT_FOUND | Take a fresh snapshot or refine the locator. |
AMBIGUOUS_ELEMENT | Add nth or use a more specific locator. |
ELEMENT_NOT_INTERACTABLE | Check visibility, obstruction, or disabled state. |
DEBUGGER_UNAVAILABLE | Close DevTools or the competing debugger. |
TIMEOUT | Check the expected state and use a bounded retry. |
DISCONNECTED | Reconnect the extension and confirm the server is running. |
CANCELLED | The client cancelled the matching request. |