brave-real-browser-mcp-server 2.24.2 → 2.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -12
- package/dist/tool-definitions.js +4 -34
- package/dist/unified-server.js +4 -9
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -57,9 +57,7 @@ import { handleClick, handleType, handleSolveCaptcha, handleRandomScroll } from
|
|
|
57
57
|
import { handleGetContent, handleFindSelector } from './handlers/content-handlers.js';
|
|
58
58
|
import { handleSaveContentAsMarkdown } from './handlers/file-handlers.js';
|
|
59
59
|
// Import advanced tools handlers
|
|
60
|
-
import { handleBreadcrumbNavigator, handleUrlRedirectTracer, handleSearchContent, handleExtractJson, handleScrapeMetaTags, handlePressKey, handleProgressTracker, handleDeepAnalysis, handleNetworkRecorder, handleApiFinder, handleAjaxContentWaiter,
|
|
61
|
-
// Streaming tools
|
|
62
|
-
handleM3u8Parser, handleCookieManager,
|
|
60
|
+
import { handleBreadcrumbNavigator, handleUrlRedirectTracer, handleSearchContent, handleExtractJson, handleScrapeMetaTags, handlePressKey, handleProgressTracker, handleDeepAnalysis, handleNetworkRecorder, handleApiFinder, handleAjaxContentWaiter, handleElementScreenshot, handleLinkHarvester, handleBatchElementScraper, handleExtractSchema, handleCookieManager,
|
|
63
61
|
// Download tools
|
|
64
62
|
handleFileDownloader,
|
|
65
63
|
// Enhanced streaming/download tools
|
|
@@ -220,10 +218,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
220
218
|
if (!page)
|
|
221
219
|
throw new Error('Browser not initialized. Call browser_init first.');
|
|
222
220
|
return { content: [{ type: 'text', text: JSON.stringify(await handleAjaxContentWaiter(page, args || {})) }] };
|
|
223
|
-
case
|
|
224
|
-
if (!page)
|
|
225
|
-
throw new Error('Browser not initialized. Call browser_init first.');
|
|
226
|
-
return { content: [{ type: 'text', text: JSON.stringify(await handleMediaExtractor(page, args || {})) }] };
|
|
221
|
+
// MEDIA_EXTRACTOR case REMOVED - merged into STREAM_EXTRACTOR
|
|
227
222
|
case TOOL_NAMES.ELEMENT_SCREENSHOT:
|
|
228
223
|
if (!page)
|
|
229
224
|
throw new Error('Browser not initialized. Call browser_init first.');
|
|
@@ -240,11 +235,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
240
235
|
if (!page)
|
|
241
236
|
throw new Error('Browser not initialized. Call browser_init first.');
|
|
242
237
|
return { content: [{ type: 'text', text: JSON.stringify(await handleExtractSchema(page, args || {})) }] };
|
|
243
|
-
//
|
|
244
|
-
case TOOL_NAMES.M3U8_PARSER:
|
|
245
|
-
if (!page)
|
|
246
|
-
throw new Error('Browser not initialized. Call browser_init first.');
|
|
247
|
-
return { content: [{ type: 'text', text: JSON.stringify(await handleM3u8Parser(page, args || {})) }] };
|
|
238
|
+
// M3U8_PARSER case REMOVED - merged into STREAM_EXTRACTOR
|
|
248
239
|
case TOOL_NAMES.COOKIE_MANAGER:
|
|
249
240
|
if (!page)
|
|
250
241
|
throw new Error('Browser not initialized. Call browser_init first.');
|
package/dist/tool-definitions.js
CHANGED
|
@@ -485,21 +485,7 @@ export const TOOLS = [
|
|
|
485
485
|
},
|
|
486
486
|
},
|
|
487
487
|
},
|
|
488
|
-
|
|
489
|
-
name: 'media_extractor',
|
|
490
|
-
description: 'Extract media (audio/video) from page with quality options and ad-bypass',
|
|
491
|
-
inputSchema: {
|
|
492
|
-
type: 'object',
|
|
493
|
-
additionalProperties: false,
|
|
494
|
-
properties: {
|
|
495
|
-
mediaType: { type: 'string', enum: ['video', 'audio', 'all'], description: 'Type of media to extract', default: 'all' },
|
|
496
|
-
includeEmbedded: { type: 'boolean', description: 'Include embedded iframes', default: true },
|
|
497
|
-
quality: { type: 'string', description: 'Preferred quality (highest, lowest, 1080p, 720p)' },
|
|
498
|
-
format: { type: 'string', description: 'Preferred format (mp4, webm, m3u8)' },
|
|
499
|
-
bypassAds: { type: 'boolean', description: 'Attempt to bypass video ads', default: false },
|
|
500
|
-
},
|
|
501
|
-
},
|
|
502
|
-
},
|
|
488
|
+
// media_extractor REMOVED - functionality merged into stream_extractor
|
|
503
489
|
{
|
|
504
490
|
name: 'element_screenshot',
|
|
505
491
|
description: 'Capture screenshot of a specific element',
|
|
@@ -554,23 +540,7 @@ export const TOOLS = [
|
|
|
554
540
|
},
|
|
555
541
|
},
|
|
556
542
|
},
|
|
557
|
-
//
|
|
558
|
-
// STREAMING & MEDIA TOOLS (3 new tools)
|
|
559
|
-
// ============================================================
|
|
560
|
-
{
|
|
561
|
-
name: 'm3u8_parser',
|
|
562
|
-
description: 'Parse and extract HLS/m3u8 streaming URLs with quality options',
|
|
563
|
-
inputSchema: {
|
|
564
|
-
type: 'object',
|
|
565
|
-
additionalProperties: false,
|
|
566
|
-
properties: {
|
|
567
|
-
url: { type: 'string', description: 'URL of the page or m3u8 file' },
|
|
568
|
-
extractAll: { type: 'boolean', description: 'Extract all quality variants', default: true },
|
|
569
|
-
preferQuality: { type: 'string', description: 'Preferred quality (1080p, 720p, 480p, best, worst)', default: 'best' },
|
|
570
|
-
includeAudio: { type: 'boolean', description: 'Include audio-only streams', default: true },
|
|
571
|
-
},
|
|
572
|
-
},
|
|
573
|
-
},
|
|
543
|
+
// m3u8_parser REMOVED - functionality merged into stream_extractor
|
|
574
544
|
{
|
|
575
545
|
name: 'cookie_manager',
|
|
576
546
|
description: 'Manage browser cookies for premium accounts and sessions',
|
|
@@ -678,12 +648,12 @@ export const TOOL_NAMES = {
|
|
|
678
648
|
NETWORK_RECORDER: 'network_recorder',
|
|
679
649
|
API_FINDER: 'api_finder',
|
|
680
650
|
AJAX_CONTENT_WAITER: 'ajax_content_waiter',
|
|
681
|
-
MEDIA_EXTRACTOR: 'media_extractor',
|
|
651
|
+
// MEDIA_EXTRACTOR: 'media_extractor', // REMOVED - merged into STREAM_EXTRACTOR
|
|
682
652
|
ELEMENT_SCREENSHOT: 'element_screenshot',
|
|
683
653
|
LINK_HARVESTER: 'link_harvester',
|
|
684
654
|
BATCH_ELEMENT_SCRAPER: 'batch_element_scraper',
|
|
685
655
|
EXTRACT_SCHEMA: 'extract_schema',
|
|
686
|
-
M3U8_PARSER: 'm3u8_parser',
|
|
656
|
+
// M3U8_PARSER: 'm3u8_parser', // REMOVED - merged into STREAM_EXTRACTOR
|
|
687
657
|
COOKIE_MANAGER: 'cookie_manager',
|
|
688
658
|
FILE_DOWNLOADER: 'file_downloader',
|
|
689
659
|
// Enhanced tools
|
package/dist/unified-server.js
CHANGED
|
@@ -132,11 +132,7 @@ mcpServer.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
132
132
|
throw new Error('Browser not initialized');
|
|
133
133
|
result = { content: [{ type: 'text', text: JSON.stringify(await advancedTools.handleSearchContent(page, args)) }] };
|
|
134
134
|
break;
|
|
135
|
-
case
|
|
136
|
-
if (!page)
|
|
137
|
-
throw new Error('Browser not initialized');
|
|
138
|
-
result = { content: [{ type: 'text', text: JSON.stringify(await advancedTools.handleMediaExtractor(page, args || {})) }] };
|
|
139
|
-
break;
|
|
135
|
+
// MEDIA_EXTRACTOR case REMOVED - merged into STREAM_EXTRACTOR
|
|
140
136
|
case TOOL_NAMES.STREAM_EXTRACTOR:
|
|
141
137
|
if (!page)
|
|
142
138
|
throw new Error('Browser not initialized');
|
|
@@ -513,10 +509,9 @@ async function main() {
|
|
|
513
509
|
console.error(' 📜 random_scroll - Natural scrolling');
|
|
514
510
|
console.error(' 🤖 solve_captcha - Solve CAPTCHAs');
|
|
515
511
|
console.error('');
|
|
516
|
-
console.error(' Media
|
|
517
|
-
console.error(' 🎬
|
|
518
|
-
console.error('
|
|
519
|
-
console.error(' 🎥 stream_extractor - Master stream extraction');
|
|
512
|
+
console.error(' Media & Streaming:');
|
|
513
|
+
console.error(' 🎬 stream_extractor - Master: Extract video/audio/m3u8/mp4');
|
|
514
|
+
console.error(' 🖼️ iframe_handler - Handle nested iframes (deep_scrape)');
|
|
520
515
|
console.error('');
|
|
521
516
|
console.error(' Advanced Tools:');
|
|
522
517
|
console.error(' 🔎 search_content - Search patterns in page');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-browser-mcp-server",
|
|
3
|
-
"version": "2.24.
|
|
3
|
+
"version": "2.24.3",
|
|
4
4
|
"description": "🦁 MCP server for Brave Real Browser - NPM Workspaces Monorepo with anti-detection features, SSE streaming, and LSP compatibility",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@modelcontextprotocol/sdk": "latest",
|
|
52
52
|
"@types/turndown": "latest",
|
|
53
|
-
"brave-real-browser": "^2.5.
|
|
53
|
+
"brave-real-browser": "^2.5.3",
|
|
54
54
|
"turndown": "latest",
|
|
55
55
|
"vscode-languageserver": "^9.0.1",
|
|
56
56
|
"vscode-languageserver-textdocument": "^1.0.12"
|