brave-real-browser-mcp-server 1.5.16 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -14
- package/dist/browser-manager.js +1 -1
- package/dist/browser-manager.test.js +1 -1
- package/dist/index.js +3 -3
- package/package.json +16 -7
- package/dist/index-original.js +0 -2366
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# Brave Real Browser MCP Server
|
|
5
5
|
|
|
6
|
-
Provides AI assistants with powerful, detection-resistant browser automation capabilities built on ZFC Digital's
|
|
6
|
+
Provides AI assistants with powerful, detection-resistant browser automation capabilities built on ZFC Digital's brave-real-browser package.
|
|
7
7
|
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
9
9
|
|
|
@@ -103,8 +103,8 @@ Once set up, you can ask Claude to:
|
|
|
103
103
|
|
|
104
104
|
## Introduction
|
|
105
105
|
|
|
106
|
-
The
|
|
107
|
-
and browser automation. It leverages
|
|
106
|
+
The Brave Real Browser MCP Server acts as a bridge between AI assistants
|
|
107
|
+
and browser automation. It leverages brave-real-browser to provide stealth
|
|
108
108
|
browsing capabilities that can bypass common bot detection mechanisms.
|
|
109
109
|
|
|
110
110
|
This server implements the Model Context Protocol (MCP), allowing AI
|
|
@@ -117,7 +117,7 @@ assistants to control a real browser, extract content, and more.
|
|
|
117
117
|
- **Smart Chrome detection**: Registry-based detection + 15+ installation paths (Windows)
|
|
118
118
|
- **Connection resilience**: Automatic localhost/127.0.0.1 fallback with port management
|
|
119
119
|
- **Multiple retry strategies**: 5 different connection approaches with progressive fallback
|
|
120
|
-
- **Advanced configuration**: Full support for all
|
|
120
|
+
- **Advanced configuration**: Full support for all brave-real-browser options
|
|
121
121
|
- **Dynamic selector discovery**: Intelligent element finding without hardcoded selectors
|
|
122
122
|
- **Random scrolling**: Tools for natural scrolling to avoid detection
|
|
123
123
|
- **Comprehensive toolset**: 11 tools covering all browser automation needs
|
|
@@ -213,7 +213,7 @@ The configuration below uses `npx` to automatically download and run the latest
|
|
|
213
213
|
|
|
214
214
|
### With Claude Code CLI
|
|
215
215
|
|
|
216
|
-
Claude Code CLI offers multiple convenient methods to add the
|
|
216
|
+
Claude Code CLI offers multiple convenient methods to add the brave-real-browser MCP server. Choose the method that best fits your workflow:
|
|
217
217
|
|
|
218
218
|
#### Method 1: Quick Setup (Recommended)
|
|
219
219
|
|
|
@@ -581,7 +581,7 @@ The server includes basic support for solving common captcha types:
|
|
|
581
581
|
- Cloudflare Turnstile
|
|
582
582
|
|
|
583
583
|
Note that captcha solving capabilities depend on the underlying
|
|
584
|
-
|
|
584
|
+
brave-real-browser implementation.
|
|
585
585
|
|
|
586
586
|
## Configuration
|
|
587
587
|
|
|
@@ -881,7 +881,7 @@ Version 1.3.0 includes comprehensive fixes for the `connect ECONNREFUSED 127.0.0
|
|
|
881
881
|
|
|
882
882
|
- **MCP Server Status**:
|
|
883
883
|
- Use `/mcp` command in Claude Code to check server status
|
|
884
|
-
- Look for the "
|
|
884
|
+
- Look for the "brave-real-browser" server in the list
|
|
885
885
|
- Check if server status shows "connected" or error messages
|
|
886
886
|
|
|
887
887
|
- **Environment Variables**:
|
|
@@ -1003,10 +1003,10 @@ A: Yes, set `headless: true` in browser_init options.
|
|
|
1003
1003
|
A: Currently supports one browser instance. Close the current one before starting a new one.
|
|
1004
1004
|
|
|
1005
1005
|
**Q: What captchas can it solve?**
|
|
1006
|
-
A: Supports reCAPTCHA, hCaptcha, and Cloudflare Turnstile through
|
|
1006
|
+
A: Supports reCAPTCHA, hCaptcha, and Cloudflare Turnstile through brave-real-browser.
|
|
1007
1007
|
|
|
1008
1008
|
**Q: Is this detectable by websites?**
|
|
1009
|
-
A:
|
|
1009
|
+
A: brave-real-browser includes anti-detection features, but no solution is 100% undetectable.
|
|
1010
1010
|
|
|
1011
1011
|
**Q: Can I use custom Chrome extensions?**
|
|
1012
1012
|
A: Yes, through the `plugins` option in browser_init.
|
|
@@ -1075,7 +1075,7 @@ DEBUG=true npm run dev
|
|
|
1075
1075
|
### Getting Help
|
|
1076
1076
|
|
|
1077
1077
|
If you're still having issues:
|
|
1078
|
-
1. Check the [GitHub Issues](https://github.com/
|
|
1078
|
+
1. Check the [GitHub Issues](https://github.com/your-organization/brave-real-browser-mcp-server/issues)
|
|
1079
1079
|
2. Create a new issue with:
|
|
1080
1080
|
- Your operating system
|
|
1081
1081
|
- Node.js version (`node --version`)
|
|
@@ -1197,9 +1197,9 @@ This project is licensed under the MIT License - see the LICENSE file for detail
|
|
|
1197
1197
|
|
|
1198
1198
|
## Acknowledgments
|
|
1199
1199
|
|
|
1200
|
-
This MCP server is based on the excellent [
|
|
1200
|
+
This MCP server is based on the excellent [brave-real-browser](https://github.com/ZFC-Digital/brave-real-browser) library by ZFC-Digital.
|
|
1201
1201
|
|
|
1202
|
-
**Thank you** to the
|
|
1202
|
+
**Thank you** to the brave-real-browser team for creating such a powerful and detection-resistant browser automation solution!
|
|
1203
1203
|
|
|
1204
|
-
- GitHub: [https://github.com/ZFC-Digital/
|
|
1205
|
-
- npm: [https://www.npmjs.com/package/
|
|
1204
|
+
- GitHub: [https://github.com/ZFC-Digital/brave-real-browser](https://github.com/ZFC-Digital/brave-real-browser)
|
|
1205
|
+
- npm: [https://www.npmjs.com/package/brave-real-browser](https://www.npmjs.com/package/brave-real-browser)
|
package/dist/browser-manager.js
CHANGED
|
@@ -15,7 +15,7 @@ import { BrowserErrorType, categorizeError, withTimeout, isPortAvailable, testHo
|
|
|
15
15
|
vi.mock('fs');
|
|
16
16
|
vi.mock('net');
|
|
17
17
|
vi.mock('child_process');
|
|
18
|
-
vi.mock('
|
|
18
|
+
vi.mock('brave-real-browser', () => ({
|
|
19
19
|
connect: vi.fn()
|
|
20
20
|
}));
|
|
21
21
|
describe('Browser Manager', () => {
|
package/dist/index.js
CHANGED
|
@@ -189,9 +189,9 @@ console.error(`🔍 [DEBUG] process.argv[1]: ${process.argv[1]}`);
|
|
|
189
189
|
console.error(`🔍 [DEBUG] process.argv[0]: ${process.argv[0]}`);
|
|
190
190
|
// Enhanced main module detection for npx compatibility
|
|
191
191
|
const isMain = import.meta.url === `file://${process.argv[1]}` ||
|
|
192
|
-
process.argv[1].includes('brave-real-browser-mcp-server') ||
|
|
193
|
-
process.argv[1].endsWith('.bin/brave-real-browser-mcp-server') ||
|
|
194
|
-
process.argv.some(arg => arg.includes('brave-real-browser-mcp-server'));
|
|
192
|
+
(process.argv[1] && process.argv[1].includes('brave-real-browser-mcp-server')) ||
|
|
193
|
+
(process.argv[1] && process.argv[1].endsWith('.bin/brave-real-browser-mcp-server')) ||
|
|
194
|
+
process.argv.some(arg => arg && arg.includes('brave-real-browser-mcp-server'));
|
|
195
195
|
console.error(`🔍 [DEBUG] Enhanced main detection result: ${isMain}`);
|
|
196
196
|
if (isMain) {
|
|
197
197
|
console.error('🔍 [DEBUG] Module is main - starting server...');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-browser-mcp-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "MCP server for brave-real-browser",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"fix-cache-permissions": "echo 'Run: sudo chown -R $(whoami):$(id -gn) ~/.npm' && echo 'This fixes npm cache permission issues'",
|
|
11
11
|
"clean:modules": "rm -rf node_modules",
|
|
12
12
|
"clean:all": "npm run clean:modules && npm run clean:cache && npm run clean",
|
|
13
|
-
"
|
|
13
|
+
"update-brave-packages": "npm install brave-real-browser@latest brave-real-launcher@latest brave-real-puppeteer-core@latest --save --force",
|
|
14
|
+
"ensure-latest-packages": "node scripts/ensure-latest-packages.js",
|
|
15
|
+
"fresh-install": "npm run clean:all && npm install && npm run ensure-latest-packages",
|
|
14
16
|
"fresh-start": "npm run fresh-install && npm run build && npm start",
|
|
15
17
|
"fresh-dev": "npm run fresh-install && npm run build && npm run dev",
|
|
16
18
|
"prebuild": "npm run clean",
|
|
@@ -32,12 +34,19 @@
|
|
|
32
34
|
"test:performance": "node tests/performance/performance-tests.js",
|
|
33
35
|
"test:debug": "node debug-server.js",
|
|
34
36
|
"test:all": "npm run test:ci && npm run test:full && npm run test:performance",
|
|
35
|
-
"test:dashboard": "node test-runner.js"
|
|
37
|
+
"test:dashboard": "node test-runner.js",
|
|
38
|
+
"test:nopecha": "node test.cjs",
|
|
39
|
+
"test:comprehensive": "node test.cjs",
|
|
40
|
+
"test:version-increment": "node scripts/test-version-increment.cjs",
|
|
41
|
+
"test:workflow": "node scripts/test-workflow-local.cjs",
|
|
42
|
+
"test:workflow:full": "npm run test:workflow && npm run test:version-increment"
|
|
36
43
|
},
|
|
37
44
|
"dependencies": {
|
|
38
45
|
"@modelcontextprotocol/sdk": ">=1.0.0",
|
|
39
46
|
"@types/turndown": "^5.0.5",
|
|
40
|
-
"
|
|
47
|
+
"brave-real-browser": "^1.5.95",
|
|
48
|
+
"brave-real-launcher": "^1.2.10",
|
|
49
|
+
"brave-real-puppeteer-core": "^24.22.0",
|
|
41
50
|
"turndown": "^7.2.0"
|
|
42
51
|
},
|
|
43
52
|
"peerDependencies": {
|
|
@@ -45,12 +54,12 @@
|
|
|
45
54
|
},
|
|
46
55
|
"devDependencies": {
|
|
47
56
|
"@types/node": "latest",
|
|
48
|
-
"@vitest/coverage-v8": "^2.
|
|
49
|
-
"@vitest/ui": "^2.
|
|
57
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
58
|
+
"@vitest/ui": "^3.2.4",
|
|
50
59
|
"rimraf": "^6.0.1",
|
|
51
60
|
"tsx": "latest",
|
|
52
61
|
"typescript": "^5.5.3",
|
|
53
|
-
"vitest": "^2.
|
|
62
|
+
"vitest": "^3.2.4"
|
|
54
63
|
},
|
|
55
64
|
"keywords": [
|
|
56
65
|
"mcp",
|