Skip to main content
Glama
mcp-textbrowser

mcp-textbrowser

by bytesbrains

@bytesbrains/mcp-textbrowser

npm version license CI

MCP server — text-first headless browser for Claude Code and any MCP host. DOM + OCR text maps. Zero image tokens by default. 5-15x cheaper than screenshot-based browser MCPs.

browser_navigate(url)             → DOM elements + OCR text   (~200 tokens)
browser_navigate(url, visual=true) → text + PNG               (use for layout/color only)

Why

Every screenshot-based browser MCP sends a PNG to the AI on every action. At 1280×800 that's ~1,300 image tokens per page — 5-15x more expensive than reading the same content as text.

mcp-textbrowser captures a screenshot for OCR, extracts the text, then discards the image. Only structured DOM elements and OCR text reach the model. Switch to visual=true only when you genuinely need pixels (layout checks, color, design review).

Mode

Tokens per action

When to use

text-only (default)

~150–400

Everything: navigation, forms, data extraction, workflows

visual=true

~1,500–3,000

Layout, colors, CSS, design review

Related MCP server: MCP Master Puppeteer

Install

Step 1 — install Chromium (one-time, ~130MB):

npx playwright install chromium

Step 2 — add the MCP server:

Claude Code (CLI) — one command

claude mcp add textbrowser -- npx -y @bytesbrains/mcp-textbrowser

That's it. Restart Claude Code and the tools are ready.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "textbrowser": {
      "command": "npx",
      "args": ["-y", "@bytesbrains/mcp-textbrowser"]
    }
  }
}

Restart Claude Desktop.

Manual (any MCP host)

Use command: npx, args: ["-y", "@bytesbrains/mcp-textbrowser"] in your host's MCP server config.

Tools

Tool

What it does

browser_navigate

Open a URL, return page context

browser_click

Click by CSS selector / XPath / visible text

browser_type

Fill an input field

browser_scroll

Scroll page or element into view

browser_screenshot

Capture current page context

browser_read

Read current page without navigating

browser_evaluate

Run JS in the page (safe DOM ops only)

All tools default to text-only — pass visual: true to any tool to also receive the PNG.

Example output

Page: https://example.com/
Title: Example Domain
Viewport: 1280x800

Elements (3 interactive of 14 total):
  [1] <a> href="https://iana.org/domains/example" bbox=(133,175,254,195)
      text: "More information..."

OCR (full page screenshot):
Example Domain
This domain is for use in illustrative examples in documents.
You may use this domain in literature without prior coordination or asking for permission.

Requirements

  • Node.js 18+

  • Chromium: npx playwright install chromium (one-time, ~130MB)

License

MIT © BytesBrains


Built by Agent, for Agents 🤖


Built and maintained by BytesBrains — AI automation & agents, engineered to production standards. The model proposes, code guarantees.

Available Tools

7 tools
browser_clickA

Click an element on the current page. Identify the target by CSS selector, XPath, or visible text. Returns updated page context after the click.

Inputs: text, xpath, visual, selector.

browser_evaluateA

Execute JavaScript in the current page context and return the result. Restricted to safe DOM read operations — eval, Function, fetch, WebSocket, and document.write are blocked.

Inputs: script (required).

browser_navigateA

Open a URL in the browser and return the page context (DOM elements + OCR text). Default text-only mode — screenshot is captured only for OCR then discarded, zero image tokens. Set visual=true to also receive the PNG.

Inputs: url (required), visual, headless.

browser_readA

Read the current page context (DOM elements + OCR text) without navigating or clicking anything.

Inputs: visual.

browser_screenshotA

Capture the current page and return an OCR-based text map. The screenshot itself is discarded unless visual=true.

Inputs: visual.

browser_scrollA

Scroll the current page. Use direction (up/down/left/right) with an optional pixel amount, or provide a selector to scroll that element into view.

Inputs: amount, visual, selector, direction.

browser_typeA

Type text into an input field on the current page. By default clears the field first. Returns updated page context.

Inputs: text (required), selector (required), clear, visual.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct browser action (navigate, click, type, scroll, read, screenshot, evaluate) with no overlap in purpose.

    Naming Consistency5/5

    All tool names follow the consistent 'browser_verb' pattern, making the set predictable and easy to understand.

    Tool Count5/5

    7 tools is well-scoped for a browser automation server, covering essential interactions without being excessive or insufficient.

    Completeness4/5

    Covers core browsing actions well, but lacks explicit back/forward navigation or page refresh, which are minor gaps for typical workflows.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      F
      maintenance
      A headless browser MCP server that allows AI agents to fetch web content and perform Google searches without API keys, supporting various output formats like Markdown, JSON, HTML, and text.
      2
      24
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An advanced MCP server for browser automation using Puppeteer, specifically optimized for token efficiency through minimal data returns and progressive enhancement. It enables agents to navigate pages, capture LLM-optimized screenshots, extract structured content, and perform batch interactions.
      3
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Agent-native headless browser for AI agents. Converts web pages to a Semantic Object Model (SOM) instead of raw HTML — 17x average token reduction across real-world sites (up to 117x on complex pages). Native MCP server with fetch_page, extract_text, extract_links, and full browser automation. No API key required.
      51 npm
      Apache 2.0