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 +1397 -77
- package/dist/launcher.js +35 -5
- package/dist/transports/sse-transport.js +326 -0
- package/dist/transports/sse-transport.test.js +240 -0
- package/package.json +2 -2
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
|
-
[
|
|
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
|
-
- ✅ **
|
|
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 -
|
|
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
|
-
**
|
|
563
|
+
**Protocol:** MCP (STDIO) | **Setup Time:** 2 minutes | **Auto-Start:** ✅ Yes
|
|
148
564
|
|
|
149
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
|
|
1017
|
+
**For Mac:**
|
|
190
1018
|
|
|
191
|
-
|
|
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
|
-
**
|
|
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
|
-
-
|
|
196
|
-
|
|
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": "
|
|
203
|
-
"args": [
|
|
1098
|
+
"command": "brave-real-browser-mcp-server",
|
|
1099
|
+
"args": []
|
|
204
1100
|
}
|
|
205
1101
|
}
|
|
206
1102
|
}
|
|
207
1103
|
```
|
|
208
1104
|
|
|
209
|
-
|
|
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
|
-
|
|
1111
|
+
# Now npx will be fast on subsequent runs
|
|
1112
|
+
```
|
|
212
1113
|
|
|
213
|
-
**
|
|
1114
|
+
**Solution 3 - Use Direct Node Path:**
|
|
214
1115
|
|
|
215
|
-
|
|
216
|
-
|
|
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": "
|
|
223
|
-
"args": ["-
|
|
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
|
-
|
|
230
|
-
|
|
231
|
-
**File:** `settings.json`
|
|
1139
|
+
**Issue: "exec: npx: executable file not found"**
|
|
232
1140
|
|
|
233
|
-
|
|
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
|
-
|
|
236
|
-
|
|
1147
|
+
# Mac
|
|
1148
|
+
brew install node
|
|
237
1149
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
-
**
|
|
1155
|
+
**Issue: "failed to initialize MCP client: context deadline exceeded"**
|
|
253
1156
|
|
|
254
|
-
|
|
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
|
-
|
|
1162
|
+
**Issue: Server fails to connect**
|
|
257
1163
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
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
|
-
###
|
|
1558
|
+
### Common Issues & Solutions
|
|
1559
|
+
|
|
1560
|
+
#### 1. Brave Browser Not Found
|
|
624
1561
|
|
|
625
|
-
**
|
|
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
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
638
|
-
|
|
639
|
-
3.
|
|
1635
|
+
---
|
|
1636
|
+
|
|
1637
|
+
#### 3. Port Already in Use (HTTP Mode)
|
|
640
1638
|
|
|
641
|
-
|
|
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
|
-
|
|
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
|
-
|
|
651
|
-
|
|
652
|
-
|
|
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
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
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 |
|
|
2017
|
+
**🌟 111 Tools | 15+ AI IDEs | 5 Protocols | Universal Support 🌟**
|
|
698
2018
|
|
|
699
2019
|
**Made with ❤️ for the AI Development Community**
|
|
700
2020
|
|