MCP.Market

Browsegrab MCP server

by ArkNill·io.github.ArkNill/browsegrab·v0.1.1

Token-efficient browser agent for local LLMs. Playwright + accessibility tree + MarkGrab.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
New

0 stars27 downloads/wk

Reviews

Write one

Nobody has reviewed Browsegrab yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Browsegrab tools (8)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • browser_click

    Click an element by its ref ID (e.g. 'e1', 'e5').

  • browser_extract_content

    Extract page content as clean markdown (via MarkGrab if available).

  • browser_go_back

    Navigate back in browser history.

  • browser_navigate

    Navigate to a URL and return accessibility tree snapshot.

  • browser_scroll

    Scroll the page or a specific element.

  • browser_snapshot

    Get the current page accessibility tree snapshot.

  • browser_type

    Type text into an input element.

  • browser_wait

    Wait for a specified time or until an element reaches a state.

Public scan report

scanner v0.1.10 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan25 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 166 days ago8/15
  • Maintainer identitynamespace and repository owner differ4/10
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Browsegrab compares

Against every graded Scraping and browsing MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
75/100
higher than 45% of 866 Scraping and browsing servers
Tools
8
the typical Scraping and browsing server has 6
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
27
more than 7% of 309 Scraping and browsing servers with a package

What its tools let an agent do: 8 read

Install Browsegrab in Claude Code, Cursor or VS Code

claude mcp add browsegrab -- uvx browsegrab
Add to Cursor

What the publisher says

From the Browsegrab repository's README, as published. We do not edit it. Read it on GitHub

browsegrab

한국어 문서 · llms.txt

Token-efficient browser agent for local LLMs — Playwright + accessibility tree + MarkGrab, MCP native.

browsegrab is a lightweight browser automation library designed for local LLMs (8B-35B parameters). It combines Playwright's accessibility tree with MarkGrab's HTML-to-markdown conversion to achieve 5-8x fewer tokens per step compared to alternatives like browser-use.

Features

  • Token-efficient: ~500-1,500 tokens/step (vs 4,000-10,000 for browser-use)
  • Local LLM first: Optimized for vLLM, Ollama, and OpenAI-compatible endpoints
  • MCP native: Built-in MCP server with 8 browser automation tools
  • MarkGrab integration: HTML → clean markdown for content extraction
  • Accessibility tree + ref system: Stable element references (e1, e2, ...) without vision models
  • Success pattern caching: Zero LLM calls on repeated workflows
  • 5-stage JSON parser: Robust action parsing for local LLM outputs
  • Minimal dependencies: Only playwright + httpx in core

Installation

pip install browsegrab
playwright install chromium

With optional features:

pip install browsegrab[mcp]      # MCP server support
pip install browsegrab[content]  # MarkGrab content extraction
pip install browsegrab[cli]      # CLI with rich output
pip install browsegrab[all]      # Everything

Quick Start

Python API

from browsegrab import BrowseSession

async with BrowseSession() as session:
    # Navigate and get accessibility tree snapshot
    await session.navigate("https://example.com")
    snap = await session.snapshot()
    print(snap.tree_text)
    # - heading "Example Domain" [level=1]
    # - link "Learn more": [ref=e1]

    # Click using ref ID
    result = await session.click("e1")
    print(result.url)  # https://www.iana.org/help/example-domains

    # Type into search box
    await session.navigate("https://en.wikipedia.org")
    snap = await session.snapshot()
    await session.type("e4", "Python programming", submit=True)

    # Extract compressed content (AX tree + markdown)
    content = await session.extract_content()

CLI

# Accessibility tree snapshot
browsegrab snapshot https://example.com

# JSON output
browsegrab snapshot https://example.com -f json

# Extract content (AX tree + markdown)
browsegrab extract https://en.wikipedia.org/wiki/Python

# Agentic browse (requires LLM endpoint)
browsegrab browse https://example.com "Find the about page"

MCP Server

browsegrab-mcp  # Start MCP server (stdio)

Claude Desktop / Cursor / VS Code config:

{
  "mcpServers": {
    "browsegrab": {
      "command": "browsegrab-mcp"
    }
  }
}

8 MCP tools: browsernavigate, browserclick, browsertype, browsersnapshot, browserscroll, browserextractcontent, browsergoback, browserwait

How It Works

Agent Browse Loop

flowchart LR
    A["🌐 URL + Goal"] --> B["Navigate"]
    B --> C["AX Tree Snapshot\n~200–500 tokens"]
    C --> D{"LLM\nDecision"}
    D -->|"click / type / scroll"| E["Execute Action"]
    E --> C
    D -->|"goal reached"| F["Extract Content\n(MarkGrab)"]
    F --> G["✅ Result"]

Token Efficiency

browsegrab separates structure (accessibility tree) from content (MarkGrab markdown), sending only what the LLM needs:

flowchart TD
    A["Raw HTML"] --> B["Accessibility Tree"]
    A --> C["MarkGrab Markdown"]
    B --> D["Structure: ~200–500 tokens\nInteractive elements with ref IDs"]
    C --> E["Content: ~300–800 tokens\nClean markdown · on-demand"]
    D --> F["Combined: ~500–1,300 tokens/step\n⚡ 5–8× fewer than browser-use"]
    E --> F

Token efficiency (measured)

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Browsegrab: common questions

Is Browsegrab MCP server safe?
Mostly: it is graded B (75/100). Read the Browsegrab safety report
How do I install Browsegrab?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Browsegrab need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Browsegrab maintained?
The last commit was 203 days ago (2026-04-15). The latest release is v0.1.1.
What can I use instead of Browsegrab?
Servers from other publishers that do the same job: Fantoma MCP server, invisible_playwright_mcp MCP server and CloakBrowser MCP server.
How does Browsegrab compare with other Scraping and browsing MCP servers?
safety score 75/100 (higher than 45% of 866 Scraping and browsing servers); tools 8 (the typical Scraping and browsing server has 6); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Browsegrab

Same job from other publishers: the closest match first, then the best rated.

  • Fantoma
    Accessibility-tree browser for AI agents: read pages, log in, extract data, run tasks.
    B
  • invisible_playwright_mcp
    AI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.
    A
  • CloakBrowser MCP
    Playwright MCP-compatible browser automation bridge for CloakBrowser Chromium.
    B
  • Behavior Runtime MCP
    In-browser ~60Hz behavior tree execution engine with reactive triggers and blackboard projection.
    A
  • Public Browser
    Chrome over CDP for AI agents. Blind benchmark vs agent-browser: -33% tokens, -33% cost, -32% time
    A

More from ArkNill →