brave-real-browser-mcp-server 2.12.4 → 2.12.6

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 CHANGED
@@ -12,7 +12,9 @@
12
12
 
13
13
  **सभी AI IDEs के लिए Universal MCP Server | 111+ Tools | Browser Automation | Web Scraping | CAPTCHA Solving**
14
14
 
15
- [Installation](#-installation) | [Quick Start](#-quick-start) | [Tools](#-available-tools-111) | [HTTP/WebSocket](#-httpwebsocket-setup) | [Configuration](#-ide-configurations)
15
+ [📖 **All 5 Protocols Complete Guide**](./ALL-PROTOCOLS.md) 👈 **NEW! Step-by-step setup for all protocols**
16
+
17
+ [Installation](#-installation) | [Quick Start](#-quick-start) | [Tools](#-available-tools-111) | [HTTP/WebSocket](#-httpwebsocket-setup) | [Configuration](#-ide-configurations) | [Troubleshooting](#-troubleshooting)
16
18
 
17
19
  </div>
18
20
 
@@ -24,7 +26,7 @@
24
26
 
25
27
  - ✅ **15+ AI IDEs में काम करता है** (Claude, Cursor, Windsurf, Cline, Zed, VSCode, Qoder AI, etc.)
26
28
  - ✅ **111+ Automation Tools** - Browser control, scraping, CAPTCHA solving, video extraction
27
- - ✅ **3 Protocol Modes** - MCP (STDIO), LSP, HTTP/WebSocket
29
+ - ✅ **5 Protocol Modes** - MCP (STDIO), LSP, HTTP/WebSocket, SSE
28
30
  - ✅ **Auto-Detection** - Automatically detects your IDE
29
31
  - ✅ **Real Brave Browser** - Anti-detection features, bypass Cloudflare
30
32
  - ✅ **Universal API** - Works with any programming language (JS, Python, PHP, Go, etc.)
@@ -33,13 +35,51 @@
33
35
 
34
36
  ## 🚀 Quick Start
35
37
 
38
+ ### ⚡ Quick Setup Summary
39
+
40
+ **Choose your setup based on your AI Editor:**
41
+
42
+ | Editor | Setup Time | Protocol | Method |
43
+ |--------|-----------|----------|--------|
44
+ | **Claude Desktop** | 2 min | MCP | Add config → Restart |
45
+ | **Cursor AI** | 2 min | MCP | Add config → Restart |
46
+ | **Windsurf** | 2 min | MCP | Add config → Restart |
47
+ | **Zed Editor** | 3 min | LSP | Add to `context_servers` → Restart |
48
+ | **Qoder AI** | 4 min | HTTP | Start HTTP server → Add config → Restart |
49
+ | **Custom Apps** | 1 min | HTTP/WebSocket/SSE | Start server → Use API |
50
+
51
+ **Quick Commands:**
52
+
53
+ ```bash
54
+ # Auto-detect environment
55
+ npx brave-real-browser-mcp-server@latest
56
+
57
+ # MCP mode (Claude, Cursor, Windsurf)
58
+ npx brave-real-browser-mcp-server@latest --mode mcp
59
+
60
+ # LSP mode (Zed, VSCode, Neovim)
61
+ npx brave-real-browser-mcp-server@latest --mode lsp
62
+
63
+ # HTTP mode (Universal API + WebSocket)
64
+ npx brave-real-browser-mcp-server@latest --mode http --port 3000
65
+
66
+ # SSE mode (Real-time monitoring)
67
+ npx brave-real-browser-mcp-server@latest --mode sse --sse-port 3001
68
+
69
+ # Check if working
70
+ curl http://localhost:3000/health # For HTTP mode
71
+ curl http://localhost:3001/health # For SSE mode
72
+ ```
73
+
74
+ ---
75
+
36
76
  ### Installation
37
77
 
38
78
  ```bash
39
79
  # Install globally
40
80
  npm install -g brave-real-browser-mcp-server@latest
41
81
 
42
- # Or use with npx (no installation)
82
+ # Or use with npx (no installation needed)
43
83
  npx brave-real-browser-mcp-server@latest
44
84
  ```
45
85
 
@@ -127,7 +167,7 @@ curl http://localhost:3000/tools
127
167
 
128
168
  ---
129
169
 
130
- ### WebSocket Protocol - 5 Steps
170
+ ### WebSocket Protocol - Complete Setup Guide
131
171
 
132
172
  WebSocket provides **real-time, bidirectional communication** for modern applications.
133
173
 
@@ -140,18 +180,545 @@ npx brave-real-browser-mcp-server@latest --mode http --port 3000
140
180
  # WebSocket will be available at: ws://localhost:3000
141
181
  ```
142
182
 
183
+ **Server will start and show:**
184
+
185
+ ```
186
+ 🟢 [HTTP] Starting HTTP/WebSocket server...
187
+ ✅ [HTTP] Server ready at http://localhost:3000
188
+ ✅ [WebSocket] Server running on ws://localhost:3000
189
+ 💡 [HTTP] Universal mode - works with ALL AI IDEs
190
+ ```
191
+
192
+ #### Step 2: Verify WebSocket Connection
193
+
194
+ Test WebSocket connection using browser console or Node.js:
195
+
196
+ **Using Browser Console:**
197
+
198
+ ```javascript
199
+ // Open browser console (F12) and paste:
200
+ const ws = new WebSocket('ws://localhost:3000');
201
+
202
+ ws.onopen = () => {
203
+ console.log('✅ WebSocket connected!');
204
+
205
+ // Test tool execution
206
+ ws.send(JSON.stringify({
207
+ id: 1,
208
+ tool: 'browser_init',
209
+ args: {}
210
+ }));
211
+ };
212
+
213
+ ws.onmessage = (event) => {
214
+ console.log('📥 Response:', JSON.parse(event.data));
215
+ };
216
+
217
+ ws.onerror = (error) => {
218
+ console.error('❌ WebSocket error:', error);
219
+ };
220
+
221
+ ws.onclose = () => {
222
+ console.log('🔴 WebSocket disconnected');
223
+ };
224
+ ```
225
+
226
+ **Using Node.js:**
227
+
228
+ ```javascript
229
+ // Install ws package: npm install ws
230
+ const WebSocket = require('ws');
231
+
232
+ const ws = new WebSocket('ws://localhost:3000');
233
+
234
+ ws.on('open', () => {
235
+ console.log('✅ WebSocket connected!');
236
+
237
+ // Execute a tool
238
+ ws.send(JSON.stringify({
239
+ id: 1,
240
+ tool: 'browser_init',
241
+ args: {}
242
+ }));
243
+ });
244
+
245
+ ws.on('message', (data) => {
246
+ console.log('📥 Response:', JSON.parse(data));
247
+ });
248
+
249
+ ws.on('error', (error) => {
250
+ console.error('❌ Error:', error);
251
+ });
252
+
253
+ ws.on('close', () => {
254
+ console.log('🔴 Connection closed');
255
+ });
256
+ ```
257
+
258
+ #### Step 3: WebSocket Message Format
259
+
260
+ **Request Format:**
261
+
262
+ ```json
263
+ {
264
+ "id": 1,
265
+ "tool": "tool_name",
266
+ "args": {
267
+ "param1": "value1",
268
+ "param2": "value2"
269
+ }
270
+ }
271
+ ```
272
+
273
+ **Response Format:**
274
+
275
+ ```json
276
+ {
277
+ "id": 1,
278
+ "success": true,
279
+ "result": {
280
+ "content": [
281
+ {
282
+ "type": "text",
283
+ "text": "Result data"
284
+ }
285
+ ]
286
+ }
287
+ }
288
+ ```
289
+
290
+ **Error Response:**
291
+
292
+ ```json
293
+ {
294
+ "id": 1,
295
+ "success": false,
296
+ "error": "Error message"
297
+ }
298
+ ```
299
+
300
+ #### Step 4: Example - Complete Browser Automation via WebSocket
301
+
302
+ ```javascript
303
+ const WebSocket = require('ws');
304
+ const ws = new WebSocket('ws://localhost:3000');
305
+
306
+ let messageId = 0;
307
+
308
+ function sendCommand(tool, args) {
309
+ return new Promise((resolve, reject) => {
310
+ const id = ++messageId;
311
+
312
+ const handler = (data) => {
313
+ const response = JSON.parse(data);
314
+ if (response.id === id) {
315
+ ws.removeListener('message', handler);
316
+ if (response.success) {
317
+ resolve(response.result);
318
+ } else {
319
+ reject(new Error(response.error));
320
+ }
321
+ }
322
+ };
323
+
324
+ ws.on('message', handler);
325
+
326
+ ws.send(JSON.stringify({ id, tool, args }));
327
+ });
328
+ }
329
+
330
+ ws.on('open', async () => {
331
+ try {
332
+ // Step 1: Initialize browser
333
+ console.log('Initializing browser...');
334
+ await sendCommand('browser_init', {});
335
+
336
+ // Step 2: Navigate to URL
337
+ console.log('Navigating to page...');
338
+ await sendCommand('navigate', { url: 'https://example.com' });
339
+
340
+ // Step 3: Get page content
341
+ console.log('Getting content...');
342
+ const content = await sendCommand('get_content', { type: 'text' });
343
+ console.log('Content:', content);
344
+
345
+ // Step 4: Close browser
346
+ console.log('Closing browser...');
347
+ await sendCommand('browser_close', {});
348
+
349
+ console.log('✅ Automation complete!');
350
+ ws.close();
351
+ } catch (error) {
352
+ console.error('❌ Error:', error);
353
+ ws.close();
354
+ }
355
+ });
356
+ ```
357
+
358
+ #### Step 5: WebSocket Client Libraries
359
+
360
+ **JavaScript/Node.js:**
361
+ ```bash
362
+ npm install ws
363
+ ```
364
+
365
+ **Python:**
366
+ ```bash
367
+ pip install websockets
368
+ ```
369
+
370
+ ```python
371
+ import asyncio
372
+ import websockets
373
+ import json
374
+
375
+ async def automation():
376
+ uri = "ws://localhost:3000"
377
+ async with websockets.connect(uri) as websocket:
378
+ # Initialize browser
379
+ await websocket.send(json.dumps({
380
+ "id": 1,
381
+ "tool": "browser_init",
382
+ "args": {}
383
+ }))
384
+ response = await websocket.recv()
385
+ print(f"Response: {response}")
386
+
387
+ # Navigate
388
+ await websocket.send(json.dumps({
389
+ "id": 2,
390
+ "tool": "navigate",
391
+ "args": {"url": "https://example.com"}
392
+ }))
393
+ response = await websocket.recv()
394
+ print(f"Response: {response}")
395
+
396
+ asyncio.run(automation())
397
+ ```
398
+
399
+ **Go:**
400
+ ```bash
401
+ go get github.com/gorilla/websocket
402
+ ```
403
+
404
+ ```go
405
+ package main
406
+
407
+ import (
408
+ "encoding/json"
409
+ "fmt"
410
+ "github.com/gorilla/websocket"
411
+ )
412
+
413
+ type Message struct {
414
+ ID int `json:"id"`
415
+ Tool string `json:"tool"`
416
+ Args map[string]interface{} `json:"args"`
417
+ }
418
+
419
+ func main() {
420
+ ws, _, err := websocket.DefaultDialer.Dial("ws://localhost:3000", nil)
421
+ if err != nil {
422
+ panic(err)
423
+ }
424
+ defer ws.Close()
425
+
426
+ // Initialize browser
427
+ msg := Message{
428
+ ID: 1,
429
+ Tool: "browser_init",
430
+ Args: make(map[string]interface{}),
431
+ }
432
+
433
+ ws.WriteJSON(msg)
434
+
435
+ var response map[string]interface{}
436
+ ws.ReadJSON(&response)
437
+ fmt.Printf("Response: %+v\n", response)
438
+ }
439
+ ```
440
+
441
+ **PHP:**
442
+ ```bash
443
+ composer require textalk/websocket
444
+ ```
445
+
446
+ ```php
447
+ <?php
448
+ require 'vendor/autoload.php';
449
+
450
+ use WebSocket\Client;
451
+
452
+ $client = new Client("ws://localhost:3000");
453
+
454
+ // Initialize browser
455
+ $client->send(json_encode([
456
+ 'id' => 1,
457
+ 'tool' => 'browser_init',
458
+ 'args' => new stdClass()
459
+ ]));
460
+
461
+ $response = json_decode($client->receive());
462
+ echo "Response: " . print_r($response, true);
463
+
464
+ $client->close();
465
+ ?>
466
+ ```
467
+
468
+ #### Step 6: WebSocket Advanced Features
469
+
470
+ **Connection Options:**
471
+
472
+ ```javascript
473
+ const ws = new WebSocket('ws://localhost:3000', {
474
+ headers: {
475
+ 'Authorization': 'Bearer your-token',
476
+ 'X-Custom-Header': 'value'
477
+ }
478
+ });
479
+ ```
480
+
481
+ **Reconnection Logic:**
482
+
483
+ ```javascript
484
+ function connectWebSocket() {
485
+ const ws = new WebSocket('ws://localhost:3000');
486
+
487
+ ws.on('close', () => {
488
+ console.log('Connection closed, reconnecting in 5s...');
489
+ setTimeout(connectWebSocket, 5000);
490
+ });
491
+
492
+ ws.on('error', (error) => {
493
+ console.error('WebSocket error:', error);
494
+ });
495
+
496
+ return ws;
497
+ }
498
+
499
+ const ws = connectWebSocket();
500
+ ```
501
+
502
+ **Heartbeat/Ping-Pong:**
503
+
504
+ ```javascript
505
+ const ws = new WebSocket('ws://localhost:3000');
506
+
507
+ setInterval(() => {
508
+ if (ws.readyState === WebSocket.OPEN) {
509
+ ws.ping();
510
+ }
511
+ }, 30000); // Ping every 30 seconds
512
+
513
+ ws.on('pong', () => {
514
+ console.log('Pong received - connection alive');
515
+ });
516
+ ```
517
+
518
+ #### Troubleshooting WebSocket
519
+
520
+ **Issue: Connection Refused**
521
+
522
+ ```bash
523
+ # Check if HTTP server is running
524
+ curl http://localhost:3000/health
525
+
526
+ # If not running, start it:
527
+ npx brave-real-browser-mcp-server@latest --mode http --port 3000
528
+ ```
529
+
530
+ **Issue: WebSocket Disabled**
531
+
532
+ ```bash
533
+ # Start server with WebSocket explicitly enabled
534
+ npx brave-real-browser-mcp-server@latest --mode http --port 3000
535
+
536
+ # Note: WebSocket is enabled by default
537
+ # To disable: use --no-websocket flag
538
+ ```
539
+
540
+ **Issue: Connection Timeout**
541
+
542
+ ```javascript
543
+ // Increase connection timeout
544
+ const ws = new WebSocket('ws://localhost:3000', {
545
+ handshakeTimeout: 10000 // 10 seconds
546
+ });
547
+ ```
548
+
549
+ **Issue: Firewall Blocking**
550
+
551
+ ```bash
552
+ # Windows - Allow Node.js through firewall
553
+ netsh advfirewall firewall add rule name="Node.js WebSocket" dir=in action=allow program="C:\Program Files\nodejs\node.exe" enable=yes
554
+
555
+ # Linux - Allow port 3000
556
+ sudo ufw allow 3000
557
+ ```
558
+
143
559
  ## 🎨 IDE Configurations
144
560
 
145
561
  ### Claude Desktop
146
562
 
147
- **File:** `claude_desktop_config.json`
563
+ **Protocol:** MCP (STDIO) | **Setup Time:** 2 minutes | **Auto-Start:** ✅ Yes
148
564
 
149
- **Location:**
565
+ #### 📋 Step-by-Step Setup Guide:
566
+
567
+ **Step 1: Locate Configuration File**
568
+
569
+ ```bash
570
+ # Windows (PowerShell)
571
+ cd $env:APPDATA\Claude
572
+ notepad claude_desktop_config.json
573
+
574
+ # Windows (CMD)
575
+ cd %APPDATA%\Claude
576
+ notepad claude_desktop_config.json
577
+
578
+ # Mac
579
+ cd ~/Library/Application\ Support/Claude
580
+ open -e claude_desktop_config.json
581
+
582
+ # Linux
583
+ cd ~/.config/Claude
584
+ gedit claude_desktop_config.json
585
+ ```
586
+
587
+ **If file doesn't exist, create it:**
588
+
589
+ ```bash
590
+ # Windows (PowerShell)
591
+ New-Item -Path "$env:APPDATA\Claude\claude_desktop_config.json" -ItemType File -Force
592
+
593
+ # Mac/Linux
594
+ mkdir -p ~/.config/Claude
595
+ touch ~/.config/Claude/claude_desktop_config.json
596
+ ```
597
+
598
+ **Step 2: Add Configuration**
150
599
 
600
+ Copy and paste this configuration:
601
+
602
+ ```json
603
+ {
604
+ "mcpServers": {
605
+ "brave-real-browser": {
606
+ "command": "npx",
607
+ "args": ["-y", "brave-real-browser-mcp-server@latest"]
608
+ }
609
+ }
610
+ }
611
+ ```
612
+
613
+ **Advanced Configuration (Optional):**
614
+
615
+ ```json
616
+ {
617
+ "mcpServers": {
618
+ "brave-real-browser": {
619
+ "command": "npx",
620
+ "args": ["-y", "brave-real-browser-mcp-server@latest"],
621
+ "env": {
622
+ "BRAVE_PATH": "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",
623
+ "HEADLESS": "false"
624
+ }
625
+ }
626
+ }
627
+ }
628
+ ```
629
+
630
+ **Step 3: Save and Close File**
631
+
632
+ Press `Ctrl+S` (Windows/Linux) or `Cmd+S` (Mac) to save.
633
+
634
+ **Step 4: Restart Claude Desktop**
635
+
636
+ ```bash
637
+ # Windows
638
+ taskkill /F /IM claude.exe
639
+ # Then reopen Claude Desktop
640
+
641
+ # Mac
642
+ pkill -f Claude
643
+ # Then reopen Claude Desktop
644
+ ```
645
+
646
+ **Step 5: Verify Installation**
647
+
648
+ 1. Open Claude Desktop
649
+ 2. Look for 🔧 icon or "Tools" section
650
+ 3. You should see "brave-real-browser" with 111 tools
651
+ 4. Try this command in Claude:
652
+ ```
653
+ Use browser_init tool to start the browser
654
+ ```
655
+
656
+ **Troubleshooting:**
657
+
658
+ ```bash
659
+ # Check Claude logs
660
+ # Windows
661
+ type "%APPDATA%\Claude\logs\mcp*.log"
662
+
663
+ # Mac
664
+ cat ~/Library/Logs/Claude/mcp*.log
665
+
666
+ # If server fails, test manually:
667
+ npx -y brave-real-browser-mcp-server@latest
668
+ ```
669
+
670
+ **Configuration Locations:**
151
671
  - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
152
672
  - Mac: `~/Library/Application Support/Claude/claude_desktop_config.json`
153
673
  - Linux: `~/.config/Claude/claude_desktop_config.json`
154
674
 
675
+ ### Cursor AI
676
+
677
+ **Protocol:** MCP (STDIO) | **Setup Time:** 2 minutes | **Auto-Start:** ✅ Yes
678
+
679
+ #### 📋 Step-by-Step Setup Guide:
680
+
681
+ **Step 1: Install Cline Extension (if not installed)**
682
+
683
+ 1. Open Cursor AI
684
+ 2. Press `Ctrl+Shift+X` (Extensions)
685
+ 3. Search for "Cline" or "Claude Dev"
686
+ 4. Click Install
687
+ 5. Restart Cursor
688
+
689
+ **Step 2: Locate Configuration File**
690
+
691
+ ```bash
692
+ # Windows (PowerShell)
693
+ $configPath = "$env:APPDATA\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings"
694
+ cd $configPath
695
+ notepad cline_mcp_settings.json
696
+
697
+ # Windows (CMD)
698
+ cd %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings
699
+ notepad cline_mcp_settings.json
700
+
701
+ # Mac
702
+ cd ~/Library/Application\ Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings
703
+ open -e cline_mcp_settings.json
704
+ ```
705
+
706
+ **If file doesn't exist, create it:**
707
+
708
+ ```bash
709
+ # Windows (PowerShell)
710
+ $settingsPath = "$env:APPDATA\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings"
711
+ New-Item -Path $settingsPath -ItemType Directory -Force
712
+ New-Item -Path "$settingsPath\cline_mcp_settings.json" -ItemType File -Force
713
+
714
+ # Mac
715
+ mkdir -p ~/Library/Application\ Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings
716
+ touch ~/Library/Application\ Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
717
+ ```
718
+
719
+ **Step 3: Add Configuration**
720
+
721
+ **Basic Configuration:**
155
722
  ```json
156
723
  {
157
724
  "mcpServers": {
@@ -163,15 +730,275 @@ npx brave-real-browser-mcp-server@latest --mode http --port 3000
163
730
  }
164
731
  ```
165
732
 
166
- ### Cursor AI
733
+ **Advanced Configuration (with Brave path):**
734
+ ```json
735
+ {
736
+ "mcpServers": {
737
+ "brave-real-browser": {
738
+ "command": "npx",
739
+ "args": ["-y", "brave-real-browser-mcp-server@latest"],
740
+ "env": {
741
+ "BRAVE_PATH": "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",
742
+ "HEADLESS": "false"
743
+ }
744
+ }
745
+ }
746
+ }
747
+ ```
167
748
 
168
- **File:** `cline_mcp_settings.json`
749
+ **For Mac:**
750
+ ```json
751
+ {
752
+ "mcpServers": {
753
+ "brave-real-browser": {
754
+ "command": "npx",
755
+ "args": ["-y", "brave-real-browser-mcp-server@latest"],
756
+ "env": {
757
+ "BRAVE_PATH": "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
758
+ }
759
+ }
760
+ }
761
+ }
762
+ ```
169
763
 
170
- **Location:**
764
+ **Step 4: Save and Restart Cursor**
765
+
766
+ ```bash
767
+ # Windows
768
+ taskkill /F /IM Cursor.exe
769
+ # Then reopen Cursor
770
+
771
+ # Mac
772
+ pkill -f Cursor
773
+ # Then reopen Cursor
774
+ ```
171
775
 
776
+ **Step 5: Verify Installation**
777
+
778
+ 1. Open Cursor AI
779
+ 2. Open Cline panel (usually in sidebar)
780
+ 3. Look for MCP tools section
781
+ 4. You should see "brave-real-browser" listed
782
+ 5. Test with:
783
+ ```
784
+ @brave-real-browser browser_init
785
+ ```
786
+
787
+ **Step 6: Using Tools in Cursor**
788
+
789
+ ```
790
+ # In Cline chat:
791
+ Use the browser_init tool from brave-real-browser to start automation
792
+
793
+ # Or directly:
794
+ @brave-real-browser navigate {"url": "https://example.com"}
795
+ ```
796
+
797
+ **Troubleshooting:**
798
+
799
+ ```bash
800
+ # Check if Cline extension is active
801
+ # Cursor → Extensions → Search "Cline" → Should show "Active"
802
+
803
+ # View Cline logs
804
+ # Cursor → View → Output → Select "Cline" from dropdown
805
+
806
+ # Test server manually
807
+ npx -y brave-real-browser-mcp-server@latest
808
+
809
+ # Clear Cursor cache
810
+ # Windows
811
+ Remove-Item -Recurse -Force "$env:APPDATA\Cursor\Cache"
812
+
813
+ # Mac
814
+ rm -rf ~/Library/Application\ Support/Cursor/Cache
815
+ ```
816
+
817
+ **Configuration Locations:**
172
818
  - Windows: `%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
173
819
  - Mac: `~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
174
820
 
821
+ ### Windsurf
822
+
823
+ **File:** `mcp.json`
824
+
825
+ **Location:**
826
+
827
+ - Windows: `%APPDATA%\Windsurf\mcp.json`
828
+ - Mac: `~/.windsurf/mcp.json`
829
+
830
+ ```json
831
+ {
832
+ "mcpServers": {
833
+ "brave-real-browser": {
834
+ "command": "npx",
835
+ "args": ["-y", "brave-real-browser-mcp-server@latest"]
836
+ }
837
+ }
838
+ }
839
+ ```
840
+
841
+ ### Cline (VSCode Extension)
842
+
843
+ **File:** `cline_mcp_settings.json`
844
+
845
+ **Location:**
846
+
847
+ - Windows: `%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
848
+ - Mac: `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
849
+
850
+ ```json
851
+ {
852
+ "mcpServers": {
853
+ "brave-real-browser": {
854
+ "command": "npx",
855
+ "args": ["-y", "brave-real-browser-mcp-server@latest"]
856
+ }
857
+ }
858
+ }
859
+ ```
860
+
861
+ ### Zed Editor
862
+
863
+ **Protocol:** Context Servers (MCP)
864
+
865
+ **File:** `settings.json`
866
+
867
+ **Location:**
868
+
869
+ - Windows: `%APPDATA%\Zed\settings.json`
870
+ - Mac: `~/.config/zed/settings.json`
871
+ - Linux: `~/.config/zed/settings.json`
872
+
873
+ #### Step-by-Step Setup Guide:
874
+
875
+ **Step 1:** Open Zed Editor and press `Ctrl+Shift+P` (Windows/Linux) or `Cmd+Shift+P` (Mac)
876
+
877
+ **Step 2:** Type "Open Settings" and select "Zed: Open Settings"
878
+
879
+ **Step 3:** Add the following configuration:
880
+
881
+ ```json
882
+ {
883
+ "context_servers": {
884
+ "brave-real-browser": {
885
+ "source": "custom",
886
+ "command": "npx.cmd",
887
+ "args": ["-y", "brave-real-browser-mcp-server"]
888
+ }
889
+ }
890
+ }
891
+ ```
892
+
893
+ **For Mac/Linux, use:**
894
+ ```json
895
+ {
896
+ "context_servers": {
897
+ "brave-real-browser": {
898
+ "source": "custom",
899
+ "command": "npx",
900
+ "args": ["-y", "brave-real-browser-mcp-server"]
901
+ }
902
+ }
903
+ }
904
+ ```
905
+
906
+ **Step 4:** Save the file and restart Zed Editor
907
+
908
+ **Step 5:** Verify installation by checking Zed's output panel
909
+
910
+ **Important Notes:**
911
+ - ⚠️ **Zed uses `context_servers` NOT `mcpServers` or `lsp`**
912
+ - ✅ Make sure you're using Zed Preview version (v0.120.0+) for MCP support
913
+ - ✅ On Windows, use `npx.cmd` instead of `npx`
914
+ - ✅ Server will auto-start when Zed launches
915
+
916
+ ### Qoder AI Editor
917
+
918
+ **Protocol:** MCP (STDIO) | **Setup Time:** 3 minutes | **Auto-Start:** ✅ Yes
919
+
920
+ **✅ Good News:** Qoder AI supports standard STDIO-based MCP servers (just like Claude, Cursor, Windsurf)!
921
+
922
+ #### 📋 Step-by-Step Setup Guide:
923
+
924
+ **Step 1: Open Qoder Settings**
925
+
926
+ ```bash
927
+ # Method 1: Using keyboard shortcut
928
+ # Windows: Ctrl + Shift + ,
929
+ # Mac: ⌘ + Shift + ,
930
+
931
+ # Method 2: Click user icon in upper-right corner
932
+ # Then select "Qoder Settings"
933
+ ```
934
+
935
+ **Step 2: Navigate to MCP Section**
936
+
937
+ 1. In left-side navigation pane, click **MCP**
938
+ 2. Click on **My Servers** tab
939
+ 3. Click **+ Add** button in upper-right corner
940
+
941
+ **Step 3: Install Package Globally (Important for Qoder AI)**
942
+
943
+ ```bash
944
+ # Install globally for faster startup
945
+ npm install -g brave-real-browser-mcp-server@latest
946
+
947
+ # Verify installation
948
+ where brave-real-browser-mcp-server # Windows
949
+ which brave-real-browser-mcp-server # Mac/Linux
950
+ ```
951
+
952
+ **Why global install?** Qoder AI has a short timeout for MCP server initialization. Using `npx` can be slow on first run. Global installation ensures fast startup.
953
+
954
+ **Step 4: Add Configuration**
955
+
956
+ A JSON file will appear. Add this configuration:
957
+
958
+ **Option A - Using Global Install (Recommended):**
959
+ ```json
960
+ {
961
+ "mcpServers": {
962
+ "brave-real-browser": {
963
+ "command": "brave-real-browser-mcp-server",
964
+ "args": []
965
+ }
966
+ }
967
+ }
968
+ ```
969
+
970
+ **Option B - Using NPX (May timeout on first run):**
971
+ ```json
972
+ {
973
+ "mcpServers": {
974
+ "brave-real-browser": {
975
+ "command": "npx",
976
+ "args": ["-y", "brave-real-browser-mcp-server@latest"]
977
+ }
978
+ }
979
+ }
980
+ ```
981
+
982
+ **Option C - Using Node directly:**
983
+ ```json
984
+ {
985
+ "mcpServers": {
986
+ "brave-real-browser": {
987
+ "command": "node",
988
+ "args": [
989
+ "C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\brave-real-browser-mcp-server\\dist\\index.js"
990
+ ]
991
+ }
992
+ }
993
+ }
994
+ ```
995
+
996
+ **Note:** Replace path in Option C with your actual global npm modules path:
997
+ - Windows: `%APPDATA%\npm\node_modules\brave-real-browser-mcp-server\dist\index.js`
998
+ - Mac/Linux: `/usr/local/lib/node_modules/brave-real-browser-mcp-server/dist/index.js`
999
+
1000
+ **Advanced Configuration (with environment variables):**
1001
+
175
1002
  ```json
176
1003
  {
177
1004
  "mcpServers": {
@@ -179,93 +1006,201 @@ npx brave-real-browser-mcp-server@latest --mode http --port 3000
179
1006
  "command": "npx",
180
1007
  "args": ["-y", "brave-real-browser-mcp-server@latest"],
181
1008
  "env": {
182
- "BRAVE_PATH": "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"
1009
+ "BRAVE_PATH": "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",
1010
+ "HEADLESS": "false"
183
1011
  }
184
1012
  }
185
1013
  }
186
1014
  }
187
1015
  ```
188
1016
 
189
- ### Windsurf
1017
+ **For Mac:**
190
1018
 
191
- **File:** `mcp.json`
1019
+ ```json
1020
+ {
1021
+ "mcpServers": {
1022
+ "brave-real-browser": {
1023
+ "command": "npx",
1024
+ "args": ["-y", "brave-real-browser-mcp-server@latest"],
1025
+ "env": {
1026
+ "BRAVE_PATH": "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
1027
+ }
1028
+ }
1029
+ }
1030
+ }
1031
+ ```
1032
+
1033
+ **Step 5: Save Configuration**
1034
+
1035
+ 1. Close the JSON file
1036
+ 2. Click **Save** when prompted
1037
+ 3. The new server will appear in your list
1038
+ 4. A **link icon** (🔗) means the connection is successful
1039
+
1040
+ **Step 6: Verify Installation**
1041
+
1042
+ 1. Expand the **brave-real-browser** entry
1043
+ 2. You should see list of 111 available tools
1044
+ 3. If server fails to start, click **Quick Fix** button
1045
+ 4. If issue persists, check troubleshooting section below
1046
+
1047
+ **Step 7: Using Tools in Qoder AI**
1048
+
1049
+ 1. Switch to **Agent mode** in AI Chat panel
1050
+ 2. Ask Qoder to use browser automation:
1051
+ ```
1052
+ Use brave-real-browser to navigate to https://example.com and extract the main content
1053
+ ```
1054
+ 3. Qoder will prompt for confirmation before using MCP tools
1055
+ 4. Press `Ctrl+Enter` (Windows) or `⌘+Enter` (Mac) to execute
1056
+
1057
+ **Important Notes:**
1058
+
1059
+ - ⚠️ **Maximum 10 MCP servers** can be used simultaneously
1060
+ - ✅ **Only works in Agent mode** (not in Ask mode)
1061
+ - ✅ **Server auto-starts** when Qoder launches
1062
+ - ✅ **Node.js V18+ required** (includes NPM V8+)
1063
+
1064
+ **Prerequisites Check:**
1065
+
1066
+ ```bash
1067
+ # Verify Node.js installation
1068
+ node -v # Should show v18.0.0 or higher
1069
+ npx -v # Should show version number
1070
+
1071
+ # If not installed:
1072
+ # Windows: Download from https://nodejs.org/
1073
+ # Mac: brew install node
1074
+ # Linux: Use package manager (apt, yum, etc.)
1075
+ ```
1076
+
1077
+ **Troubleshooting:**
1078
+
1079
+ **Issue: "context deadline exceeded" or Timeout Error**
1080
+
1081
+ ```
1082
+ failed to initialize MCP client: context deadline exceeded
1083
+ ```
192
1084
 
193
- **Location:**
1085
+ **Cause:** Qoder AI has a short initialization timeout. Using `npx` can be slow on first run because it needs to download and cache the package.
194
1086
 
195
- - Windows: `%APPDATA%\Windsurf\mcp.json`
196
- - Mac: `~/.windsurf/mcp.json`
1087
+ **Solution 1 - Install Globally (Recommended):**
1088
+ ```bash
1089
+ # Install package globally for instant startup
1090
+ npm install -g brave-real-browser-mcp-server@latest
1091
+ ```
197
1092
 
1093
+ Then update your configuration to:
198
1094
  ```json
199
1095
  {
200
1096
  "mcpServers": {
201
1097
  "brave-real-browser": {
202
- "command": "npx",
203
- "args": ["-y", "brave-real-browser-mcp-server@latest"]
1098
+ "command": "brave-real-browser-mcp-server",
1099
+ "args": []
204
1100
  }
205
1101
  }
206
1102
  }
207
1103
  ```
208
1104
 
209
- ### Cline (VSCode Extension)
1105
+ **Solution 2 - Pre-cache npx package:**
1106
+ ```bash
1107
+ # Run once to cache the package
1108
+ npx -y brave-real-browser-mcp-server@latest
1109
+ # Press Ctrl+C after server starts
210
1110
 
211
- **File:** `cline_mcp_settings.json`
1111
+ # Now npx will be fast on subsequent runs
1112
+ ```
212
1113
 
213
- **Location:**
1114
+ **Solution 3 - Use Direct Node Path:**
214
1115
 
215
- - Windows: `%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
216
- - Mac: `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
1116
+ First, find the global package location:
1117
+ ```bash
1118
+ # Windows
1119
+ npm root -g
1120
+ # Usually: C:\Users\<USERNAME>\AppData\Roaming\npm\node_modules
1121
+
1122
+ # Mac/Linux
1123
+ npm root -g
1124
+ # Usually: /usr/local/lib/node_modules
1125
+ ```
217
1126
 
1127
+ Then use full path:
218
1128
  ```json
219
1129
  {
220
1130
  "mcpServers": {
221
1131
  "brave-real-browser": {
222
- "command": "npx",
223
- "args": ["-y", "brave-real-browser-mcp-server@latest"]
1132
+ "command": "node",
1133
+ "args": ["<npm-root>\\brave-real-browser-mcp-server\\dist\\index.js"]
224
1134
  }
225
1135
  }
226
1136
  }
227
1137
  ```
228
1138
 
229
- ### Zed Editor
230
-
231
- **File:** `settings.json`
1139
+ **Issue: "exec: npx: executable file not found"**
232
1140
 
233
- **Location:**
1141
+ ```bash
1142
+ # Solution: Install Node.js V18 or later
1143
+ # Windows
1144
+ nvm install 22.14.0
1145
+ nvm use 22.14.0
234
1146
 
235
- - Windows: `%APPDATA%\Zed\settings.json`
236
- - Mac: `~/.config/zed/settings.json`
1147
+ # Mac
1148
+ brew install node
237
1149
 
238
- ```json
239
- {
240
- "context_servers": {
241
- "brave-real-browser": {
242
- "command": {
243
- "path": "npx",
244
- "args": ["-y", "brave-real-browser-mcp-server@latest"]
245
- },
246
- "settings": {}
247
- }
248
- }
249
- }
1150
+ # Verify
1151
+ node -v
1152
+ npx -v
250
1153
  ```
251
1154
 
252
- **Note:** Zed uses `context_servers` (not `lsp`) for MCP servers. Make sure you're using Zed Preview version for MCP support.
1155
+ **Issue: "failed to initialize MCP client: context deadline exceeded"**
253
1156
 
254
- ### Qoder AI / HTTP-based IDEs
1157
+ 1. Click **Copy complete command** in Qoder UI
1158
+ 2. Run command in terminal to see detailed error
1159
+ 3. Check if Node.js is blocked by security software
1160
+ 4. Add Node.js to security software whitelist
255
1161
 
256
- Start server in HTTP mode and configure:
1162
+ **Issue: Server fails to connect**
257
1163
 
258
- ```json
259
- {
260
- "extensions": {
261
- "brave-real-browser": {
262
- "type": "http",
263
- "enabled": true,
264
- "endpoint": "http://localhost:3000",
265
- "timeout": 30000
266
- }
267
- }
268
- }
1164
+ 1. Click **Retry** icon in Qoder interface
1165
+ 2. Qoder will attempt to restart MCP server automatically
1166
+ 3. Check **My Servers** tab for connection status
1167
+ 4. Expand server details to see tools list
1168
+
1169
+ **Issue: Tools not being called by LLM**
1170
+
1171
+ 1. Make sure you're in **Agent mode** (not Ask mode)
1172
+ 2. Open a project directory in Qoder
1173
+ 3. Ensure MCP server shows **link icon** (connected)
1174
+ 4. Try explicit prompt: "Use brave-real-browser to..."
1175
+
1176
+ **Configuration Locations:**
1177
+
1178
+ - Windows: Qoder Settings → MCP → My Servers
1179
+ - Mac: Qoder Settings → MCP → My Servers
1180
+ - Linux: Qoder Settings → MCP → My Servers
1181
+
1182
+ **Official Documentation:**
1183
+ - Qoder MCP Guide: https://docs.qoder.com/user-guide/chat/model-context-protocol
1184
+ - MCP Common Issues: https://docs.qoder.com/support/mcp-common-issues
1185
+
1186
+ ### Other HTTP-based IDEs (Gemini CLI, Qwen Code CLI, Custom Tools)
1187
+
1188
+ **Step 1:** Start HTTP server as shown above
1189
+
1190
+ **Step 2:** Configure your IDE/tool to use endpoint: `http://localhost:3000`
1191
+
1192
+ **Step 3:** Make HTTP POST requests to execute tools:
1193
+
1194
+ ```bash
1195
+ # Example: Navigate to URL
1196
+ curl -X POST http://localhost:3000/tools/navigate \
1197
+ -H "Content-Type: application/json" \
1198
+ -d '{"url": "https://example.com"}'
1199
+
1200
+ # Example: Get page content
1201
+ curl -X POST http://localhost:3000/tools/get_content \
1202
+ -H "Content-Type: application/json" \
1203
+ -d '{"type": "text"}'
269
1204
  ```
270
1205
 
271
1206
  ---
@@ -620,47 +1555,432 @@ HTTP_PORT=3000
620
1555
 
621
1556
  ## 🐛 Troubleshooting
622
1557
 
623
- ### Brave Browser Not Found
1558
+ ### Common Issues & Solutions
1559
+
1560
+ #### 1. Brave Browser Not Found
624
1561
 
625
- **Solution:**
1562
+ **Symptoms:**
1563
+ - Error: "Brave browser not found"
1564
+ - Browser fails to launch
1565
+
1566
+ **Solutions:**
626
1567
 
627
1568
  ```bash
628
- # Windows
1569
+ # Windows (PowerShell)
1570
+ $env:BRAVE_PATH="C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe"
1571
+
1572
+ # Windows (CMD)
629
1573
  set BRAVE_PATH="C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe"
630
1574
 
631
- # Linux/Mac
1575
+ # Mac
1576
+ export BRAVE_PATH="/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
1577
+
1578
+ # Linux (Ubuntu/Debian)
632
1579
  export BRAVE_PATH="/usr/bin/brave-browser"
1580
+
1581
+ # Linux (Snap)
1582
+ export BRAVE_PATH="/snap/bin/brave"
1583
+ ```
1584
+
1585
+ **Permanent Fix (Windows):**
1586
+ ```powershell
1587
+ # Add to System Environment Variables
1588
+ [System.Environment]::SetEnvironmentVariable('BRAVE_PATH', 'C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe', 'User')
1589
+ ```
1590
+
1591
+ ---
1592
+
1593
+ #### 2. Server Won't Start
1594
+
1595
+ **Symptoms:**
1596
+ - "Failed to start server" error
1597
+ - Process exits immediately
1598
+ - No output in terminal
1599
+
1600
+ **Solutions:**
1601
+
1602
+ **Step 1:** Check Node.js version
1603
+ ```bash
1604
+ node --version
1605
+ # Should show v18.0.0 or higher
1606
+ ```
1607
+
1608
+ **Step 2:** If Node.js is old, update it:
1609
+ ```bash
1610
+ # Windows (using Chocolatey)
1611
+ choco upgrade nodejs
1612
+
1613
+ # Mac (using Homebrew)
1614
+ brew upgrade node
1615
+
1616
+ # Or download from: https://nodejs.org/
1617
+ ```
1618
+
1619
+ **Step 3:** Clear npm cache and reinstall
1620
+ ```bash
1621
+ npm cache clean --force
1622
+ npm uninstall -g brave-real-browser-mcp-server
1623
+ npm install -g brave-real-browser-mcp-server@latest
633
1624
  ```
634
1625
 
635
- ### Server Won't Start
1626
+ **Step 4:** Check for conflicting processes
1627
+ ```bash
1628
+ # Windows
1629
+ taskkill /F /IM brave.exe
1630
+
1631
+ # Mac/Linux
1632
+ pkill -f brave
1633
+ ```
636
1634
 
637
- 1. Check Node.js version: `node --version` (should be >= 18)
638
- 2. Clear npm cache: `npm cache clean --force`
639
- 3. Reinstall: `npm install -g brave-real-browser-mcp-server@latest`
1635
+ ---
1636
+
1637
+ #### 3. Port Already in Use (HTTP Mode)
640
1638
 
641
- ### Port Already in Use
1639
+ **Symptoms:**
1640
+ - Error: "EADDRINUSE: address already in use ::3000"
1641
+ - HTTP server fails to start
642
1642
 
1643
+ **Solutions:**
1644
+
1645
+ **Option A:** Use a different port
643
1646
  ```bash
644
- # Use different port
645
1647
  npx brave-real-browser-mcp-server@latest --mode http --port 8080
646
1648
  ```
647
1649
 
648
- ### CAPTCHA Not Solving
1650
+ **Option B:** Kill the process using port 3000
1651
+
1652
+ ```bash
1653
+ # Windows (PowerShell)
1654
+ Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess | Stop-Process -Force
1655
+
1656
+ # Windows (CMD)
1657
+ for /f "tokens=5" %a in ('netstat -aon ^| find ":3000" ^| find "LISTENING"') do taskkill /F /PID %a
1658
+
1659
+ # Mac/Linux
1660
+ lsof -ti:3000 | xargs kill -9
1661
+ ```
1662
+
1663
+ ---
1664
+
1665
+ #### 4. Qoder AI Configuration Fails
1666
+
1667
+ **Symptoms:**
1668
+ - "Connection refused" error
1669
+ - "Server not reachable" message
1670
+ - Tools not appearing in Qoder AI
1671
+
1672
+ **Solutions:**
1673
+
1674
+ **Step 1:** Verify HTTP server is running
1675
+ ```bash
1676
+ # Start server in a separate terminal
1677
+ npx brave-real-browser-mcp-server@latest --mode http --port 3000
1678
+
1679
+ # You should see:
1680
+ # ✅ [HTTP] Server ready at http://localhost:3000
1681
+ ```
1682
+
1683
+ **Step 2:** Test server connection
1684
+ ```bash
1685
+ curl http://localhost:3000/health
1686
+ # Expected: {"status":"ok","timestamp":"..."}
1687
+ ```
1688
+
1689
+ **Step 3:** Check firewall settings
1690
+ ```bash
1691
+ # Windows: Allow Node.js through firewall
1692
+ netsh advfirewall firewall add rule name="Node.js" dir=in action=allow program="C:\Program Files\nodejs\node.exe" enable=yes
1693
+ ```
1694
+
1695
+ **Step 4:** Try alternative configuration
1696
+ ```json
1697
+ {
1698
+ "mcpServers": {
1699
+ "brave-real-browser": {
1700
+ "command": "npx",
1701
+ "args": ["-y", "brave-real-browser-mcp-server@latest", "--mode", "http", "--port", "3000"],
1702
+ "env": {}
1703
+ }
1704
+ }
1705
+ }
1706
+ ```
1707
+
1708
+ ---
1709
+
1710
+ #### 5. Zed Editor Not Detecting Server
1711
+
1712
+ **Symptoms:**
1713
+ - Context servers not appearing
1714
+ - "Failed to start context server" error
1715
+
1716
+ **Solutions:**
1717
+
1718
+ **Step 1:** Ensure Zed Preview version
1719
+ ```bash
1720
+ # Check Zed version (should be v0.120.0 or higher)
1721
+ # Open Zed → Help → About Zed
1722
+ ```
1723
+
1724
+ **Step 2:** Verify correct configuration format
1725
+ ```json
1726
+ {
1727
+ "context_servers": {
1728
+ "brave-real-browser": {
1729
+ "source": "custom",
1730
+ "command": "npx.cmd", // Windows: use npx.cmd, Mac/Linux: use npx
1731
+ "args": ["-y", "brave-real-browser-mcp-server"]
1732
+ }
1733
+ }
1734
+ }
1735
+ ```
1736
+
1737
+ **Step 3:** Check Zed logs
1738
+ ```bash
1739
+ # Open Zed → View → Debug → Language Server Logs
1740
+ # Look for error messages
1741
+ ```
1742
+
1743
+ **Step 4:** Restart Zed completely
1744
+ ```bash
1745
+ # Close Zed and kill any background processes
1746
+ # Windows
1747
+ taskkill /F /IM zed.exe
1748
+
1749
+ # Mac
1750
+ pkill -f zed
1751
+ ```
1752
+
1753
+ ---
1754
+
1755
+ #### 6. Claude Desktop Configuration Issues
1756
+
1757
+ **Symptoms:**
1758
+ - "MCP server failed to start"
1759
+ - Tools not appearing in Claude
1760
+
1761
+ **Solutions:**
1762
+
1763
+ **Step 1:** Check config file location
1764
+ ```bash
1765
+ # Windows
1766
+ echo %APPDATA%\Claude\claude_desktop_config.json
1767
+
1768
+ # Mac
1769
+ echo ~/Library/Application\ Support/Claude/claude_desktop_config.json
1770
+ ```
1771
+
1772
+ **Step 2:** Validate JSON format
1773
+ - Use https://jsonlint.com/ to validate your config
1774
+ - Ensure no trailing commas
1775
+ - Check quotes are properly escaped
1776
+
1777
+ **Step 3:** Check Claude logs
1778
+ ```bash
1779
+ # Windows
1780
+ type "%APPDATA%\Claude\logs\mcp*.log"
1781
+
1782
+ # Mac
1783
+ cat ~/Library/Logs/Claude/mcp*.log
1784
+ ```
1785
+
1786
+ **Step 4:** Restart Claude Desktop completely
1787
+ ```bash
1788
+ # Windows
1789
+ taskkill /F /IM claude.exe
1790
+
1791
+ # Mac
1792
+ pkill -f Claude
1793
+ ```
1794
+
1795
+ ---
1796
+
1797
+ #### 7. CAPTCHA Not Solving
1798
+
1799
+ **Symptoms:**
1800
+ - CAPTCHA solve timeout
1801
+ - "Failed to solve CAPTCHA" error
1802
+
1803
+ **Solutions:**
1804
+
1805
+ **Step 1:** Ensure CAPTCHA is fully loaded
1806
+ ```javascript
1807
+ // Add wait before solving
1808
+ await use_mcp_tool({
1809
+ server_name: "brave-real-browser",
1810
+ tool_name: "wait",
1811
+ arguments: { type: "timeout", value: "5000" }
1812
+ });
1813
+ ```
1814
+
1815
+ **Step 2:** Try longer timeout
1816
+ ```javascript
1817
+ await use_mcp_tool({
1818
+ server_name: "brave-real-browser",
1819
+ tool_name: "solve_captcha",
1820
+ arguments: {
1821
+ type: "recaptcha",
1822
+ timeout: 60000 // 60 seconds
1823
+ }
1824
+ });
1825
+ ```
649
1826
 
650
- 1. Ensure CAPTCHA is fully loaded
651
- 2. Try longer timeout: `{ "timeout": 30000 }`
652
- 3. Try different CAPTCHA types: `recaptcha`, `hcaptcha`, `turnstile`
1827
+ **Step 3:** Try different CAPTCHA types
1828
+ - `recaptcha` - Google reCAPTCHA v2/v3
1829
+ - `hcaptcha` - hCaptcha
1830
+ - `turnstile` - Cloudflare Turnstile
1831
+
1832
+ ---
1833
+
1834
+ #### 8. NPX Command Not Found
1835
+
1836
+ **Symptoms:**
1837
+ - "npx: command not found"
1838
+ - "npx is not recognized"
1839
+
1840
+ **Solutions:**
1841
+
1842
+ **Step 1:** Verify npm installation
1843
+ ```bash
1844
+ npm --version
1845
+ ```
1846
+
1847
+ **Step 2:** Reinstall Node.js
1848
+ - Download from: https://nodejs.org/
1849
+ - Choose LTS version
1850
+ - During installation, ensure "Add to PATH" is checked
1851
+
1852
+ **Step 3:** Add npm to PATH manually (Windows)
1853
+ ```powershell
1854
+ $env:PATH += ";C:\Program Files\nodejs"
1855
+ ```
1856
+
1857
+ ---
1858
+
1859
+ #### 9. Permission Denied Errors (Linux/Mac)
1860
+
1861
+ **Symptoms:**
1862
+ - "EACCES: permission denied"
1863
+ - Cannot install globally
1864
+
1865
+ **Solutions:**
1866
+
1867
+ ```bash
1868
+ # Option A: Fix npm permissions
1869
+ sudo chown -R $(whoami) ~/.npm
1870
+ sudo chown -R $(whoami) /usr/local/lib/node_modules
1871
+
1872
+ # Option B: Use npx instead of global install
1873
+ npx brave-real-browser-mcp-server@latest
1874
+
1875
+ # Option C: Use nvm (recommended)
1876
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
1877
+ nvm install --lts
1878
+ ```
1879
+
1880
+ ---
1881
+
1882
+ #### 10. Browser Crashes or Hangs
1883
+
1884
+ **Symptoms:**
1885
+ - Browser becomes unresponsive
1886
+ - "Page crashed" errors
1887
+ - Memory issues
1888
+
1889
+ **Solutions:**
1890
+
1891
+ **Step 1:** Enable headless mode
1892
+ ```json
1893
+ {
1894
+ "mcpServers": {
1895
+ "brave-real-browser": {
1896
+ "command": "npx",
1897
+ "args": ["-y", "brave-real-browser-mcp-server@latest"],
1898
+ "env": {
1899
+ "HEADLESS": "true"
1900
+ }
1901
+ }
1902
+ }
1903
+ }
1904
+ ```
1905
+
1906
+ **Step 2:** Increase timeout values
1907
+ ```javascript
1908
+ await use_mcp_tool({
1909
+ server_name: "brave-real-browser",
1910
+ tool_name: "navigate",
1911
+ arguments: {
1912
+ url: "https://example.com",
1913
+ waitUntil: "networkidle2",
1914
+ timeout: 60000
1915
+ }
1916
+ });
1917
+ ```
1918
+
1919
+ **Step 3:** Clear browser cache
1920
+ ```bash
1921
+ # Kill all Brave processes
1922
+ # Windows
1923
+ taskkill /F /IM brave.exe
1924
+
1925
+ # Mac/Linux
1926
+ pkill -9 brave
1927
+ ```
1928
+
1929
+ ---
1930
+
1931
+ ### Getting Help
1932
+
1933
+ If you're still experiencing issues:
1934
+
1935
+ 1. **Check GitHub Issues:** https://github.com/codeiva4u/Brave-Real-Browser-Mcp-Server/issues
1936
+ 2. **Enable Debug Logs:** Set `DEBUG=*` environment variable
1937
+ 3. **Report Bug:** Include:
1938
+ - Operating System & version
1939
+ - Node.js version (`node --version`)
1940
+ - Editor/IDE name & version
1941
+ - Complete error message
1942
+ - Configuration file (remove sensitive data)
1943
+
1944
+ ```bash
1945
+ # Run with debug logging
1946
+ DEBUG=* npx brave-real-browser-mcp-server@latest --mode http
1947
+ ```
653
1948
 
654
1949
  ---
655
1950
 
656
1951
  ## 📊 Supported Protocols
657
1952
 
658
- | Protocol | Used By | Auto-Config | Status |
659
- | --------------- | --------------------------------------------- | ----------- | ---------- |
660
- | **MCP (STDIO)** | Claude Desktop, Cursor, Windsurf, Cline, Warp | ✅ | 🟢 Working |
661
- | **LSP** | Zed Editor, VSCode, Neovim | ✅ | 🟢 Working |
662
- | **HTTP/REST** | Any IDE/Tool | ✅ | 🟢 Working |
663
- | **WebSocket** | Modern Web Apps, Real-time Tools | ✅ | 🟢 Working |
1953
+ || Protocol | Used By | Auto-Config | Status |
1954
+ || --------------- | --------------------------------------------- | ----------- | ---------- |
1955
+ || **MCP (STDIO)** | Claude Desktop, Cursor, Windsurf, Cline, Warp | ✅ | 🟢 Working |
1956
+ || **LSP** | Zed Editor, VSCode, Neovim | ✅ | 🟢 Working |
1957
+ || **HTTP/REST** | Any IDE/Tool | ✅ | 🟢 Working |
1958
+ || **WebSocket** | Modern Web Apps, Real-time Tools | ✅ | 🟢 Working |
1959
+ || **SSE** | Real-time Streaming, Web Apps | ✅ | 🟢 Working |
1960
+
1961
+ ---
1962
+
1963
+ ## 📊 Editor Compatibility Matrix
1964
+
1965
+ | AI Editor | Protocol | Config File | Server Auto-Start | HTTP Server Required | Status |
1966
+ |-----------|----------|-------------|-------------------|----------------------|--------|
1967
+ | **Claude Desktop** | MCP | `claude_desktop_config.json` | ✅ Yes | ❌ No | 🟢 Working |
1968
+ | **Cursor AI** | MCP | `cline_mcp_settings.json` | ✅ Yes | ❌ No | 🟢 Working |
1969
+ | **Windsurf** | MCP | `mcp.json` | ✅ Yes | ❌ No | 🟢 Working |
1970
+ | **Cline (VSCode)** | MCP | `cline_mcp_settings.json` | ✅ Yes | ❌ No | 🟢 Working |
1971
+ | **Warp Terminal** | MCP | Warp config | ✅ Yes | ❌ No | 🟢 Working |
1972
+ | **Zed Editor** | Context Servers (MCP) | `settings.json` | ✅ Yes | ❌ No | 🟢 Working |
1973
+ | **Qoder AI** | HTTP | `mcp.json` or config | ❌ No | ✅ **Yes** | 🟢 Working |
1974
+ | **Gemini CLI** | HTTP | CLI config | ❌ No | ✅ **Yes** | 🟢 Working |
1975
+ | **Qwen Code CLI** | HTTP | CLI config | ❌ No | ✅ **Yes** | 🟢 Working |
1976
+ | **Continue.dev** | HTTP | Extension config | ❌ No | ✅ **Yes** | 🟢 Working |
1977
+ | **Custom Tools** | HTTP | API integration | ❌ No | ✅ **Yes** | 🟢 Working |
1978
+ | **VSCode (Generic)** | LSP/HTTP | Extension config | Varies | Optional | 🟢 Working |
1979
+
1980
+ **Legend:**
1981
+ - ✅ **Server Auto-Start**: Editor automatically starts the MCP server
1982
+ - ❌ **HTTP Server Required**: You must manually start HTTP server before using
1983
+ - 🟢 **Working**: Fully tested and operational
664
1984
 
665
1985
  ---
666
1986
 
@@ -694,7 +2014,7 @@ MIT License - See LICENSE file for details.
694
2014
 
695
2015
  <div align="center">
696
2016
 
697
- **🌟 111 Tools | 15+ AI IDEs | 3 Protocols | Universal Support 🌟**
2017
+ **🌟 111 Tools | 15+ AI IDEs | 5 Protocols | Universal Support 🌟**
698
2018
 
699
2019
  **Made with ❤️ for the AI Development Community**
700
2020