brave-real-browser-mcp-server 2.14.8 → 2.14.9
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/handlers/ai-powered-handlers.js +0 -197
- 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 +0 -220
- package/dist/handlers/dynamic-session-handlers.js +0 -204
- package/dist/handlers/multi-element-handlers.js +0 -55
- package/dist/handlers/pagination-handlers.js +0 -191
- package/dist/index.js +8 -59
- package/dist/mcp-server.js +2 -8
- package/dist/tool-definitions.js +0 -216
- 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',
|
|
@@ -1381,7 +1180,6 @@ export const TOOL_NAMES = {
|
|
|
1381
1180
|
FIND_SELECTOR: 'find_selector',
|
|
1382
1181
|
SAVE_CONTENT_AS_MARKDOWN: 'save_content_as_markdown',
|
|
1383
1182
|
// Smart Data Extractors
|
|
1384
|
-
SCRAPE_TABLE: 'scrape_table',
|
|
1385
1183
|
EXTRACT_LIST: 'extract_list',
|
|
1386
1184
|
EXTRACT_JSON: 'extract_json',
|
|
1387
1185
|
SCRAPE_META_TAGS: 'scrape_meta_tags',
|
|
@@ -1391,29 +1189,17 @@ export const TOOL_NAMES = {
|
|
|
1391
1189
|
NESTED_DATA_EXTRACTION: 'nested_data_extraction',
|
|
1392
1190
|
ATTRIBUTE_HARVESTER: 'attribute_harvester',
|
|
1393
1191
|
// Content Type Specific
|
|
1394
|
-
IMAGE_SCRAPER: 'image_scraper',
|
|
1395
1192
|
LINK_HARVESTER: 'link_harvester',
|
|
1396
1193
|
MEDIA_EXTRACTOR: 'media_extractor',
|
|
1397
1194
|
// Pagination Tools
|
|
1398
|
-
AUTO_PAGINATION: 'auto_pagination',
|
|
1399
|
-
INFINITE_SCROLL: 'infinite_scroll',
|
|
1400
1195
|
MULTI_PAGE_SCRAPER: 'multi_page_scraper',
|
|
1401
|
-
SITEMAP_PARSER: 'sitemap_parser',
|
|
1402
1196
|
BREADCRUMB_NAVIGATOR: 'breadcrumb_navigator',
|
|
1403
1197
|
// Data Processing
|
|
1404
|
-
SMART_TEXT_CLEANER: 'smart_text_cleaner',
|
|
1405
1198
|
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
1199
|
DUPLICATE_REMOVER: 'duplicate_remover',
|
|
1411
1200
|
// AI-Powered Features
|
|
1412
1201
|
SMART_SELECTOR_GENERATOR: 'smart_selector_generator',
|
|
1413
1202
|
CONTENT_CLASSIFICATION: 'content_classification',
|
|
1414
|
-
SENTIMENT_ANALYSIS: 'sentiment_analysis',
|
|
1415
|
-
SUMMARY_GENERATOR: 'summary_generator',
|
|
1416
|
-
TRANSLATION_SUPPORT: 'translation_support',
|
|
1417
1203
|
// Search & Filter Tools
|
|
1418
1204
|
KEYWORD_SEARCH: 'keyword_search',
|
|
1419
1205
|
REGEX_PATTERN_MATCHER: 'regex_pattern_matcher',
|
|
@@ -1422,10 +1208,8 @@ export const TOOL_NAMES = {
|
|
|
1422
1208
|
VISUAL_ELEMENT_FINDER: 'visual_element_finder',
|
|
1423
1209
|
// Data Quality & Validation
|
|
1424
1210
|
DATA_DEDUPLICATION: 'data_deduplication',
|
|
1425
|
-
MISSING_DATA_HANDLER: 'missing_data_handler',
|
|
1426
1211
|
DATA_TYPE_VALIDATOR: 'data_type_validator',
|
|
1427
1212
|
OUTLIER_DETECTION: 'outlier_detection',
|
|
1428
|
-
CONSISTENCY_CHECKER: 'consistency_checker',
|
|
1429
1213
|
// Advanced Captcha Handling
|
|
1430
1214
|
OCR_ENGINE: 'ocr_engine',
|
|
1431
1215
|
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.9",
|
|
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",
|