MCP-RealBrowser
Allows AI agents to navigate Baidu.com and perform searches.
Allows AI agents to navigate and interact with Bilibili, a video sharing platform.
Allows AI agents to navigate GitHub, check stars, and manage repositories.
Allows AI agents to read and summarize emails from Gmail.
Allows AI agents to search for flights and travel information on Trip.com.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-RealBrowserOpen my GitHub and tell me how many stars I have"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฅ๏ธ MCP-RealBrowser
A persistent browser profile for your AI โ log in once, sessions stay forever.
No more blank browser windows. No more "please copy-paste this page." Give your AI a dedicated browser identity, and it remembers everything.
Why this exists
Every existing MCP browser tool launches a fresh, blank browser that forgets everything when closed:
Tool | Problem |
| New incognito window, temporary profile โ lost on restart |
| Python-only, doesn't speak MCP |
| Data extraction focus, not general browsing |
MCP-RealBrowser gives your AI a persistent browser profile โ same directory, same cookies, same sessions across restarts. Log into GitHub, Gmail, Bilibili once, and it stays logged in forever.
Related MCP server: OpenBrowser
What it does
You: "Check my unread emails and summarize them"
AI: navigate(gmail.com) โ snapshot() โ extract() โ reads & summarizes
You: "Find flights to Tokyo next Friday under ยฅ3000"
AI: navigate(ctrip.com) โ fill("ๅบๅ", "ไธๆตท") โ fill("ๅฐ่พพ", "ไธไบฌ")
โ click("ๆ็ดข") โ extract() โ sorted results
You: "Open my GitHub and tell me how many stars I have"
AI: navigate(github.com/obbbba) โ snapshot() โ "You have 1 star"Quick start
1. Install
git clone https://github.com/obbbba/mcp-realbrowser.git
cd mcp-realbrowser
npm install
npm run build2. Run diagnostics
node dist/index.js --doctorChecks: Node.js, dependencies, Chrome installed, Chrome running, CDP port open, debug flag enabled.
3. Launch your browser with debug port
The browser uses a separate persistent profile โ your daily browser isn't affected.
Windows (Edge โ pre-installed on Win11):
scripts\launch-edge.batWindows (Chrome):
scripts\launch-chrome.batMac/Linux:
chmod +x scripts/launch-chrome.sh
./scripts/launch-chrome.sh4. Choose your mode
Mode A: MCP Server (recommended โ Claude Code auto-control)
Add to .claude/settings.json in your project:
{
"mcpServers": {
"realbrowser": {
"command": "npx",
"args": ["tsx", "/path/to/mcp-realbrowser/src/index.ts"],
"env": { "CDP_PORT": "9222" }
}
}
}Restart Claude Code. Now you can just talk:
> Go to baidu.com and search for "MCP tutorial"
> Open GitHub trending page and find the top TypeScript repo
> Navigate to my Gmail and summarize unread emailsMode B: Direct API (for scripts / custom tools)
import { CDPConnection } from "mcp-realbrowser";
const browser = new CDPConnection();
await browser.connect("http://localhost:9222");
await browser.navigate("github.com");
const snapshot = await browser.snapshot(); // AI sees the page
await browser.click("Sign in");
await browser.type("hello");
const screenshot = await browser.screenshot();
await browser.disconnect(); // Chrome stays open5. Verify it works
npx tsx src/smoke-test.ts
# Expected: test runs passTools (20)
Tool | What it does |
| Open any URL in the current tab |
| Get interactive elements โ filter with |
| Click by CSS selector, text, role, placeholder, or label (6 strategies) |
| Type into the focused input with human-like delay |
| Press Enter, Tab, Escape, arrows, etc. |
| Take a viewport screenshot (PNG/JPEG, quality 10-100 for JPEG) |
| Get visible text (default 3K chars, max 30K) |
| Scroll up/down, returns scroll position |
| Fill an input by placeholder or label |
| Select an option in a |
| Navigate back in browser history |
| Navigate forward in browser history |
| Reload the current page |
| Hover over an element (dropdowns, tooltips) |
| Wait for text to appear after an action |
| List all open browser tabs with index, URL, and title |
| Switch to a tab by index |
| Open a new browser tab |
| Close a tab by index |
| Reconnect to browser after restart |
๐ก Token-saving tips
snapshot(query="login") โ only elements matching "login"
extract(maxChars=500) โ small snippets, not full pages
screenshot(format="jpeg", quality=40) โ compact visual checkArchitecture
โโโโโโโโโโโโโโโโ stdio (MCP) โโโโโโโโโโโโโโโโโโโโ CDP (ws) โโโโโโโโโโโโโโโโโโโโ
โ Claude Code โ โโโโโโโโโโโโโโโโโโบ โ MCP-RealBrowser โ โโโโโโโโโโโโโโโโบ โ Browser profile โ
โ (AI Agent) โ JSON-RPC 2.0 โ (TypeScript) โ DevTools Proto โ (persistent) โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ
โ chromium.connectOverCDP()
โ DOM snapshot (interactive elements)
โ page.screenshot()
โ page.keyboard.type()
โผ
โโโโโโโโโโโโโโโโ
โ Playwright โ
โโโโโโโโโโโโโโโโKey design decisions:
Persistent profile: Browser data saved to
%LOCALAPPDATA%\mcp-realbrowser\โ cookies, logins, localStorage survive browser restartsCDP attach (not launch): Uses
connectOverCDPโ the browser process lives independently from the MCP serverDOM snapshot for vision: Structured element scan, 250-element limit keeps context manageable
Screenshot as fallback: For visual pages where DOM structure isn't enough
Disconnect โ Close: Shutting down the MCP server never closes your browser
--doctor mode: Diagnose and auto-fix browser/CDP issues before starting the server
Troubleshooting
"CDP port not accepting connections"
The browser isn't running with the debugging flag.
Quick fix:
# One command to diagnose and auto-fix
node dist/index.js --doctor --fixOr manually:
# 1. Kill stale browser processes
taskkill /F /IM msedge.exe & taskkill /F /IM chrome.exe
# 2. Run the launch script
scripts\launch-edge.bat # Windows (Edge)
scripts\launch-chrome.bat # Windows (Chrome)
./scripts/launch-chrome.sh # Mac/LinuxOther issues
Run --doctor for a full diagnostic report:
node dist/index.js --doctorFirst time? Log in to your sites
The profile is empty on first launch. Log into GitHub, Gmail, Bilibili, etc. once โ cookies are saved to %LOCALAPPDATA%\mcp-realbrowser\browser-profile and persist forever.
Supported browsers
Browser | Support | Notes |
Edge | โ Full | Pre-installed on Win11, same CDP |
Chrome | โ Full | All platforms |
Brave | โ Full | Chromium-based |
Arc | โ Full | Chromium-based |
Opera | โ Full | Chromium-based |
360 / QQ / Sogou | โ ๏ธ Likely | Chromium-based, not tested |
Contributing
Pull requests welcome! Areas you can help:
New tools โ want
drag_and_droporselect_option? PR it.Bug fixes โ found an edge case? Fix it.
Docs โ better examples, translations, tutorials.
Tests โ more coverage for edge cases.
Fork it
Create your feature branch (
git checkout -b feature/amazing)Run the smoke test:
npx tsx src/smoke-test.tsโ should be 13/13Commit (
git commit -m 'Add something amazing')Push + open a Pull Request
License
MIT ยฉ 2024
Star History
If this is useful, a โญ on GitHub makes a big difference โ it tells others the project is worth their time.
ไธญๆ่ฏดๆ
MCP-RealBrowser ๆฏไธไธช MCP ๆๅกๅจ๏ผไธบ AI ๅฉๆๆไพๆไน
ๅ็ๆต่งๅจ่บซไปฝใ็ฌ็ซ profile ไธๅฝฑๅไฝ ็ๆฅๅธธๆต่งๅจใ็ปๅฝไธๆฌก GitHubใB ็ซใGmailโโCookies ๆฐธไน
ไฟๅญๅฐ %LOCALAPPDATA%\mcp-realbrowser\browser-profile๏ผๅ
ณไบๅๅผ็ปๅฝๆ่ฟๅจใ
ไธ็ฐๆๆนๆก็ๅบๅซ๏ผ Playwright MCP ๆฏๆฌกๅฏๅจไธดๆถ profile๏ผๅ ณ้ญๅณ้ๆฏใๆไปฌ็จๅบๅฎๆไน ็ฎๅฝ๏ผ็ปๅฝๆ่ทจไผ่ฏไฟ็ใ
ไธค็งไฝฟ็จๆนๅผ๏ผ
A. MCP Server ๆจกๅผ๏ผๆจ่๏ผ๏ผ
git cloneโnpm installโnpm run buildnode dist/index.js --doctor --fixไธ้ฎ่ฏๆญๅนถๅฏๅจๆต่งๅจๅจ
.claude/settings.jsonไธญ้ ็ฝฎ MCP Server้ๅฏ Claude Code๏ผ็ดๆฅ่ฏด่ฏ
B. ็ดๆฅ API ๆจกๅผ๏ผ
import { CDPConnection } from "mcp-realbrowser";
const browser = new CDPConnection();
await browser.connect("http://localhost:9222");
await browser.navigate("github.com");
await browser.click("Sign in");
await browser.disconnect();้ช่ฏ๏ผ npx tsx src/smoke-test.ts
20 ไธชๅทฅๅ ท๏ผ navigate / snapshot / click / type / press_key / screenshot / extract / scroll / fill / select_option / go_back / go_forward / reload / hover / wait_for_text / list_tabs / select_tab / new_tab / close_tab / reconnect
ๆ
้ๆ้ค๏ผ --doctor --fix ่ชๅจๆฃๆตๅนถไฟฎๅคใๆฏๆ Edge / Chrome / Brave / Arc / Opera / Vivaldi / Chromium๏ผ่ชๅจ่ฏปๅ็ณป็ป้ป่ฎคๆต่งๅจใ
This server cannot be deployed
Maintenance
Related MCP Connectors
Undetectable cloud browser sessions for AI agents and scrapers. Navigate, extract, click, captcha.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
- openhelmOAuthai.openhelm
Autonomous cloud agent tasks: real browser + your tools, structured evidence-backed results.
Related MCP Servers
- AlicenseAqualityBmaintenanceGives your AI agent a persistent browser identity with anti-detection, credential vault, and multi-persona support for automated web browsing, login, and signup.319MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI tools to browse the web as the user by providing access to a persistent browser session with logged-in accounts, supporting recipes for email, PRs, calendar, and more.8 npm5MIT
- AlicenseNot gradedqualityDmaintenanceProvides complete browser automation capabilities for AI agents via 44 tools, including navigation, element interaction, state management, and session recording.583 npm1Apache 2.0
- AlicenseAqualityCmaintenanceEnables AI agents to fully control a browser for web automation, including navigation, clicking, typing, scrolling, screenshots, and DOM inspection, with session persistence and anti-bot bypass.40200 npmMIT