@browserstack/mcp-server 1.5.1 → 2.1.0

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.
Files changed (41) hide show
  1. package/README.md +54 -1
  2. package/capability/tm.capability-index.json +50419 -0
  3. package/dist/config.d.ts +27 -2
  4. package/dist/config.js +19 -6
  5. package/dist/lib/instrumentation.d.ts +14 -1
  6. package/dist/lib/instrumentation.js +8 -1
  7. package/dist/lib/utils.js +8 -0
  8. package/dist/server-factory.js +5 -0
  9. package/dist/tools/ask-browserstack/config.d.ts +0 -14
  10. package/dist/tools/ask-browserstack/config.js +0 -16
  11. package/dist/tools/ask-browserstack/deferred.d.ts +74 -0
  12. package/dist/tools/ask-browserstack/deferred.js +242 -0
  13. package/dist/tools/ask-browserstack/register.d.ts +3 -2
  14. package/dist/tools/ask-browserstack/register.js +219 -72
  15. package/dist/tools/ask-browserstack/relay.js +11 -17
  16. package/dist/tools/ask-browserstack/stream.d.ts +27 -5
  17. package/dist/tools/ask-browserstack/stream.js +25 -14
  18. package/dist/tools/ask-browserstack/types.d.ts +54 -3
  19. package/dist/tools/ask-browserstack/types.js +11 -1
  20. package/dist/tools/automate-utils/fetch-screenshots.js +17 -15
  21. package/dist/tools/capability-registry/bind.d.ts +28 -0
  22. package/dist/tools/capability-registry/bind.js +371 -0
  23. package/dist/tools/capability-registry/config.d.ts +62 -0
  24. package/dist/tools/capability-registry/config.js +218 -0
  25. package/dist/tools/capability-registry/discovery.d.ts +44 -0
  26. package/dist/tools/capability-registry/discovery.js +99 -0
  27. package/dist/tools/capability-registry/egress.d.ts +44 -0
  28. package/dist/tools/capability-registry/egress.js +174 -0
  29. package/dist/tools/capability-registry/index-loader.d.ts +162 -0
  30. package/dist/tools/capability-registry/index-loader.js +523 -0
  31. package/dist/tools/capability-registry/redact.d.ts +34 -0
  32. package/dist/tools/capability-registry/redact.js +98 -0
  33. package/dist/tools/capability-registry/register.d.ts +48 -0
  34. package/dist/tools/capability-registry/register.js +708 -0
  35. package/dist/tools/capability-registry/resolve.d.ts +38 -0
  36. package/dist/tools/capability-registry/resolve.js +83 -0
  37. package/dist/tools/capability-registry/search.d.ts +170 -0
  38. package/dist/tools/capability-registry/search.js +709 -0
  39. package/dist/tools/capability-registry/types.d.ts +302 -0
  40. package/dist/tools/capability-registry/types.js +33 -0
  41. package/package.json +9 -3
package/README.md CHANGED
@@ -296,7 +296,7 @@ Select the “Installed” tab. Click the “Configure MCP Servers” button at
296
296
 
297
297
  ### 💡 List of BrowserStack MCP Tools
298
298
 
299
- As of now we support 46 tools.
299
+ As of now we support 51 tools.
300
300
 
301
301
  > **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
302
 
@@ -659,6 +659,59 @@ As of now we support 46 tools.
659
659
  ```
660
660
 
661
661
 
662
+ ---
663
+
664
+ ## 🧭 Capability Registry (Test Management)
665
+
666
+ Five generic tools that reach **198 Test Management endpoints** from a prebuilt index, instead of one hand-written tool per endpoint. Use them when the task needs something the named tools above do not cover — shared steps, templates, custom fields, exploratory sessions, review workflows, bulk edits, reports and so on.
667
+
668
+ The flow is always the same: **find it, read its contract, then call it.**
669
+
670
+ ```text
671
+ searchCapability → describeCapability → invokeCapability
672
+ ```
673
+
674
+ Two things worth knowing before you start:
675
+
676
+ - **`searchCapability` needs a product.** Call `listProducts` first if the task does not name one — asking is cheaper than guessing, and the tool will refuse a query that two products could both answer.
677
+ - **Writes ask first.** Anything that changes data needs your confirmation, and deletes are not reachable at all: they are withheld from this surface rather than refused after the fact, so they never appear in search results.
678
+
679
+ 47. `listProducts` — List the products this surface can reach, what each one does, and what every entity in it means. **Start here** when you do not already know which product the task belongs to.
680
+ **Prompt example**
681
+
682
+ ```text
683
+ What can you reach in BrowserStack Test Management?
684
+ ```
685
+
686
+ 48. `describeEntity` — Describe one entity: what it is, what identifies it, what it relates to, and the vocabulary the product uses for it. Read this before filtering or writing, because ids and field values usually have to be resolved first.
687
+ **Prompt example**
688
+
689
+ ```text
690
+ What is a shared step in Test Management, and how is it identified?
691
+ ```
692
+
693
+ 49. `searchCapability` — Find endpoints by plain language within one product. Returns a shortlist, not the whole catalogue. Pass `query: "*"` to browse everything, with `offset` to page through it.
694
+ **Prompt example**
695
+
696
+ ```text
697
+ Find a way to move test cases between folders in bulk in project PR-53617
698
+ ```
699
+
700
+ 50. `describeCapability` — The full contract for one capability: required parameters, body shape including any nesting, what the response actually returns, and the traps specific to that endpoint. Read this before invoking anything you have not called before.
701
+ **Prompt example**
702
+
703
+ ```text
704
+ Show me exactly what I need to send to create a shared step
705
+ ```
706
+
707
+ 51. `invokeCapability` — Call the endpoint. Writes require explicit confirmation and a summary of what will change; destructive operations are not available through this surface.
708
+ **Prompt example**
709
+
710
+ ```text
711
+ Add the 'regression' tag to every test case in the Checkout folder of PR-53617
712
+ ```
713
+
714
+
662
715
  ## 🚀 Remote MCP Server
663
716
 
664
717
  Remote MCP comes with all the functionalities of an MCP server without the hassles of complex setup or local installation.