@browserstack/mcp-server 1.5.0-beta.21 → 1.5.0-beta.22
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 +32 -48
- package/capability/loadtesting.capability-index.json +1876 -0
- package/capability/tm.capability-index.json +50104 -0
- package/dist/config.d.ts +1 -4
- package/dist/config.js +2 -23
- package/dist/index.d.ts +1 -2
- package/dist/index.js +3 -7
- package/dist/lib/constants.d.ts +0 -3
- package/dist/lib/constants.js +0 -3
- package/dist/lib/instrumentation.d.ts +2 -14
- package/dist/lib/instrumentation.js +29 -104
- package/dist/lib/upload-validator.d.ts +2 -3
- package/dist/lib/upload-validator.js +15 -18
- package/dist/lib/utils.js +3 -10
- package/dist/lib/version-resolver.d.ts +5 -0
- package/dist/lib/version-resolver.js +2 -8
- package/dist/logger.js +10 -1
- package/dist/server-factory.js +6 -10
- package/dist/tools/accessibility.js +5 -9
- package/dist/tools/accessiblity-utils/accessibility-rag.js +1 -3
- package/dist/tools/appautomate-utils/native-execution/constants.js +2 -4
- package/dist/tools/appautomate.js +1 -3
- package/dist/tools/applive.js +1 -1
- package/dist/tools/automate.d.ts +0 -7
- package/dist/tools/automate.js +1 -104
- package/dist/tools/bstack-sdk.js +2 -2
- package/dist/tools/build-insights.js +2 -41
- package/dist/tools/capability-registry/bind.d.ts +29 -0
- package/dist/tools/capability-registry/bind.js +329 -0
- package/dist/tools/capability-registry/config.d.ts +62 -0
- package/dist/tools/capability-registry/config.js +218 -0
- package/dist/tools/capability-registry/discovery.d.ts +44 -0
- package/dist/tools/capability-registry/discovery.js +99 -0
- package/dist/tools/capability-registry/egress.d.ts +44 -0
- package/dist/tools/capability-registry/egress.js +174 -0
- package/dist/tools/capability-registry/index-loader.d.ts +133 -0
- package/dist/tools/capability-registry/index-loader.js +404 -0
- package/dist/tools/capability-registry/register.d.ts +48 -0
- package/dist/tools/capability-registry/register.js +604 -0
- package/dist/tools/capability-registry/resolve.d.ts +38 -0
- package/dist/tools/capability-registry/resolve.js +45 -0
- package/dist/tools/capability-registry/search.d.ts +170 -0
- package/dist/tools/capability-registry/search.js +709 -0
- package/dist/tools/capability-registry/types.d.ts +282 -0
- package/dist/tools/capability-registry/types.js +33 -0
- package/dist/tools/failurelogs-utils/app-automate.js +3 -4
- package/dist/tools/failurelogs-utils/automate.js +4 -5
- package/dist/tools/get-failure-logs.js +11 -30
- package/dist/tools/observability.js +1 -3
- package/dist/tools/percy-sdk.js +9 -9
- package/dist/tools/rca-agent-utils/format-rca.js +4 -5
- package/dist/tools/rca-agent-utils/get-failed-test-id.js +0 -12
- package/dist/tools/rca-agent-utils/types.d.ts +0 -1
- package/dist/tools/rca-agent.js +2 -5
- package/dist/tools/review-agent.js +1 -2
- package/dist/tools/sdk-utils/common/constants.d.ts +1 -1
- package/dist/tools/sdk-utils/common/constants.js +1 -2
- package/dist/tools/selfheal.js +3 -6
- package/dist/tools/testmanagement-utils/TCG-utils/api.js +7 -26
- package/dist/tools/testmanagement-utils/TCG-utils/config.d.ts +0 -2
- package/dist/tools/testmanagement-utils/TCG-utils/config.js +0 -5
- package/dist/tools/testmanagement-utils/testcase-from-file.js +1 -2
- package/dist/tools/testmanagement-utils/upload-file.js +2 -16
- package/dist/tools/testmanagement.js +17 -39
- package/package.json +11 -5
- package/dist/lib/node-version-notice.d.ts +0 -1
- package/dist/lib/node-version-notice.js +0 -9
- package/dist/lib/tool-latency.d.ts +0 -4
- package/dist/lib/tool-latency.js +0 -16
- package/dist/lib/untrusted-content.d.ts +0 -15
- package/dist/lib/untrusted-content.js +0 -24
- package/dist/tools/ask-browserstack/central-oauth.d.ts +0 -120
- package/dist/tools/ask-browserstack/central-oauth.js +0 -277
- package/dist/tools/ask-browserstack/config.d.ts +0 -102
- package/dist/tools/ask-browserstack/config.js +0 -140
- package/dist/tools/ask-browserstack/egress.d.ts +0 -34
- package/dist/tools/ask-browserstack/egress.js +0 -31
- package/dist/tools/ask-browserstack/register.d.ts +0 -61
- package/dist/tools/ask-browserstack/register.js +0 -416
- package/dist/tools/ask-browserstack/relay.d.ts +0 -201
- package/dist/tools/ask-browserstack/relay.js +0 -577
- package/dist/tools/ask-browserstack/stream.d.ts +0 -116
- package/dist/tools/ask-browserstack/stream.js +0 -236
- package/dist/tools/ask-browserstack/types.d.ts +0 -196
- package/dist/tools/ask-browserstack/types.js +0 -14
- package/dist/tools/automate-utils/list-session-ids.d.ts +0 -28
- package/dist/tools/automate-utils/list-session-ids.js +0 -87
- package/dist/tools/automate-utils/resolve-hashed-build-id.d.ts +0 -30
- package/dist/tools/automate-utils/resolve-hashed-build-id.js +0 -124
- package/dist/tools/failurelogs-utils/resolve-app-build-id.d.ts +0 -2
- package/dist/tools/failurelogs-utils/resolve-app-build-id.js +0 -5
- package/dist/tools/failurelogs-utils/video.d.ts +0 -3
- package/dist/tools/failurelogs-utils/video.js +0 -25
- package/dist/tools/tool-handoff.d.ts +0 -66
- package/dist/tools/tool-handoff.js +0 -78
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ Click on the buttons below to install MCP in your respective IDE:
|
|
|
43
43
|
|
|
44
44
|
> **Note:** The hosted Remote MCP server (`mcp.browserstack.com`) is now fully stateless over Streamable HTTP — any Streamable-HTTP client (Claude, Cursor, VS Code, ChatGPT) connects with no configuration change.
|
|
45
45
|
|
|
46
|
-
#### Note : Ensure you are using Node version >= `
|
|
46
|
+
#### Note : Ensure you are using Node version >= `18.0`
|
|
47
47
|
- Check your node version using `node --version`. Recommended version: `v22.15.0` (LTS)
|
|
48
48
|
- To Upgrade Node :
|
|
49
49
|
- 1. On macOS `(Homebrew) - brew update && brew upgrade node or if using (nvm) - nvm install 22.15.0 && nvm use 22.15.0 && nvm alias default 22.15.0`
|
|
@@ -158,7 +158,7 @@ Generate test cases from PRDs, convert manual tests to low-code automation, and
|
|
|
158
158
|
## 🛠️ Installation
|
|
159
159
|
|
|
160
160
|
### 📋 Prerequisites for MCP Setup
|
|
161
|
-
#### Note : Ensure you are using Node version >= `
|
|
161
|
+
#### Note : Ensure you are using Node version >= `18.0`
|
|
162
162
|
- Check your node version using `node --version`. Recommended version: `v22.15.0` (LTS)
|
|
163
163
|
|
|
164
164
|
### **One Click MCP Setup**
|
|
@@ -178,7 +178,7 @@ Click on the buttons below to install MCP in your respective IDE:
|
|
|
178
178
|
|
|
179
179
|
- Once you have an account (and purchased appropriate plan), note down your `username` and `access_key` from [Account Settings](https://www.browserstack.com/accounts/profile/details).
|
|
180
180
|
|
|
181
|
-
2. #### Note : Ensure you are using Node version >= `
|
|
181
|
+
2. #### Note : Ensure you are using Node version >= `18.0`
|
|
182
182
|
- Check your node version using `node --version`. Recommended version: `v22.15.0` (LTS)
|
|
183
183
|
|
|
184
184
|
|
|
@@ -292,11 +292,9 @@ Select the “Installed” tab. Click the “Configure MCP Servers” button at
|
|
|
292
292
|
}
|
|
293
293
|
```
|
|
294
294
|
|
|
295
|
-
> **File & app uploads:** tools that upload a local file/app (`uploadProductRequirementFile`, `takeAppScreenshot`, `runAppTestsOnBrowserStack`, `runAppLiveSession`) require the `MCP_UPLOAD_BASE_DIR` env var set to a directory containing those files; uploads are restricted to it.
|
|
296
|
-
|
|
297
295
|
### 💡 List of BrowserStack MCP Tools
|
|
298
296
|
|
|
299
|
-
As of now we support
|
|
297
|
+
As of now we support 44 tools.
|
|
300
298
|
|
|
301
299
|
> **Remote MCP note:** Tools marked _(not available in Remote MCP)_ rely on local file/process state and are disabled in the multi-tenant [Remote MCP Server](#-remote-mcp-server). They are available in the local (npx) setup.
|
|
302
300
|
|
|
@@ -428,25 +426,18 @@ As of now we support 46 tools.
|
|
|
428
426
|
Get screenshots from Automate session ID abc123xyz for my desktop test run
|
|
429
427
|
```
|
|
430
428
|
|
|
431
|
-
18. `listSessions` — List the sessions in an Automate/App Automate build. Each record carries `sessionId`, `name`, `status`, `os`, `osVersion`, `browser`, `device`, `browserUrl` (dashboard link), and `videoUrl`, with optional `limit` / `offset` paging and a client-side `status` filter. Takes either the **hashed** build ID from the dashboard URL or the observability build id returned by `getBuildId` / `listBuildId` — an observability id is resolved to the hashed id automatically via the build's sessions. Returned `sessionId` values work with `getFailureLogs`, `fetchAutomationScreenshots`, and `fetchSelfHealedSelectors`.
|
|
432
|
-
**Prompt example**
|
|
433
|
-
|
|
434
|
-
```text
|
|
435
|
-
List sessions for Automate hashed build ID <hashed build id>
|
|
436
|
-
```
|
|
437
|
-
|
|
438
429
|
---
|
|
439
430
|
|
|
440
431
|
## 🔍 Observability
|
|
441
432
|
|
|
442
|
-
|
|
433
|
+
18. `getFailureLogs` — Retrieve error logs for Automate/App Automate sessions (optionally by Build ID for App Automate).
|
|
443
434
|
**Prompt example**
|
|
444
435
|
|
|
445
436
|
```text
|
|
446
|
-
Get the
|
|
437
|
+
Get the error logs from the session ID: 21a864032a7459f1e7634222249b316759d6827f, Build ID: dt7ung4wmjittzff8kksrjadjax9gzvbscoyf9qn of App Automate test session
|
|
447
438
|
```
|
|
448
439
|
|
|
449
|
-
|
|
440
|
+
19. `fetchBuildInsights` — Fetch insights about a BrowserStack build by combining build details and quality-gate results.
|
|
450
441
|
**Prompt example**
|
|
451
442
|
|
|
452
443
|
```text
|
|
@@ -457,7 +448,7 @@ As of now we support 46 tools.
|
|
|
457
448
|
|
|
458
449
|
## 📱 App Live
|
|
459
450
|
|
|
460
|
-
|
|
451
|
+
20. `runAppLiveSession` — Start a manual app testing session on a real device in the cloud.
|
|
461
452
|
**Prompt example**
|
|
462
453
|
|
|
463
454
|
```text
|
|
@@ -468,7 +459,7 @@ As of now we support 46 tools.
|
|
|
468
459
|
|
|
469
460
|
## 💻 Live
|
|
470
461
|
|
|
471
|
-
|
|
462
|
+
21. `runBrowserLiveSession` — Start a Live session for website testing on desktop or mobile browsers.
|
|
472
463
|
**Prompt example**
|
|
473
464
|
|
|
474
465
|
```text
|
|
@@ -479,21 +470,21 @@ As of now we support 46 tools.
|
|
|
479
470
|
|
|
480
471
|
## 📲 App Automate
|
|
481
472
|
|
|
482
|
-
|
|
473
|
+
22. `takeAppScreenshot` — Launch the app on a specified device and capture a quick verification screenshot to confirm your app has launched.
|
|
483
474
|
**Prompt example**
|
|
484
475
|
|
|
485
476
|
```text
|
|
486
477
|
Take a screenshot of my app on Google Pixel 6 with Android 12 while testing on App Automate. App file path: /Users/xyz/app-debug.apk
|
|
487
478
|
```
|
|
488
479
|
|
|
489
|
-
|
|
480
|
+
23. `runAppTestsOnBrowserStack` — Run pre-built native mobile test suites (Espresso/XCUITest) by direct upload of compiled .apk/.ipa test files.
|
|
490
481
|
**Prompt example**
|
|
491
482
|
|
|
492
483
|
```text
|
|
493
484
|
Run Espresso tests from /tests/checkout.zip on Galaxy S21 and Pixel 6 with Android 12. App path is /apps/beta-release.apk under project 'Checkout Flow'
|
|
494
485
|
```
|
|
495
486
|
|
|
496
|
-
|
|
487
|
+
24. `setupBrowserStackAppAutomateTests` — Set up BrowserStack App Automate SDK integration for Appium-based mobile app testing.
|
|
497
488
|
**Prompt example**
|
|
498
489
|
|
|
499
490
|
```text
|
|
@@ -504,35 +495,35 @@ As of now we support 46 tools.
|
|
|
504
495
|
|
|
505
496
|
## ♿ Accessibility
|
|
506
497
|
|
|
507
|
-
|
|
498
|
+
25. `accessibilityExpert` — Ask the A11y Expert (WCAG 2.0/2.1/2.2, mobile/web usability, best practices).
|
|
508
499
|
**Prompt example**
|
|
509
500
|
|
|
510
501
|
```text
|
|
511
502
|
What WCAG guidelines apply to form field error messages on mobile web?
|
|
512
503
|
```
|
|
513
504
|
|
|
514
|
-
|
|
505
|
+
26. `startAccessibilityScan` — Start a web accessibility scan and retrieve a local CSV report path.
|
|
515
506
|
**Prompt example**
|
|
516
507
|
|
|
517
508
|
```text
|
|
518
509
|
Run accessibility scan for "www.example.com"
|
|
519
510
|
```
|
|
520
511
|
|
|
521
|
-
|
|
512
|
+
27. `createAccessibilityAuthConfig` — Create an authentication configuration (form-based or basic) for accessibility scans behind a login.
|
|
522
513
|
**Prompt example**
|
|
523
514
|
|
|
524
515
|
```text
|
|
525
516
|
Create a basic-auth accessibility config named 'site-login' for https://www.example.com with username testuser and password <password>
|
|
526
517
|
```
|
|
527
518
|
|
|
528
|
-
|
|
519
|
+
28. `getAccessibilityAuthConfig` — Retrieve an existing accessibility authentication configuration by ID.
|
|
529
520
|
**Prompt example**
|
|
530
521
|
|
|
531
522
|
```text
|
|
532
523
|
Get accessibility auth config with ID <config-id>
|
|
533
524
|
```
|
|
534
525
|
|
|
535
|
-
|
|
526
|
+
29. `fetchAccessibilityIssues` — Fetch accessibility issues from a completed scan, with pagination support.
|
|
536
527
|
**Prompt example**
|
|
537
528
|
|
|
538
529
|
```text
|
|
@@ -543,49 +534,49 @@ As of now we support 46 tools.
|
|
|
543
534
|
|
|
544
535
|
## 🎨 Percy Visual Testing
|
|
545
536
|
|
|
546
|
-
|
|
537
|
+
30. `percyVisualTestIntegrationAgent` — Integrate Percy visual testing into a new project and demonstrate visual change detection with a step-by-step simulation.
|
|
547
538
|
**Prompt example**
|
|
548
539
|
|
|
549
540
|
```text
|
|
550
541
|
Integrate Percy for this project
|
|
551
542
|
```
|
|
552
543
|
|
|
553
|
-
|
|
544
|
+
31. `expandPercyVisualTesting` — Set up or expand Percy visual testing coverage for existing projects (Percy Web Standalone and Percy Automate).
|
|
554
545
|
**Prompt example**
|
|
555
546
|
|
|
556
547
|
```text
|
|
557
548
|
Expand Percy coverage for this project
|
|
558
549
|
```
|
|
559
550
|
|
|
560
|
-
|
|
551
|
+
32. `addPercySnapshotCommands` — Add Percy snapshot commands to the specified test files. _(not available in Remote MCP)_
|
|
561
552
|
**Prompt example**
|
|
562
553
|
|
|
563
554
|
```text
|
|
564
555
|
Add Percy snapshot commands to my Cypress test files
|
|
565
556
|
```
|
|
566
557
|
|
|
567
|
-
|
|
558
|
+
33. `listTestFiles` — List all test files for a given set of directories. _(not available in Remote MCP)_
|
|
568
559
|
**Prompt example**
|
|
569
560
|
|
|
570
561
|
```text
|
|
571
562
|
List the test files under my ./tests directory
|
|
572
563
|
```
|
|
573
564
|
|
|
574
|
-
|
|
565
|
+
34. `runPercyScan` — Run a Percy visual test scan. _(not available in Remote MCP)_
|
|
575
566
|
**Prompt example**
|
|
576
567
|
|
|
577
568
|
```text
|
|
578
569
|
Run this Percy build
|
|
579
570
|
```
|
|
580
571
|
|
|
581
|
-
|
|
572
|
+
35. `fetchPercyChanges` — Retrieve and summarize visual changes detected by Percy AI between the latest and previous builds.
|
|
582
573
|
**Prompt example**
|
|
583
574
|
|
|
584
575
|
```text
|
|
585
576
|
Summarize the visual changes Percy detected in my latest build
|
|
586
577
|
```
|
|
587
578
|
|
|
588
|
-
|
|
579
|
+
36. `managePercyBuildApproval` — Approve or reject a Percy build.
|
|
589
580
|
**Prompt example**
|
|
590
581
|
|
|
591
582
|
```text
|
|
@@ -596,68 +587,61 @@ As of now we support 46 tools.
|
|
|
596
587
|
|
|
597
588
|
## 🤖 BrowserStack AI Agents
|
|
598
589
|
|
|
599
|
-
|
|
590
|
+
37. `uploadProductRequirementFile` — Upload a PRD/screenshot/PDF and get a file mapping ID (used with `createTestCasesFromFile`). _(not available in Remote MCP)_
|
|
600
591
|
**Prompt example**
|
|
601
592
|
|
|
602
593
|
```text
|
|
603
594
|
Upload PRD from /Users/xyz/Desktop/login-flow.pdf and use BrowserStack AI to generate test cases
|
|
604
595
|
```
|
|
605
596
|
|
|
606
|
-
|
|
597
|
+
38. `createLCASteps` — Generate Low Code Automation (LCA) steps from a manual test case in Test Management.
|
|
607
598
|
**Prompt example**
|
|
608
599
|
|
|
609
600
|
```text
|
|
610
601
|
Convert the manual test case 'Add to Cart' in the 'Shopping App' project into LCA steps
|
|
611
602
|
```
|
|
612
603
|
|
|
613
|
-
|
|
604
|
+
39. `fetchSelfHealedSelectors` — Retrieve AI self-healed selectors (plus test source) to fix flaky tests caused by DOM changes.
|
|
614
605
|
**Prompt example**
|
|
615
606
|
|
|
616
607
|
```text
|
|
617
608
|
Fetch and fix flaky test selectors in Automate session ID session_9482 using MCP
|
|
618
609
|
```
|
|
619
610
|
|
|
620
|
-
|
|
611
|
+
40. `prepareSelfHealingPlan` — Build a self-healing edit plan that bundles locator pairs with test source for your LLM to apply. Does NOT modify files itself.
|
|
621
612
|
**Prompt example**
|
|
622
613
|
|
|
623
614
|
```text
|
|
624
615
|
Prepare a self-healing plan from the self-healed selectors for my build
|
|
625
616
|
```
|
|
626
617
|
|
|
627
|
-
|
|
618
|
+
41. `fetchRCA` — Fetch AI Root Cause Analysis for your failed Automate/App-Automate tests (by numeric test ID). Suggests fixes only; never auto-applies.
|
|
628
619
|
**Prompt example**
|
|
629
620
|
|
|
630
621
|
```text
|
|
631
622
|
Fetch the root cause analysis for failed test IDs 101 and 102 on BrowserStack
|
|
632
623
|
```
|
|
633
624
|
|
|
634
|
-
|
|
625
|
+
42. `getBuildId` — Get the BrowserStack build ID for a given project and build name, scoped to your builds.
|
|
635
626
|
**Prompt example**
|
|
636
627
|
|
|
637
628
|
```text
|
|
638
629
|
Get the build ID for build 'nightly-regression' in project 'Checkout Flow'
|
|
639
630
|
```
|
|
640
631
|
|
|
641
|
-
|
|
632
|
+
43. `listBuildId` — Get the latest build ID for a project and build name, across all users (no user filter).
|
|
642
633
|
**Prompt example**
|
|
643
634
|
|
|
644
635
|
```text
|
|
645
636
|
Get the latest build ID for build 'nightly-regression' in project 'Checkout Flow'
|
|
646
637
|
```
|
|
647
638
|
|
|
648
|
-
|
|
639
|
+
44. `listTestIds` — List test IDs from a BrowserStack Automate build, filtered by status (passed/failed/pending/skipped).
|
|
649
640
|
**Prompt example**
|
|
650
641
|
|
|
651
642
|
```text
|
|
652
643
|
List the failed test IDs from build UUID <your-build-uuid> on BrowserStack
|
|
653
644
|
```
|
|
654
|
-
46. `askBrowserStackAI` *(Alpha, limited availability)* — Hand a multi-step task to BrowserStack's agent in plain language; it decides which calls to make and returns the answer plus the steps it took. Covers Test Management and Test Reporting & Analytics. Anything that would change data pauses for your confirmation in your own client; deletes are refused outright. Requires the account to be enrolled — otherwise it returns an entitlement error and nothing runs.
|
|
655
|
-
**Prompt example**
|
|
656
|
-
|
|
657
|
-
```text
|
|
658
|
-
Find all payment test cases in project Shopping App and add the 'regression' tag to them
|
|
659
|
-
```
|
|
660
|
-
|
|
661
645
|
|
|
662
646
|
## 🚀 Remote MCP Server
|
|
663
647
|
|