brave-real-browser-mcp-server 2.14.8 → 2.14.10
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 +1 -1
- package/dist/handlers/advanced-scraping-handlers.js +58 -0
- package/dist/handlers/advanced-video-media-handlers.js +134 -1246
- package/dist/handlers/ai-powered-handlers.js +83 -184
- package/dist/handlers/data-extraction-handlers.js +0 -98
- package/dist/handlers/data-processing-handlers.js +0 -173
- package/dist/handlers/data-quality-handlers.js +39 -185
- package/dist/handlers/data-transform-handlers.js +66 -0
- package/dist/handlers/dom-handlers.js +206 -0
- package/dist/handlers/dynamic-session-handlers.js +0 -204
- package/dist/handlers/multi-element-handlers.js +0 -55
- package/dist/handlers/network-handlers.js +111 -0
- package/dist/handlers/pagination-handlers.js +0 -191
- package/dist/handlers/search-filter-handlers.js +15 -71
- package/dist/index.js +8 -59
- package/dist/mcp-server.js +135 -8
- package/dist/tool-definitions.js +113 -214
- package/package.json +2 -11
package/dist/tool-definitions.js
CHANGED
|
@@ -331,19 +331,6 @@ export const TOOLS = [
|
|
|
331
331
|
},
|
|
332
332
|
},
|
|
333
333
|
// Smart Data Extractors
|
|
334
|
-
{
|
|
335
|
-
name: 'scrape_table',
|
|
336
|
-
description: 'HTML tables से structured data extract करता है',
|
|
337
|
-
inputSchema: {
|
|
338
|
-
type: 'object',
|
|
339
|
-
properties: {
|
|
340
|
-
selector: { type: 'string', description: 'Table selector', default: 'table' },
|
|
341
|
-
includeHeaders: { type: 'boolean', default: true },
|
|
342
|
-
cleanData: { type: 'boolean', default: true },
|
|
343
|
-
maxRows: { type: 'number', default: 1000 },
|
|
344
|
-
},
|
|
345
|
-
},
|
|
346
|
-
},
|
|
347
334
|
{
|
|
348
335
|
name: 'extract_list',
|
|
349
336
|
description: 'Bullet lists और numbered lists से data extract करता है',
|
|
@@ -433,18 +420,6 @@ export const TOOLS = [
|
|
|
433
420
|
},
|
|
434
421
|
},
|
|
435
422
|
// Content Type Specific Extractors
|
|
436
|
-
{
|
|
437
|
-
name: 'image_scraper',
|
|
438
|
-
description: 'सभी images URLs, alt text, dimensions के साथ extract करता है',
|
|
439
|
-
inputSchema: {
|
|
440
|
-
type: 'object',
|
|
441
|
-
properties: {
|
|
442
|
-
selector: { type: 'string', default: 'img' },
|
|
443
|
-
includeDataUrls: { type: 'boolean', default: false },
|
|
444
|
-
includeDimensions: { type: 'boolean', default: true },
|
|
445
|
-
},
|
|
446
|
-
},
|
|
447
|
-
},
|
|
448
423
|
{
|
|
449
424
|
name: 'link_harvester',
|
|
450
425
|
description: 'Internal/external links classification के साथ collect करता है',
|
|
@@ -469,31 +444,6 @@ export const TOOLS = [
|
|
|
469
444
|
},
|
|
470
445
|
},
|
|
471
446
|
// Pagination Tools
|
|
472
|
-
{
|
|
473
|
-
name: 'auto_pagination',
|
|
474
|
-
description: 'Next button automatically detect करके pages scrape करता है',
|
|
475
|
-
inputSchema: {
|
|
476
|
-
type: 'object',
|
|
477
|
-
properties: {
|
|
478
|
-
nextButtonSelector: { type: 'string' },
|
|
479
|
-
maxPages: { type: 'number', default: 10 },
|
|
480
|
-
dataSelector: { type: 'string' },
|
|
481
|
-
waitBetweenPages: { type: 'number', default: 1000 },
|
|
482
|
-
},
|
|
483
|
-
},
|
|
484
|
-
},
|
|
485
|
-
{
|
|
486
|
-
name: 'infinite_scroll',
|
|
487
|
-
description: 'Lazy-loading pages के लिए auto-scroll करता है',
|
|
488
|
-
inputSchema: {
|
|
489
|
-
type: 'object',
|
|
490
|
-
properties: {
|
|
491
|
-
maxScrolls: { type: 'number', default: 10 },
|
|
492
|
-
scrollDelay: { type: 'number', default: 1000 },
|
|
493
|
-
dataSelector: { type: 'string' },
|
|
494
|
-
},
|
|
495
|
-
},
|
|
496
|
-
},
|
|
497
447
|
{
|
|
498
448
|
name: 'multi_page_scraper',
|
|
499
449
|
description: 'Multiple pages से data collect और merge करता है',
|
|
@@ -507,18 +457,6 @@ export const TOOLS = [
|
|
|
507
457
|
required: ['urls', 'dataSelector'],
|
|
508
458
|
},
|
|
509
459
|
},
|
|
510
|
-
{
|
|
511
|
-
name: 'sitemap_parser',
|
|
512
|
-
description: 'sitemap.xml से URLs automatically extract करता है',
|
|
513
|
-
inputSchema: {
|
|
514
|
-
type: 'object',
|
|
515
|
-
properties: {
|
|
516
|
-
sitemapUrl: { type: 'string' },
|
|
517
|
-
maxUrls: { type: 'number', default: 100 },
|
|
518
|
-
filterPattern: { type: 'string' },
|
|
519
|
-
},
|
|
520
|
-
},
|
|
521
|
-
},
|
|
522
460
|
{
|
|
523
461
|
name: 'breadcrumb_navigator',
|
|
524
462
|
description: 'Site structure follow करके navigation path extract करता है',
|
|
@@ -531,21 +469,6 @@ export const TOOLS = [
|
|
|
531
469
|
},
|
|
532
470
|
},
|
|
533
471
|
// Data Processing Tools
|
|
534
|
-
{
|
|
535
|
-
name: 'smart_text_cleaner',
|
|
536
|
-
description: 'Text cleaning - whitespace, special characters remove करता है',
|
|
537
|
-
inputSchema: {
|
|
538
|
-
type: 'object',
|
|
539
|
-
properties: {
|
|
540
|
-
text: { type: 'string' },
|
|
541
|
-
removeExtraWhitespace: { type: 'boolean', default: true },
|
|
542
|
-
removeSpecialChars: { type: 'boolean', default: false },
|
|
543
|
-
toLowerCase: { type: 'boolean', default: false },
|
|
544
|
-
trim: { type: 'boolean', default: true },
|
|
545
|
-
},
|
|
546
|
-
required: ['text'],
|
|
547
|
-
},
|
|
548
|
-
},
|
|
549
472
|
{
|
|
550
473
|
name: 'html_to_text',
|
|
551
474
|
description: 'HTML को clean text में convert करता है',
|
|
@@ -559,44 +482,7 @@ export const TOOLS = [
|
|
|
559
482
|
required: ['html'],
|
|
560
483
|
},
|
|
561
484
|
},
|
|
562
|
-
{
|
|
563
|
-
name: 'contact_extractor',
|
|
564
|
-
description: 'Phone numbers और email addresses automatically detect करता है',
|
|
565
|
-
inputSchema: {
|
|
566
|
-
type: 'object',
|
|
567
|
-
properties: {
|
|
568
|
-
text: { type: 'string' },
|
|
569
|
-
types: { type: 'array', items: { type: 'string', enum: ['phone', 'email'] } },
|
|
570
|
-
defaultCountry: { type: 'string', default: 'US' },
|
|
571
|
-
},
|
|
572
|
-
required: ['text'],
|
|
573
|
-
},
|
|
574
|
-
},
|
|
575
485
|
// Data Validation Tools
|
|
576
|
-
{
|
|
577
|
-
name: 'schema_validator',
|
|
578
|
-
description: 'JSON schema के against data validate करता है',
|
|
579
|
-
inputSchema: {
|
|
580
|
-
type: 'object',
|
|
581
|
-
properties: {
|
|
582
|
-
data: { type: 'object' },
|
|
583
|
-
schema: { type: 'object' },
|
|
584
|
-
},
|
|
585
|
-
required: ['data', 'schema'],
|
|
586
|
-
},
|
|
587
|
-
},
|
|
588
|
-
{
|
|
589
|
-
name: 'required_fields_checker',
|
|
590
|
-
description: 'Missing required fields check करता है',
|
|
591
|
-
inputSchema: {
|
|
592
|
-
type: 'object',
|
|
593
|
-
properties: {
|
|
594
|
-
data: { type: 'object' },
|
|
595
|
-
requiredFields: { type: 'array', items: { type: 'string' } },
|
|
596
|
-
},
|
|
597
|
-
required: ['data', 'requiredFields'],
|
|
598
|
-
},
|
|
599
|
-
},
|
|
600
486
|
{
|
|
601
487
|
name: 'duplicate_remover',
|
|
602
488
|
description: 'Array से duplicate items remove करता है',
|
|
@@ -634,43 +520,6 @@ export const TOOLS = [
|
|
|
634
520
|
},
|
|
635
521
|
},
|
|
636
522
|
},
|
|
637
|
-
{
|
|
638
|
-
name: 'sentiment_analysis',
|
|
639
|
-
description: 'Analyze sentiment of page content or text',
|
|
640
|
-
inputSchema: {
|
|
641
|
-
type: 'object',
|
|
642
|
-
properties: {
|
|
643
|
-
url: { type: 'string' },
|
|
644
|
-
selector: { type: 'string' },
|
|
645
|
-
text: { type: 'string' },
|
|
646
|
-
},
|
|
647
|
-
},
|
|
648
|
-
},
|
|
649
|
-
{
|
|
650
|
-
name: 'summary_generator',
|
|
651
|
-
description: 'Generate summary of page content using TF-IDF',
|
|
652
|
-
inputSchema: {
|
|
653
|
-
type: 'object',
|
|
654
|
-
properties: {
|
|
655
|
-
url: { type: 'string' },
|
|
656
|
-
maxSentences: { type: 'number', default: 5 },
|
|
657
|
-
selector: { type: 'string' },
|
|
658
|
-
},
|
|
659
|
-
},
|
|
660
|
-
},
|
|
661
|
-
{
|
|
662
|
-
name: 'translation_support',
|
|
663
|
-
description: 'Detect language and provide translation info',
|
|
664
|
-
inputSchema: {
|
|
665
|
-
type: 'object',
|
|
666
|
-
properties: {
|
|
667
|
-
url: { type: 'string' },
|
|
668
|
-
selector: { type: 'string' },
|
|
669
|
-
text: { type: 'string' },
|
|
670
|
-
targetLanguage: { type: 'string', default: 'en' },
|
|
671
|
-
},
|
|
672
|
-
},
|
|
673
|
-
},
|
|
674
523
|
// Search & Filter Tools (5 tools)
|
|
675
524
|
{
|
|
676
525
|
name: 'keyword_search',
|
|
@@ -758,19 +607,6 @@ export const TOOLS = [
|
|
|
758
607
|
required: ['data'],
|
|
759
608
|
},
|
|
760
609
|
},
|
|
761
|
-
{
|
|
762
|
-
name: 'missing_data_handler',
|
|
763
|
-
description: 'Detect and handle missing data',
|
|
764
|
-
inputSchema: {
|
|
765
|
-
type: 'object',
|
|
766
|
-
properties: {
|
|
767
|
-
data: { type: 'array' },
|
|
768
|
-
requiredFields: { type: 'array', items: { type: 'string' } },
|
|
769
|
-
strategy: { type: 'string', enum: ['report', 'remove', 'fill', 'flag'], default: 'report' },
|
|
770
|
-
},
|
|
771
|
-
required: ['data'],
|
|
772
|
-
},
|
|
773
|
-
},
|
|
774
610
|
{
|
|
775
611
|
name: 'data_type_validator',
|
|
776
612
|
description: 'Validate data types against JSON schema',
|
|
@@ -1106,17 +942,6 @@ export const TOOLS = [
|
|
|
1106
942
|
},
|
|
1107
943
|
},
|
|
1108
944
|
},
|
|
1109
|
-
{
|
|
1110
|
-
name: 'session_persistence',
|
|
1111
|
-
description: 'Save and restore browser session',
|
|
1112
|
-
inputSchema: {
|
|
1113
|
-
type: 'object',
|
|
1114
|
-
properties: {
|
|
1115
|
-
action: { type: 'string', enum: ['save', 'restore'], default: 'save' },
|
|
1116
|
-
sessionData: { type: 'object' },
|
|
1117
|
-
},
|
|
1118
|
-
},
|
|
1119
|
-
},
|
|
1120
945
|
{
|
|
1121
946
|
name: 'form_auto_fill',
|
|
1122
947
|
description: 'Automatically fill form fields',
|
|
@@ -1141,32 +966,6 @@ export const TOOLS = [
|
|
|
1141
966
|
},
|
|
1142
967
|
},
|
|
1143
968
|
},
|
|
1144
|
-
{
|
|
1145
|
-
name: 'modal_popup_handler',
|
|
1146
|
-
description: 'Handle modal popups (detect, close)',
|
|
1147
|
-
inputSchema: {
|
|
1148
|
-
type: 'object',
|
|
1149
|
-
properties: {
|
|
1150
|
-
action: { type: 'string', enum: ['detect', 'close'], default: 'detect' },
|
|
1151
|
-
closeSelector: { type: 'string' },
|
|
1152
|
-
},
|
|
1153
|
-
},
|
|
1154
|
-
},
|
|
1155
|
-
{
|
|
1156
|
-
name: 'login_session_manager',
|
|
1157
|
-
description: 'Manage login sessions',
|
|
1158
|
-
inputSchema: {
|
|
1159
|
-
type: 'object',
|
|
1160
|
-
properties: {
|
|
1161
|
-
action: { type: 'string', enum: ['check', 'login', 'logout'], default: 'check' },
|
|
1162
|
-
username: { type: 'string' },
|
|
1163
|
-
password: { type: 'string' },
|
|
1164
|
-
usernameSelector: { type: 'string' },
|
|
1165
|
-
passwordSelector: { type: 'string' },
|
|
1166
|
-
submitSelector: { type: 'string' },
|
|
1167
|
-
},
|
|
1168
|
-
},
|
|
1169
|
-
},
|
|
1170
969
|
// Monitoring & Reporting
|
|
1171
970
|
{
|
|
1172
971
|
name: 'progress_tracker',
|
|
@@ -1362,9 +1161,102 @@ export const TOOLS = [
|
|
|
1362
1161
|
description: 'Detect ad-protection mechanisms including ad-block detection, anti-debugger code, popup layers, and hidden elements.',
|
|
1363
1162
|
inputSchema: {
|
|
1364
1163
|
type: 'object',
|
|
1365
|
-
properties: {
|
|
1164
|
+
properties: {
|
|
1165
|
+
url: { type: 'string', description: 'URL of the page to analyze (optional)' },
|
|
1166
|
+
selector: { type: 'string', description: 'CSS selector for content to analyze (optional)' },
|
|
1167
|
+
text: { type: 'string', description: 'Direct text to analyze (optional)' },
|
|
1168
|
+
criteria: { type: 'object', description: 'Visual criteria (visible, color, size, etc.)' },
|
|
1169
|
+
},
|
|
1366
1170
|
},
|
|
1367
1171
|
},
|
|
1172
|
+
{
|
|
1173
|
+
name: 'sentiment_analysis',
|
|
1174
|
+
description: 'Analyze the sentiment of text or page content',
|
|
1175
|
+
inputSchema: {
|
|
1176
|
+
type: 'object',
|
|
1177
|
+
properties: {
|
|
1178
|
+
text: { type: 'string', description: 'Text to analyze' },
|
|
1179
|
+
url: { type: 'string', description: 'URL to analyze' },
|
|
1180
|
+
selector: { type: 'string', description: 'Selector to extract text from' }
|
|
1181
|
+
}
|
|
1182
|
+
}
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
name: 'summary_generator',
|
|
1186
|
+
description: 'Generate a summary of text or page content',
|
|
1187
|
+
inputSchema: {
|
|
1188
|
+
type: 'object',
|
|
1189
|
+
properties: {
|
|
1190
|
+
text: { type: 'string', description: 'Text to summarize' },
|
|
1191
|
+
url: { type: 'string', description: 'URL to summarize' },
|
|
1192
|
+
selector: { type: 'string', description: 'Selector to extract text from' },
|
|
1193
|
+
maxLength: { type: 'number', description: 'Maximum length of summary' }
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
},
|
|
1197
|
+
{
|
|
1198
|
+
name: 'translation_support',
|
|
1199
|
+
description: 'Detect language and translate text',
|
|
1200
|
+
inputSchema: {
|
|
1201
|
+
type: 'object',
|
|
1202
|
+
properties: {
|
|
1203
|
+
text: { type: 'string', description: 'Text to translate' },
|
|
1204
|
+
url: { type: 'string', description: 'URL to translate content from' },
|
|
1205
|
+
targetLanguage: { type: 'string', description: 'Target language code (e.g. "es", "fr")' }
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
},
|
|
1209
|
+
// Phase 3: Media & Video Tools
|
|
1210
|
+
{
|
|
1211
|
+
name: 'video_source_extractor',
|
|
1212
|
+
description: 'Extract raw video sources from video tags and sources',
|
|
1213
|
+
inputSchema: {
|
|
1214
|
+
type: 'object',
|
|
1215
|
+
properties: {
|
|
1216
|
+
url: { type: 'string' }
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
},
|
|
1220
|
+
{
|
|
1221
|
+
name: 'video_player_finder',
|
|
1222
|
+
description: 'Identify video players (JWPlayer, VideoJS, etc) and extract config',
|
|
1223
|
+
inputSchema: {
|
|
1224
|
+
type: 'object',
|
|
1225
|
+
properties: {
|
|
1226
|
+
url: { type: 'string' }
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
},
|
|
1230
|
+
{
|
|
1231
|
+
name: 'stream_detector',
|
|
1232
|
+
description: 'Detects HLS (m3u8) and DASH (mpd) streams from network traffic',
|
|
1233
|
+
inputSchema: {
|
|
1234
|
+
type: 'object',
|
|
1235
|
+
properties: {
|
|
1236
|
+
duration: { type: 'number', description: 'Monitoring duration in ms' }
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
name: 'redirect_tracer',
|
|
1242
|
+
description: 'Trace URL redirects to find final destination',
|
|
1243
|
+
inputSchema: {
|
|
1244
|
+
type: 'object',
|
|
1245
|
+
properties: {
|
|
1246
|
+
url: { type: 'string' }
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
},
|
|
1250
|
+
{
|
|
1251
|
+
name: 'video_download_link_finder',
|
|
1252
|
+
description: 'Find direct download links for video files',
|
|
1253
|
+
inputSchema: {
|
|
1254
|
+
type: 'object',
|
|
1255
|
+
properties: {
|
|
1256
|
+
extensions: { type: 'array', items: { type: 'string' } }
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1368
1260
|
];
|
|
1369
1261
|
// Tool name constants for type safety
|
|
1370
1262
|
export const TOOL_NAMES = {
|
|
@@ -1381,7 +1273,6 @@ export const TOOL_NAMES = {
|
|
|
1381
1273
|
FIND_SELECTOR: 'find_selector',
|
|
1382
1274
|
SAVE_CONTENT_AS_MARKDOWN: 'save_content_as_markdown',
|
|
1383
1275
|
// Smart Data Extractors
|
|
1384
|
-
SCRAPE_TABLE: 'scrape_table',
|
|
1385
1276
|
EXTRACT_LIST: 'extract_list',
|
|
1386
1277
|
EXTRACT_JSON: 'extract_json',
|
|
1387
1278
|
SCRAPE_META_TAGS: 'scrape_meta_tags',
|
|
@@ -1391,22 +1282,26 @@ export const TOOL_NAMES = {
|
|
|
1391
1282
|
NESTED_DATA_EXTRACTION: 'nested_data_extraction',
|
|
1392
1283
|
ATTRIBUTE_HARVESTER: 'attribute_harvester',
|
|
1393
1284
|
// Content Type Specific
|
|
1394
|
-
IMAGE_SCRAPER: 'image_scraper',
|
|
1395
1285
|
LINK_HARVESTER: 'link_harvester',
|
|
1396
1286
|
MEDIA_EXTRACTOR: 'media_extractor',
|
|
1287
|
+
// DOM & HTML Extraction (Phase 1)
|
|
1288
|
+
HTML_ELEMENTS_EXTRACTOR: 'html_elements_extractor',
|
|
1289
|
+
TAGS_FINDER: 'tags_finder',
|
|
1290
|
+
LINKS_FINDER: 'links_finder',
|
|
1291
|
+
XPATH_LINKS: 'xpath_links',
|
|
1292
|
+
SHADOW_DOM_EXTRACTOR: 'shadow_dom_extractor',
|
|
1293
|
+
IFRAME_EXTRACTOR: 'iframe_extractor',
|
|
1294
|
+
EMBED_PAGE_EXTRACTOR: 'embed_page_extractor',
|
|
1295
|
+
// Network Tools (Phase 1)
|
|
1296
|
+
AJAX_EXTRACTOR: 'ajax_extractor',
|
|
1297
|
+
FETCH_XHR: 'fetch_xhr',
|
|
1298
|
+
NETWORK_RECORDER: 'network_recorder',
|
|
1299
|
+
API_FINDER: 'api_finder',
|
|
1397
1300
|
// Pagination Tools
|
|
1398
|
-
AUTO_PAGINATION: 'auto_pagination',
|
|
1399
|
-
INFINITE_SCROLL: 'infinite_scroll',
|
|
1400
1301
|
MULTI_PAGE_SCRAPER: 'multi_page_scraper',
|
|
1401
|
-
SITEMAP_PARSER: 'sitemap_parser',
|
|
1402
1302
|
BREADCRUMB_NAVIGATOR: 'breadcrumb_navigator',
|
|
1403
1303
|
// Data Processing
|
|
1404
|
-
SMART_TEXT_CLEANER: 'smart_text_cleaner',
|
|
1405
1304
|
HTML_TO_TEXT: 'html_to_text',
|
|
1406
|
-
CONTACT_EXTRACTOR: 'contact_extractor',
|
|
1407
|
-
// Data Validation
|
|
1408
|
-
SCHEMA_VALIDATOR: 'schema_validator',
|
|
1409
|
-
REQUIRED_FIELDS_CHECKER: 'required_fields_checker',
|
|
1410
1305
|
DUPLICATE_REMOVER: 'duplicate_remover',
|
|
1411
1306
|
// AI-Powered Features
|
|
1412
1307
|
SMART_SELECTOR_GENERATOR: 'smart_selector_generator',
|
|
@@ -1414,6 +1309,12 @@ export const TOOL_NAMES = {
|
|
|
1414
1309
|
SENTIMENT_ANALYSIS: 'sentiment_analysis',
|
|
1415
1310
|
SUMMARY_GENERATOR: 'summary_generator',
|
|
1416
1311
|
TRANSLATION_SUPPORT: 'translation_support',
|
|
1312
|
+
// Phase 3: Media & Video
|
|
1313
|
+
VIDEO_SOURCE_EXTRACTOR: 'video_source_extractor',
|
|
1314
|
+
VIDEO_PLAYER_FINDER: 'video_player_finder',
|
|
1315
|
+
STREAM_DETECTOR: 'stream_detector',
|
|
1316
|
+
REDIRECT_TRACER: 'redirect_tracer',
|
|
1317
|
+
VIDEO_DOWNLOAD_LINK_FINDER: 'video_download_link_finder',
|
|
1417
1318
|
// Search & Filter Tools
|
|
1418
1319
|
KEYWORD_SEARCH: 'keyword_search',
|
|
1419
1320
|
REGEX_PATTERN_MATCHER: 'regex_pattern_matcher',
|
|
@@ -1422,10 +1323,8 @@ export const TOOL_NAMES = {
|
|
|
1422
1323
|
VISUAL_ELEMENT_FINDER: 'visual_element_finder',
|
|
1423
1324
|
// Data Quality & Validation
|
|
1424
1325
|
DATA_DEDUPLICATION: 'data_deduplication',
|
|
1425
|
-
MISSING_DATA_HANDLER: 'missing_data_handler',
|
|
1426
1326
|
DATA_TYPE_VALIDATOR: 'data_type_validator',
|
|
1427
1327
|
OUTLIER_DETECTION: 'outlier_detection',
|
|
1428
|
-
CONSISTENCY_CHECKER: 'consistency_checker',
|
|
1429
1328
|
// Advanced Captcha Handling
|
|
1430
1329
|
OCR_ENGINE: 'ocr_engine',
|
|
1431
1330
|
AUDIO_CAPTCHA_SOLVER: 'audio_captcha_solver',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-browser-mcp-server",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.10",
|
|
4
4
|
"description": "Universal AI IDE MCP Server - Auto-detects and supports all AI IDEs (Claude Desktop, Cursor, Windsurf, Cline, Zed, VSCode, Qoder AI, etc.) with Brave browser automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -41,25 +41,16 @@
|
|
|
41
41
|
"brave-real-browser": "^1.5.105",
|
|
42
42
|
"brave-real-launcher": "^1.2.29",
|
|
43
43
|
"brave-real-puppeteer-core": "^24.33.0-patch.1",
|
|
44
|
-
"cheerio": "^1.0.0-rc.12",
|
|
45
|
-
"chrono-node": "^2.7.0",
|
|
46
44
|
"compromise": "^14.13.0",
|
|
47
45
|
"dotenv": "^17.2.3",
|
|
48
|
-
"franc": "^6.2.0",
|
|
49
|
-
"libphonenumber-js": "^1.10.51",
|
|
50
|
-
"natural": "^6.12.0",
|
|
51
46
|
"pixelmatch": "^5.3.0",
|
|
52
47
|
"pngjs": "^7.0.0",
|
|
53
48
|
"puppeteer-screen-recorder": "^3.0.6",
|
|
54
|
-
"sentiment": "^5.0.2",
|
|
55
49
|
"tesseract.js": "^5.0.5",
|
|
56
|
-
"turndown": "^7.2.2"
|
|
57
|
-
"xml2js": "^0.6.2"
|
|
50
|
+
"turndown": "^7.2.2"
|
|
58
51
|
},
|
|
59
52
|
"devDependencies": {
|
|
60
|
-
"@types/cheerio": "^0.22.35",
|
|
61
53
|
"@types/node": "latest",
|
|
62
|
-
"@types/xml2js": "^0.4.14",
|
|
63
54
|
"@vitest/coverage-v8": "^3.2.4",
|
|
64
55
|
"@vitest/ui": "^3.2.4",
|
|
65
56
|
"rimraf": "^6.1.2",
|