Skip to main content

A page you are on

browser_read takes what:

A URL you are not on

browser_fetch {url, what, browserId} opens a background tab in the selected extension browser, waits for load, reads the main content as markdown (or text or HTML) and closes the tab. It is the fast path for “read this documentation page and summarise it”. Get browserId from browser_status; it is required when several extension profiles are connected. Pass keepTab: true to leave the tab open for follow-up actions, or select context instead of browserId to fetch inside a developer browser. Because it is a real browser tab, pages can use JavaScript and the selected browser profile’s logins and cookies. Developer sessions have separate profiles, including Firefox and Zen; they do not inherit your everyday browser’s logins.

Structured extraction

browser_extract turns repeated elements into records:
Each field is a CSS selector evaluated inside the item, returning text, or {selector, attr} for an attribute. The result is a JSON array. Combine with browser_scroll or clicking “Load more” for paginated lists.

Tools the page exposes

Pages that implement WebMCP register typed tools on navigator.modelContext. browser_webmcp {action: "list"} reports them with their schemas, and {action: "invoke", name, args} calls one. When a page offers a searchProducts tool that beats scraping the results grid.

Saving what you read

  • browser_pdf prints the page to a PDF file (A4, Letter or Legal, landscape, background graphics, scale) and returns the path, ~/.browspark/artifacts/… by default.
  • browser_screenshot {fullPage: true} for an image.
Firefox extension mode captures screenshots but cannot print PDFs. Its JavaScript world is isolated from the page, so page-exposed JavaScript tools may be unavailable. See Firefox extension limits.