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 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, handleMediaExtractor, handleElementScreenshot, handleLinkHarvester, handleBatchElementScraper, handleExtractSchema,
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 TOOL_NAMES.MEDIA_EXTRACTOR:
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
- // Streaming & Media Tools
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.');
@@ -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
@@ -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 TOOL_NAMES.MEDIA_EXTRACTOR:
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 Extraction:');
517
- console.error(' 🎬 media_extractor - Extract video/audio');
518
- console.error(' 📺 m3u8_parser - Parse HLS streams');
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.2",
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.2",
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"