Repository navigation
v0.5.0
WebExtension builds of FastMCP Browser — the MCP bridge that drives Chrome/Firefox over a loopback WebSocket (33 MCP browser tools).
What's new in v0.5.0
- Read a page as text.
browser_snapshotacceptsformat:"text"to return the rendered text of the page main region (innerText) in one small payload, so an agent reads a text-heavy page directly instead of paying for a screenshot.format:"digest"also acceptsincludeText:true, andmaxCharscaps the length. - Read a long text block in place.
browser_snapshotacceptsmaxNameCharsto raise the per-element name cap for one call (default 160), so a page whose whole body sits in one block element (main,article) is no longer truncated incompact. - Screenshot is scoped to non-DOM content. Its description now steers the model to use it only for canvas, WebGL, image, or PDF content, and to read ordinary text pages with
format:"text". browser_wait_forstatedigest-changes. Resolves when the AI-readable control digest changes, so an agent waits on state instead of a fixed sleep or a raw DOM settle.- Workflow recording and replay. Any session driven through the MCP server can be recorded to a
.jsonlrun file (FASTMCP_RECORD) and replayed later through the bridge with no AI client (cli replay);cli export --scriptturns a run file into a runnable.mjs. - Label-wrapped controls are visible again. A
<label>that wraps or points to a visually-hidden<input>(DaisyUI radio tabs, custom checkboxes) is reported with the input's role and the label's text, so it appears in a snapshot and the digest and gets a ref. browser_evaluateis a gated last resort. It now requires afallbackreason and is refused until the tab has been read through the extension.- Refs survive long-lived pages, and
browser_inspectwith apathno longer floods the context with React props. - Content redaction for prompt-injection defense. User-configurable rules filter what the AI reads from a page, configured from the extension options page.
Install
Unzip an archive and load it unpacked:
- Chromium (
fastmcp-browser-extension-chromium.zip) →chrome://extensions→ Load unpacked → thechromiumfolder - Firefox (
fastmcp-browser-extension-firefox.zip) →about:debugging→ Load Temporary Add-on →firefox/manifest.json
The Firefox .xpi has manifest.json at the archive root. It is unsigned; standard Firefox release builds require a Mozilla-signed add-on for permanent installation. LibreWolf and Firefox Developer Edition/Nightly may allow unsigned add-ons when signature enforcement is disabled.