Real Browser MCP

Real Browser MCP

Provides a real browser that bypasses bot detection (Cloudflare, Turnstile) for AI agents, enabling navigation, clicking, typing, screenshots, and data collection through MCP tools.

Category
Visit Server

README

Real Browser MCP

An MCP (Model Context Protocol) server that exposes a real browser (via puppeteer-real-browser) as tools for AI agents. The browser bypasses bot detection (Cloudflare, Turnstile, etc.) and behaves like a real user.

Features

  • Full browser access: Navigate, search, click, type, run JavaScript
  • Screenshots: Capture pages and save to DOWNLOADS_PATH
  • Data collection: Extract content, run JS, save pages as HTML/MHTML
  • Downloads: Files automatically saved to DOWNLOADS_PATH
  • Multi-tab: List and switch between tabs

Requirements

  • Node.js 18+
  • Chrome/Chromium (used by puppeteer-real-browser)
  • On Linux: sudo apt-get install xvfb

Installation

npm install

Configuration

Environment variables

DOWNLOADS_PATH – Where screenshots and downloads are saved. Default: ~/Downloads.

HEADLESStrue or 1 = headless (invisible). false or 0 = visible. Default: visible.

SHOW_BROWSER1/true/yes = visible browser. 0/false/no = headless. Use if HEADLESS is not respected by your MCP client (e.g. LM Studio).

Config file – If env vars are not passed by your MCP client, create real-browser-mcp.config.json in the project root with {"headless": false} to show the browser. The repo includes this file by default.

BROWSER_PROFILE_PATH – Path for Chrome's persistent profile (cookies, logins, localStorage). Default: ~/.real-browser-mcp/chrome-profile. Cookies and sessions persist between runs so you don't have to accept cookies every time.

ADBLOCK_ENABLED – Ghostery adblocker is enabled by default (blocks ads and trackers). Set to false or 0 to disable.

# Windows (PowerShell) - visible browser (default)
$env:DOWNLOADS_PATH = "C:\Users\YourName\Downloads"
# Do NOT set HEADLESS to see the website

# For headless (no window, e.g. CI):
$env:HEADLESS = "true"

# Linux/macOS - same logic
export DOWNLOADS_PATH="/home/user/Downloads"
# Omit HEADLESS = visible. export HEADLESS=true = headless

Agent Instructions (prompt.txt)

The prompt.txt file contains system instructions for the agent: when to use the browser proactively, how to research, and how to use memory tools. Add it to your agent's system prompt or Cursor rules so the agent knows how to use the browser tools without being asked.

Usage

Run the MCP server

npm start
# or
node src/index.js

Cursor / VS Code MCP config

Add to your MCP settings (e.g. ~/.cursor/mcp.json or Cursor Settings → MCP):

{
  "mcpServers": {
    "real-browser": {
      "command": "node",
      "args": ["E:\\MCP\\real-browser-mcp\\src\\index.js"],
      "env": {
        "DOWNLOADS_PATH": "C:\\Users\\YourName\\Downloads"
      }
    }
  }
}

Use an absolute path to the project. By default the browser is visible so you can see the website. Only add HEADLESS: "true" to env if you get "Connection closed" errors and have no display.

Available Tools

Tool Description
browser_navigate Navigate to a URL
browser_search Search on Google, Bing, or DuckDuckGo
browser_screenshot Take screenshot (saved to DOWNLOADS_PATH)
browser_evaluate Run JavaScript in the page
browser_get_content Get text or HTML from the page
browser_click Click an element (uses human-like click)
browser_type Type text into an input
browser_fill Clear and fill an input
browser_save_page Save page as HTML or MHTML
browser_wait Wait for time or selector
browser_tabs List or switch tabs
browser_close Close the browser
get_downloads_path Get the DOWNLOADS_PATH value

Example workflow

  1. browser_search – Search for "latest AI news"
  2. browser_get_content – Extract search results
  3. browser_click – Click a result link
  4. browser_screenshot – Capture the page
  5. browser_save_page – Save as HTML for later
  6. browser_close – Close when done

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured