Skip to content

Quick Start

This guide walks through five basic operations to verify your setup and demonstrate core capabilities. All examples show MCP tool calls as they appear in Claude Code.

Create a new browser window and navigate to a URL:

firefox_create_window({ url: "https://example.com" })

Returns a tabId you will use for subsequent commands.

{ "tabId": 42, "windowId": 1 }

Navigate an existing tab to a different URL:

firefox_navigate({ tabId: 42, url: "https://httpbin.org/html" })

Capture the current viewport. Screenshots use dynamic readiness detection to wait for network idle and visual stability before capture.

firefox_screenshot({ tabId: 42 })

Returns a base64-encoded JPEG (60% quality, 50% scale by default):

{
"tabId": 42,
"dataUrl": "data:image/jpeg;base64,...",
"readiness": {
"waitMs": 247,
"timedOut": false
}
}

Retrieve a structured JSON summary of the page — headings, links, buttons, forms — without a screenshot:

firefox_get_page_state({ tabId: 42 })
{
"title": "Herman Melville - Moby-Dick",
"url": "https://httpbin.org/html",
"headings": [{ "level": 1, "text": "Herman Melville - Moby-Dick" }],
"links": [],
"buttons": [],
"forms": []
}

This is faster and cheaper than a screenshot when you only need structural information.

Clean up when you are done:

firefox_close_tab({ tabId: 42 })