@smartbear/mcp 0.24.0 → 0.25.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 (137) hide show
  1. package/dist/bearq/client.js +12 -13
  2. package/dist/bearq/tool/tasks/chat-with-qa-lead.js +1 -0
  3. package/dist/bearq/tool/tasks/expand-application-model.js +1 -0
  4. package/dist/bearq/tool/tasks/get-task-status.js +1 -0
  5. package/dist/bearq/tool/tasks/get-task.js +1 -0
  6. package/dist/bearq/tool/tasks/refine-all-draft-tests.js +1 -0
  7. package/dist/bearq/tool/tasks/refine-test-cases.js +1 -0
  8. package/dist/bearq/tool/tasks/refine-tests-in-functional-areas.js +1 -0
  9. package/dist/bearq/tool/tasks/run-regression-tests.js +1 -0
  10. package/dist/bearq/tool/tasks/run-test-cases.js +1 -0
  11. package/dist/bearq/tool/tasks/run-tests-in-functional-areas.js +1 -0
  12. package/dist/bearq/tool/tasks/stop-task.js +1 -0
  13. package/dist/bearq/tool/tasks/wait-for-task.js +1 -0
  14. package/dist/bugsnag/client.js +24 -44
  15. package/dist/bugsnag/tool/error/get-error.js +1 -0
  16. package/dist/bugsnag/tool/error/list-project-errors.js +1 -0
  17. package/dist/bugsnag/tool/error/update-error.js +1 -0
  18. package/dist/bugsnag/tool/event/get-event-details-from-dashboard-url.js +1 -0
  19. package/dist/bugsnag/tool/event/get-event.js +1 -0
  20. package/dist/bugsnag/tool/event/list-error-events.js +1 -0
  21. package/dist/bugsnag/tool/performance/get-network-endpoint-groupings.js +1 -0
  22. package/dist/bugsnag/tool/performance/get-span-group.js +1 -0
  23. package/dist/bugsnag/tool/performance/get-trace.js +1 -0
  24. package/dist/bugsnag/tool/performance/list-span-groups.js +1 -0
  25. package/dist/bugsnag/tool/performance/list-spans.js +1 -0
  26. package/dist/bugsnag/tool/performance/list-trace-fields.js +1 -0
  27. package/dist/bugsnag/tool/performance/set-network-endpoint-groupings.js +1 -0
  28. package/dist/bugsnag/tool/project/get-current-project.js +1 -0
  29. package/dist/bugsnag/tool/project/list-project-event-filters.js +1 -0
  30. package/dist/bugsnag/tool/project/list-projects.js +1 -0
  31. package/dist/bugsnag/tool/release/get-build.js +1 -0
  32. package/dist/bugsnag/tool/release/get-release.js +1 -0
  33. package/dist/bugsnag/tool/release/list-releases.js +1 -0
  34. package/dist/collaborator/client.js +24 -19
  35. package/dist/common/client-registry.js +63 -29
  36. package/dist/common/server.js +57 -1
  37. package/dist/common/transport-http.js +90 -69
  38. package/dist/common/transport-stdio.js +29 -24
  39. package/dist/package.json.js +1 -1
  40. package/dist/pactflow/client/tools.js +102 -0
  41. package/dist/pactflow/client.js +30 -43
  42. package/dist/qmetry/client/tools/automation-tools.js +2 -0
  43. package/dist/qmetry/client/tools/issue-tools.js +6 -0
  44. package/dist/qmetry/client/tools/project-tools.js +9 -0
  45. package/dist/qmetry/client/tools/requirement-tools.js +5 -0
  46. package/dist/qmetry/client/tools/testcase-tools.js +7 -0
  47. package/dist/qmetry/client/tools/testsuite-tools.js +11 -0
  48. package/dist/qmetry/client.js +20 -18
  49. package/dist/qtm4j/client.js +42 -32
  50. package/dist/qtm4j/config/constants.js +101 -1
  51. package/dist/qtm4j/config/field-resolution.types.js +3 -1
  52. package/dist/qtm4j/http/api-client.js +20 -2
  53. package/dist/qtm4j/resolver/resolver-registry.js +7 -1
  54. package/dist/qtm4j/resolver/resolvers/requirement-id-resolver.js +28 -0
  55. package/dist/qtm4j/resolver/resolvers/test-cycle-uid-resolver.js +28 -0
  56. package/dist/qtm4j/schema/linked-items.schema.js +95 -0
  57. package/dist/qtm4j/schema/requirements.schema.js +109 -0
  58. package/dist/qtm4j/schema/test-cycle.link.schema.js +260 -0
  59. package/dist/qtm4j/tool/project/get-projects.js +2 -1
  60. package/dist/qtm4j/tool/project/set-project-context.js +2 -1
  61. package/dist/qtm4j/tool/requirement/get-linked-testcases.js +93 -0
  62. package/dist/qtm4j/tool/requirement/link-testcases.js +107 -0
  63. package/dist/qtm4j/tool/requirement/unlink-testcases.js +97 -0
  64. package/dist/qtm4j/tool/test-automation/get-automation-history.js +2 -1
  65. package/dist/qtm4j/tool/test-automation/upload-automation-result.js +2 -1
  66. package/dist/qtm4j/tool/test-case/create-test-case.js +2 -1
  67. package/dist/qtm4j/tool/test-case/get-linked-requirements.js +67 -0
  68. package/dist/qtm4j/tool/test-case/get-test-cases.js +2 -1
  69. package/dist/qtm4j/tool/test-case/get-test-steps.js +2 -1
  70. package/dist/qtm4j/tool/test-case/link-requirements.js +124 -0
  71. package/dist/qtm4j/tool/test-case/unlink-requirements.js +116 -0
  72. package/dist/qtm4j/tool/test-case/update-test-case.js +2 -1
  73. package/dist/qtm4j/tool/test-cycle/create-test-cycle.js +2 -1
  74. package/dist/qtm4j/tool/test-cycle/get-linked-requirements.js +71 -0
  75. package/dist/qtm4j/tool/test-cycle/link-requirements.js +91 -0
  76. package/dist/qtm4j/tool/test-cycle/link-testcases.js +118 -0
  77. package/dist/qtm4j/tool/test-cycle/search-linked-testcases.js +114 -0
  78. package/dist/qtm4j/tool/test-cycle/search-test-cycle.js +2 -1
  79. package/dist/qtm4j/tool/test-cycle/unlink-requirements.js +87 -0
  80. package/dist/qtm4j/tool/test-cycle/unlink-testcases.js +103 -0
  81. package/dist/qtm4j/tool/test-cycle/update-test-cycle.js +2 -1
  82. package/dist/reflect/client.js +15 -24
  83. package/dist/reflect/config/constants.js +0 -2
  84. package/dist/reflect/tool/recording/add-prompt-step.js +1 -0
  85. package/dist/reflect/tool/recording/add-segment.js +1 -0
  86. package/dist/reflect/tool/recording/connect-to-session.js +1 -0
  87. package/dist/reflect/tool/recording/delete-previous-step.js +1 -0
  88. package/dist/reflect/tool/recording/get-screenshot.js +1 -0
  89. package/dist/reflect/tool/suites/cancel-suite-execution.js +1 -0
  90. package/dist/reflect/tool/suites/execute-suite.js +1 -0
  91. package/dist/reflect/tool/suites/get-suite-execution-status.js +1 -0
  92. package/dist/reflect/tool/suites/list-suite-executions.js +1 -0
  93. package/dist/reflect/tool/suites/list-suites.js +1 -0
  94. package/dist/reflect/tool/tests/get-test-status.js +1 -0
  95. package/dist/reflect/tool/tests/list-segments.js +1 -0
  96. package/dist/reflect/tool/tests/list-tests.js +1 -0
  97. package/dist/reflect/tool/tests/run-test.js +1 -0
  98. package/dist/swagger/client/tools.js +23 -0
  99. package/dist/swagger/client.js +25 -28
  100. package/dist/zephyr/client.js +14 -21
  101. package/dist/zephyr/tool/environment/get-environments.js +1 -0
  102. package/dist/zephyr/tool/folder/create-folder.js +1 -0
  103. package/dist/zephyr/tool/issue-link/get-test-cases.js +1 -0
  104. package/dist/zephyr/tool/issue-link/get-test-cycles.js +1 -0
  105. package/dist/zephyr/tool/issue-link/get-test-executions.js +1 -0
  106. package/dist/zephyr/tool/priority/get-priorities.js +1 -0
  107. package/dist/zephyr/tool/project/get-project.js +1 -0
  108. package/dist/zephyr/tool/project/get-projects.js +1 -0
  109. package/dist/zephyr/tool/status/get-statuses.js +1 -0
  110. package/dist/zephyr/tool/test-case/create-issue-link.js +1 -0
  111. package/dist/zephyr/tool/test-case/create-test-case.js +1 -0
  112. package/dist/zephyr/tool/test-case/create-test-script.js +1 -0
  113. package/dist/zephyr/tool/test-case/create-test-steps.js +1 -0
  114. package/dist/zephyr/tool/test-case/create-web-link.js +1 -0
  115. package/dist/zephyr/tool/test-case/get-links.js +1 -0
  116. package/dist/zephyr/tool/test-case/get-test-case.js +1 -0
  117. package/dist/zephyr/tool/test-case/get-test-cases.js +1 -0
  118. package/dist/zephyr/tool/test-case/get-test-script.js +1 -0
  119. package/dist/zephyr/tool/test-case/get-test-steps.js +1 -0
  120. package/dist/zephyr/tool/test-case/update-test-case.js +1 -0
  121. package/dist/zephyr/tool/test-cycle/create-issue-link.js +1 -0
  122. package/dist/zephyr/tool/test-cycle/create-test-cycle.js +1 -0
  123. package/dist/zephyr/tool/test-cycle/create-web-link.js +1 -0
  124. package/dist/zephyr/tool/test-cycle/get-links.js +1 -0
  125. package/dist/zephyr/tool/test-cycle/get-test-cycle.js +1 -0
  126. package/dist/zephyr/tool/test-cycle/get-test-cycles.js +1 -0
  127. package/dist/zephyr/tool/test-cycle/update-test-cycle.js +1 -0
  128. package/dist/zephyr/tool/test-execution/create-issue-link.js +1 -0
  129. package/dist/zephyr/tool/test-execution/create-test-execution.js +1 -0
  130. package/dist/zephyr/tool/test-execution/get-test-execution-links.js +1 -0
  131. package/dist/zephyr/tool/test-execution/get-test-execution.js +1 -0
  132. package/dist/zephyr/tool/test-execution/get-test-executions.js +1 -0
  133. package/dist/zephyr/tool/test-execution/get-test-steps.js +1 -0
  134. package/dist/zephyr/tool/test-execution/update-test-execution.js +1 -0
  135. package/dist/zephyr/tool/test-execution/update-test-steps.js +1 -0
  136. package/package.json +1 -1
  137. package/dist/common/request-context.js +0 -20
@@ -4,6 +4,7 @@ import { CanIDeploySchema, MatrixSchema, GetPacticipantSchema, ListBranchesSchem
4
4
  const TOOLS = [
5
5
  {
6
6
  title: "Generate Pact Tests",
7
+ toolset: "Generate Pact Tests",
7
8
  summary: "Generate Pact tests using PactFlow AI. You can provide one or more of the following input types: (1) request/response pairs for specific interactions, (2) code files to analyze and extract interactions from, and/or (3) OpenAPI document to generate tests for specific endpoints. When providing an OpenAPI document, a matcher is required to specify which endpoints to generate tests for.",
8
9
  purpose: "Generate Pact tests for API interactions",
9
10
  inputSchema: GenerationInputSchema,
@@ -15,6 +16,7 @@ const TOOLS = [
15
16
  },
16
17
  {
17
18
  title: "Review Pact Tests",
19
+ toolset: "Review Pact Tests",
18
20
  summary: "Review Pact tests using PactFlow AI. You can provide the following inputs: (1) Pact tests to be reviewed along with metadata",
19
21
  purpose: "Review Pact tests for API interactions",
20
22
  inputSchema: RefineInputSchema,
@@ -25,6 +27,7 @@ const TOOLS = [
25
27
  },
26
28
  {
27
29
  title: "Get Provider States",
30
+ toolset: "Fetch Provider States",
28
31
  summary: "Retrieve the states of a specific provider",
29
32
  purpose: "A provider state in Pact defines the specific preconditions that must be met on the provider side before a consumer-provider interaction can be tested. It sets up the provider in the right context—such as ensuring a particular user or record exists—so that the provider can return the response the consumer expects. This makes contract tests reliable, repeatable, and isolated by injecting or configuring the necessary data and conditions directly into the provider before each test runs.",
30
33
  inputSchema: z.object({
@@ -35,6 +38,7 @@ const TOOLS = [
35
38
  },
36
39
  {
37
40
  title: "Can I Deploy",
41
+ toolset: "Can I Deploy",
38
42
  summary: "Performs a comprehensive compatibility check to determine whether a specific version of a service (pacticipant) can be safely deployed into a given environment. It analyzes the complete contract matrix of consumer-provider relationships to confirm that all required integrations are verified and compatible.",
39
43
  purpose: "To serve as a deployment safety check within the PactBroker and PactFlow ecosystem, leveraging contract testing results to validate whether a specific service / pacticipant version is compatible with all integrated services. This feature prevents unsafe releases, reduces integration risks, and enables teams to confidently automate deployments across environments with a clear, auditable record of verification results.",
40
44
  inputSchema: CanIDeploySchema,
@@ -43,6 +47,7 @@ const TOOLS = [
43
47
  },
44
48
  {
45
49
  title: "Matrix",
50
+ toolset: "Matrix",
46
51
  summary: "Retrieve the comprehensive contract verification matrix that shows the relationship between consumer and provider versions, their associated pact files, and verification results stored in the Pact Broker or Pactflow. The matrix provides detailed visibility into which consumer and provider versions have been successfully verified against each other, and highlights failures with detailed information about the cause.",
47
52
  purpose: "The Matrix serves as a powerful tool for teams to understand the state of their contract testing ecosystem. It enables tracking of all interactions between consumer and provider versions over time, with detailed insights into verification successes and failures. This helps teams rapidly identify compatibility issues, understand why specific verifications failed, and make informed decisions about deployments. Matrix offers a more intuitive and consolidated view of the verification status, making it easier to spot trends or problematic versions. Additionally, the Matrix supports complex queries using selectors, and can answer specific 'can-i-deploy' questions, ensuring that only compatible versions are deployed to production environments.",
48
53
  useCases: [
@@ -59,6 +64,7 @@ const TOOLS = [
59
64
  },
60
65
  {
61
66
  title: "Check PactFlow AI Entitlements",
67
+ toolset: "PactFlow AI Status",
62
68
  summary: "Check your PactFlow AI entitlements and credit balance if you encounter 401 Unauthorized errors or permission/credit issues when using PactFlow AI features.",
63
69
  purpose: "Retrieve AI entitlement information when PactFlow AI operations fail with 401 unauthorized errors. Use this to diagnose permission issues, check remaining credits, and verify account eligibility for AI features.",
64
70
  useCases: [
@@ -73,6 +79,7 @@ const TOOLS = [
73
79
  },
74
80
  {
75
81
  title: "Get Metrics",
82
+ toolset: "Metrics",
76
83
  summary: "Fetch metrics across the entire workspace",
77
84
  purpose: "Fetch metrics across the workspace. Use this to get an overview of contract testing usage, resource consumption and account-wide statistics.",
78
85
  inputSchema: z.object({}),
@@ -81,6 +88,7 @@ const TOOLS = [
81
88
  },
82
89
  {
83
90
  title: "Get Team Metrics",
91
+ toolset: "Metrics",
84
92
  summary: "Fetch metrics for all teams",
85
93
  purpose: "Fetch metrics for all teams within PactFlow. Use this to get an overview of team-specific contract testing usage, resource consumption and usage statistics.",
86
94
  inputSchema: z.object({}),
@@ -89,6 +97,7 @@ const TOOLS = [
89
97
  },
90
98
  {
91
99
  title: "List Pacticipants",
100
+ toolset: "Pacticipants",
92
101
  summary: "Retrieve all pacticipants (applications/services) registered in the Pact Broker or PactFlow workspace.",
93
102
  purpose: "Get an overview of all registered services and their metadata. Use this to discover what applications are participating in contract testing, check their main branches, and find repository URLs.",
94
103
  inputSchema: z.object({
@@ -100,6 +109,7 @@ const TOOLS = [
100
109
  },
101
110
  {
102
111
  title: "Get Pacticipant",
112
+ toolset: "Pacticipants",
103
113
  summary: "Retrieve details for a specific pacticipant by name.",
104
114
  purpose: "Fetch metadata for a single application/service including its display name, main branch, repository URL, and labels.",
105
115
  inputSchema: GetPacticipantSchema,
@@ -108,6 +118,7 @@ const TOOLS = [
108
118
  },
109
119
  {
110
120
  title: "List Branches",
121
+ toolset: "Branches and Versions",
111
122
  summary: "Retrieve all branches for a given pacticipant, with optional filtering and pagination.",
112
123
  purpose: "Explore the branches that have published pacts or verifications. Useful for understanding the active development lines of a service and for identifying stale branches to clean up.",
113
124
  inputSchema: ListBranchesSchema,
@@ -116,6 +127,7 @@ const TOOLS = [
116
127
  },
117
128
  {
118
129
  title: "List Pacticipant Versions",
130
+ toolset: "Branches and Versions",
119
131
  summary: "Retrieve all versions for a given pacticipant.",
120
132
  purpose: "List all published versions of a service with their branch and tag associations. Useful for understanding which versions exist and tracing deployment history.",
121
133
  inputSchema: ListVersionsSchema,
@@ -124,6 +136,7 @@ const TOOLS = [
124
136
  },
125
137
  {
126
138
  title: "Get Pacticipant Version",
139
+ toolset: "Branches and Versions",
127
140
  summary: "Retrieve details for a specific version of a pacticipant.",
128
141
  purpose: "Fetch metadata for a single version including its branches, tags, and build URL.",
129
142
  inputSchema: GetVersionSchema,
@@ -132,6 +145,7 @@ const TOOLS = [
132
145
  },
133
146
  {
134
147
  title: "Get Latest Pacticipant Version",
148
+ toolset: "Branches and Versions",
135
149
  summary: "Retrieve the latest version of a pacticipant, optionally filtered by tag.",
136
150
  purpose: "Quickly identify the most recent version of a service. When a tag is provided, returns the latest version that has that tag applied (e.g. the latest version tagged 'prod').",
137
151
  inputSchema: GetLatestVersionSchema,
@@ -140,6 +154,7 @@ const TOOLS = [
140
154
  },
141
155
  {
142
156
  title: "List Environments",
157
+ toolset: "Environments and Deployments",
143
158
  summary: "Retrieve all environments configured in the Pact Broker or PactFlow workspace.",
144
159
  purpose: "Get the list of deployment environments (e.g. development, staging, production) so you can use their UUIDs in record-deployment and can-i-deploy operations.",
145
160
  inputSchema: z.object({}),
@@ -148,6 +163,7 @@ const TOOLS = [
148
163
  },
149
164
  {
150
165
  title: "Get Environment",
166
+ toolset: "Environments and Deployments",
151
167
  summary: "Retrieve details for a specific environment by UUID.",
152
168
  purpose: "Fetch metadata for a single environment including its name, display name, production flag, and associated teams.",
153
169
  inputSchema: GetEnvironmentSchema,
@@ -156,6 +172,7 @@ const TOOLS = [
156
172
  },
157
173
  {
158
174
  title: "Record Deployment",
175
+ toolset: "Environments and Deployments",
159
176
  summary: "Record that a version of a pacticipant has been deployed to an environment.",
160
177
  purpose: "Inform PactFlow/Pact Broker of a successful deployment so that can-i-deploy checks and contract verification can use real deployment state. This is a key step in the PactFlow deployment workflow — run it after each successful deploy to keep the deployment state accurate.",
161
178
  inputSchema: RecordDeploymentSchema,
@@ -164,6 +181,7 @@ const TOOLS = [
164
181
  },
165
182
  {
166
183
  title: "Get Currently Deployed Versions",
184
+ toolset: "Environments and Deployments",
167
185
  summary: "Retrieve all versions currently deployed to a given environment.",
168
186
  purpose: "Check which versions of all services are currently running in an environment. Useful for auditing the state of an environment or for troubleshooting deployment issues.",
169
187
  inputSchema: GetCurrentlyDeployedSchema,
@@ -172,6 +190,7 @@ const TOOLS = [
172
190
  },
173
191
  {
174
192
  title: "Record Release",
193
+ toolset: "Environments and Deployments",
175
194
  summary: "Record that a version of a pacticipant has been released to an environment (for mobile/library release workflows).",
176
195
  purpose: "Use for services that are 'released' rather than 'deployed' — e.g. mobile apps, libraries, or multi-version APIs where multiple versions coexist simultaneously. Unlike record-deployment (which marks previous versions as no longer deployed), record-release marks a version as currently supported without replacing prior versions.",
177
196
  inputSchema: RecordReleaseSchema,
@@ -180,6 +199,7 @@ const TOOLS = [
180
199
  },
181
200
  {
182
201
  title: "Get Currently Supported Versions",
202
+ toolset: "Environments and Deployments",
183
203
  summary: "Retrieve all versions currently released and supported in a given environment.",
184
204
  purpose: "Check which released versions are still actively supported in an environment. Important for mobile or library workflows where multiple versions are simultaneously in use.",
185
205
  inputSchema: GetCurrentlySupportedSchema,
@@ -188,6 +208,7 @@ const TOOLS = [
188
208
  },
189
209
  {
190
210
  title: "Publish Consumer Contracts",
211
+ toolset: "Contracts",
191
212
  summary: "Publish one or more consumer Pact contracts to the Pact Broker or PactFlow, with branch and tag metadata.",
192
213
  purpose: "Upload consumer-driven contract files after running consumer tests. Associate each contract with a branch and version number so that PactFlow can match it to provider verification results and enable can-i-deploy checks.",
193
214
  inputSchema: PublishConsumerContractsSchema,
@@ -196,6 +217,7 @@ const TOOLS = [
196
217
  },
197
218
  {
198
219
  title: "Publish Provider Contract",
220
+ toolset: "Contracts",
199
221
  summary: "Publish a provider OpenAPI contract and self-verification results to PactFlow (Bi-Directional Contract Testing).",
200
222
  purpose: "Upload an OpenAPI specification as a provider contract along with the results of running a tool (e.g. Dredd, Schemathesis) that verifies the provider implementation against the spec. This enables PactFlow to perform automated cross-contract verification without requiring the provider to run the consumer Pact tests.",
201
223
  inputSchema: PublishProviderContractSchema,
@@ -204,6 +226,7 @@ const TOOLS = [
204
226
  },
205
227
  {
206
228
  title: "Get Pacts for Verification",
229
+ toolset: "Contracts",
207
230
  summary: "Retrieve the pacts that a provider should verify, based on consumer version selectors and WIP/pending pact configuration.",
208
231
  purpose: "Fetch the exact set of consumer pacts that a provider needs to verify in its current CI run. Use consumer version selectors to control which consumer branches and environments are included. Enable WIP pacts to get early feedback on new consumer interactions without breaking the provider build.",
209
232
  inputSchema: GetPactsForVerificationSchema,
@@ -212,6 +235,7 @@ const TOOLS = [
212
235
  },
213
236
  {
214
237
  title: "Get BDCT Provider Contract",
238
+ toolset: "Bi-Directional Contract Testing",
215
239
  summary: "Fetch the provider OpenAPI contract for a given provider version in Bi-Directional Contract Testing.",
216
240
  purpose: "Retrieve the OpenAPI specification that was published as the provider contract for a specific version. Also returns the verification status of that contract against all consumer pacts.",
217
241
  inputSchema: GetBiDirectionalProviderVersionSchema,
@@ -220,6 +244,7 @@ const TOOLS = [
220
244
  },
221
245
  {
222
246
  title: "Get BDCT Provider Contract Verification Results",
247
+ toolset: "Bi-Directional Contract Testing",
223
248
  summary: "Fetch the self-verification results for a provider contract version in Bi-Directional Contract Testing.",
224
249
  purpose: "Retrieve the results of the tool (e.g. Dredd, Schemathesis) that verified the provider implementation against its own OpenAPI spec. Use this to understand whether the provider passed its self-verification step.",
225
250
  inputSchema: GetBiDirectionalProviderVersionSchema,
@@ -228,6 +253,7 @@ const TOOLS = [
228
253
  },
229
254
  {
230
255
  title: "Get BDCT Consumer Contracts",
256
+ toolset: "Bi-Directional Contract Testing",
231
257
  summary: "Fetch all consumer Pact contracts relevant to a given provider version in Bi-Directional Contract Testing.",
232
258
  purpose: "Retrieve the consumer-side Pact contracts that PactFlow compared against the provider's OpenAPI spec for a specific provider version. Useful for understanding which consumer interactions triggered a cross-contract verification.",
233
259
  inputSchema: GetBiDirectionalProviderVersionSchema,
@@ -236,6 +262,7 @@ const TOOLS = [
236
262
  },
237
263
  {
238
264
  title: "Get BDCT Consumer Contract Verification Results",
265
+ toolset: "Bi-Directional Contract Testing",
239
266
  summary: "Fetch the consumer contract verification results for a given provider version in Bi-Directional Contract Testing.",
240
267
  purpose: "Retrieve the results of comparing all consumer Pact contracts against the provider's OpenAPI spec for a specific provider version. Shows whether each consumer interaction is covered by the spec.",
241
268
  inputSchema: GetBiDirectionalProviderVersionSchema,
@@ -244,6 +271,7 @@ const TOOLS = [
244
271
  },
245
272
  {
246
273
  title: "Get BDCT Cross-Contract Verification Results",
274
+ toolset: "Bi-Directional Contract Testing",
247
275
  summary: "Fetch the cross-contract verification results for a given provider version in Bi-Directional Contract Testing.",
248
276
  purpose: "Retrieve the combined results of PactFlow's automated cross-contract comparison for a specific provider version — the outcome of comparing the provider's OpenAPI spec against all relevant consumer Pact files. This is the key result that determines whether can-i-deploy will pass.",
249
277
  inputSchema: GetBiDirectionalProviderVersionSchema,
@@ -252,6 +280,7 @@ const TOOLS = [
252
280
  },
253
281
  {
254
282
  title: "Get BDCT Consumer by Consumer Version",
283
+ toolset: "Bi-Directional Contract Testing",
255
284
  summary: "Fetch the consumer Pact contract for a specific consumer-provider version pair in Bi-Directional Contract Testing.",
256
285
  purpose: "Retrieve the Pact contract published by a specific consumer version, in the context of a specific provider version. Use this when you need the exact consumer contract that was compared against a given provider spec.",
257
286
  inputSchema: GetBiDirectionalConsumerProviderVersionSchema,
@@ -260,6 +289,7 @@ const TOOLS = [
260
289
  },
261
290
  {
262
291
  title: "Get BDCT Provider by Consumer Version",
292
+ toolset: "Bi-Directional Contract Testing",
263
293
  summary: "Fetch the provider OpenAPI contract for a specific consumer-provider version pair in Bi-Directional Contract Testing.",
264
294
  purpose: "Retrieve the provider's OpenAPI spec in the context of a specific consumer version pair. Useful when investigating why a particular consumer-provider combination failed cross-contract verification.",
265
295
  inputSchema: GetBiDirectionalConsumerProviderVersionSchema,
@@ -268,6 +298,7 @@ const TOOLS = [
268
298
  },
269
299
  {
270
300
  title: "Get BDCT Provider Check Results by Consumer",
301
+ toolset: "Bi-Directional Contract Testing",
271
302
  summary: "Fetch the provider contract self-verification results for a specific consumer-provider version pair in Bi-Directional Contract Testing.",
272
303
  purpose: "Retrieve the provider's self-verification results in the context of a specific consumer version pair. Use when diagnosing failures for a particular consumer-provider combination.",
273
304
  inputSchema: GetBiDirectionalConsumerProviderVersionSchema,
@@ -276,6 +307,7 @@ const TOOLS = [
276
307
  },
277
308
  {
278
309
  title: "Get BDCT Consumer Pact Test Results by Consumer",
310
+ toolset: "Bi-Directional Contract Testing",
279
311
  summary: "Fetch the consumer contract verification results for a specific consumer-provider version pair in Bi-Directional Contract Testing.",
280
312
  purpose: "Retrieve the results of comparing a specific consumer version's Pact against the provider's OpenAPI spec. Shows exactly which interactions passed or failed the cross-contract comparison.",
281
313
  inputSchema: GetBiDirectionalConsumerProviderVersionSchema,
@@ -284,6 +316,7 @@ const TOOLS = [
284
316
  },
285
317
  {
286
318
  title: "Get BDCT X-Contract Test Results by Consumer",
319
+ toolset: "Bi-Directional Contract Testing",
287
320
  summary: "Fetch the cross-contract verification results for a specific consumer-provider version pair in Bi-Directional Contract Testing.",
288
321
  purpose: "Retrieve the precise cross-contract comparison outcome between a specific consumer version and provider version. This is the most granular BDCT result — use it to understand exactly why a specific consumer-provider pairing succeeded or failed, and which interactions were incompatible.",
289
322
  inputSchema: GetBiDirectionalConsumerProviderVersionSchema,
@@ -292,6 +325,7 @@ const TOOLS = [
292
325
  },
293
326
  {
294
327
  title: "List Integrations",
328
+ toolset: "Integrations and Network",
295
329
  summary: "Retrieve all consumer-provider integrations registered in the workspace.",
296
330
  purpose: "Get a high-level view of all the consumer-provider pairings that have pacts published. An integration is automatically created when a consumer publishes a pact for a provider.",
297
331
  inputSchema: z.object({}),
@@ -300,6 +334,7 @@ const TOOLS = [
300
334
  },
301
335
  {
302
336
  title: "Get Pacticipant Network",
337
+ toolset: "Integrations and Network",
303
338
  summary: "Retrieve the integration network graph for a specific pacticipant.",
304
339
  purpose: "Visualise all the consumer-provider relationships for a service — both the services it consumes and the consumers that depend on it. Use this to understand the blast radius of changes to a service.",
305
340
  inputSchema: GetPacticipantNetworkSchema,
@@ -308,6 +343,7 @@ const TOOLS = [
308
343
  },
309
344
  {
310
345
  title: "List Labels",
346
+ toolset: "Labels",
311
347
  summary: "Retrieve all labels used across the workspace.",
312
348
  purpose: "Get a list of every label that has been applied to any pacticipant. Labels are used to categorise services and enable label-based queries.",
313
349
  inputSchema: z.object({
@@ -319,6 +355,7 @@ const TOOLS = [
319
355
  },
320
356
  {
321
357
  title: "Get Pacticipant Label",
358
+ toolset: "Labels",
322
359
  summary: "Check whether a specific label is applied to a pacticipant.",
323
360
  purpose: "Verify that a label exists on a pacticipant. Returns 404 if the label is not applied.",
324
361
  inputSchema: GetLabelSchema,
@@ -327,6 +364,7 @@ const TOOLS = [
327
364
  },
328
365
  {
329
366
  title: "List Pacticipants by Label",
367
+ toolset: "Labels",
330
368
  summary: "Retrieve all pacticipants that have a specific label applied.",
331
369
  purpose: "Filter the pacticipant list by label. Useful for querying services by team ownership, technology, or any custom grouping you have applied via labels.",
332
370
  inputSchema: LabelByNameSchema,
@@ -335,6 +373,7 @@ const TOOLS = [
335
373
  },
336
374
  {
337
375
  title: "Update Pacticipant",
376
+ toolset: "Pacticipants",
338
377
  summary: "Fully replace a pacticipant's metadata (display name, main branch, repository URL, etc.).",
339
378
  purpose: "Update a service's metadata with a full replacement. All fields not provided will be cleared. Use Patch Pacticipant instead if you only want to update specific fields.",
340
379
  inputSchema: UpdatePacticipantSchema,
@@ -343,6 +382,7 @@ const TOOLS = [
343
382
  },
344
383
  {
345
384
  title: "Patch Pacticipant",
385
+ toolset: "Pacticipants",
346
386
  summary: "Partially update a pacticipant's metadata — only fields provided are changed.",
347
387
  purpose: "Update one or more properties of a service without affecting the others. Prefer this over Update Pacticipant when you only need to change a specific field such as the main branch.",
348
388
  inputSchema: UpdatePacticipantSchema,
@@ -351,6 +391,7 @@ const TOOLS = [
351
391
  },
352
392
  {
353
393
  title: "Update Pacticipant Version",
394
+ toolset: "Branches and Versions",
354
395
  summary: "Update metadata for a specific pacticipant version.",
355
396
  purpose: "Set or update the build URL for an existing version. This is useful when the build URL was not available at publish time.",
356
397
  inputSchema: UpdateVersionSchema,
@@ -359,6 +400,7 @@ const TOOLS = [
359
400
  },
360
401
  {
361
402
  title: "Get Branch Versions",
403
+ toolset: "Branches and Versions",
362
404
  summary: "Retrieve all versions published from a specific branch of a pacticipant.",
363
405
  purpose: "List the history of versions for a particular branch. Useful for understanding which versions were created on a feature branch before it was merged.",
364
406
  inputSchema: GetBranchVersionsSchema,
@@ -367,6 +409,7 @@ const TOOLS = [
367
409
  },
368
410
  {
369
411
  title: "Get Deployed Versions for Version",
412
+ toolset: "Environments and Deployments",
370
413
  summary: "Retrieve deployment records for a specific pacticipant version in a specific environment.",
371
414
  purpose: "Check the deployment history for a particular version in a given environment. Returns all deployment records including whether each is currently active.",
372
415
  inputSchema: GetVersionDeployedSchema,
@@ -375,6 +418,7 @@ const TOOLS = [
375
418
  },
376
419
  {
377
420
  title: "Get Released Versions for Version",
421
+ toolset: "Environments and Deployments",
378
422
  summary: "Retrieve release records for a specific pacticipant version in a specific environment.",
379
423
  purpose: "Check the release history for a particular version in a given environment. Used in mobile/library workflows to see all release records for a version.",
380
424
  inputSchema: GetVersionDeployedSchema,
@@ -383,6 +427,7 @@ const TOOLS = [
383
427
  },
384
428
  {
385
429
  title: "Create Environment",
430
+ toolset: "Environments and Deployments",
386
431
  summary: "Create a new deployment environment in PactFlow.",
387
432
  purpose: "Register a new environment (e.g. 'staging', 'production') so it can be used in record-deployment and can-i-deploy workflows.",
388
433
  inputSchema: CreateEnvironmentSchema,
@@ -391,6 +436,7 @@ const TOOLS = [
391
436
  },
392
437
  {
393
438
  title: "Update Environment",
439
+ toolset: "Environments and Deployments",
394
440
  summary: "Update an existing environment's metadata.",
395
441
  purpose: "Rename an environment, change its production flag, or update team assignments.",
396
442
  inputSchema: UpdateEnvironmentSchema,
@@ -399,6 +445,7 @@ const TOOLS = [
399
445
  },
400
446
  {
401
447
  title: "Delete Environment",
448
+ toolset: "Environments and Deployments",
402
449
  summary: "Delete an environment by UUID.",
403
450
  purpose: "Remove an environment that is no longer needed. This will also remove all deployed and released version records for this environment.",
404
451
  inputSchema: GetEnvironmentSchema,
@@ -407,6 +454,7 @@ const TOOLS = [
407
454
  },
408
455
  {
409
456
  title: "Create Pacticipant",
457
+ toolset: "Pacticipants",
410
458
  summary: "Register a new application/service (pacticipant) in the workspace.",
411
459
  purpose: "Create a pacticipant entry before publishing contracts or recording deployments. The name cannot be changed after creation.",
412
460
  inputSchema: CreatePacticipantSchema,
@@ -415,6 +463,7 @@ const TOOLS = [
415
463
  },
416
464
  {
417
465
  title: "Delete Pacticipant",
466
+ toolset: "Pacticipants",
418
467
  summary: "Delete a pacticipant and all its associated data.",
419
468
  purpose: "Remove a service from the workspace, including all its pacts, verifications, deployments, and version records.",
420
469
  inputSchema: DeletePacticipantSchema,
@@ -423,6 +472,7 @@ const TOOLS = [
423
472
  },
424
473
  {
425
474
  title: "Get Branch",
475
+ toolset: "Branches and Versions",
426
476
  summary: "Retrieve details for a specific branch of a pacticipant.",
427
477
  purpose: "Fetch metadata for a single branch, including its latest version.",
428
478
  inputSchema: GetBranchSchema,
@@ -431,6 +481,7 @@ const TOOLS = [
431
481
  },
432
482
  {
433
483
  title: "Delete Branch",
484
+ toolset: "Branches and Versions",
434
485
  summary: "Delete a branch from a pacticipant.",
435
486
  purpose: "Remove a stale branch record. This does not delete the versions or pacts published from the branch.",
436
487
  inputSchema: DeleteBranchSchema,
@@ -439,6 +490,7 @@ const TOOLS = [
439
490
  },
440
491
  {
441
492
  title: "Add Label to Pacticipant",
493
+ toolset: "Labels",
442
494
  summary: "Apply a label to a pacticipant.",
443
495
  purpose: "Tag a service with a label for grouping and filtering. Creates the label if it does not already exist.",
444
496
  inputSchema: ManageLabelSchema,
@@ -447,6 +499,7 @@ const TOOLS = [
447
499
  },
448
500
  {
449
501
  title: "Remove Label from Pacticipant",
502
+ toolset: "Labels",
450
503
  summary: "Remove a label from a pacticipant.",
451
504
  purpose: "Delete the label association from a pacticipant. Does not affect other pacticipants that have the same label.",
452
505
  inputSchema: ManageLabelSchema,
@@ -455,6 +508,7 @@ const TOOLS = [
455
508
  },
456
509
  {
457
510
  title: "Get Integrations by Team",
511
+ toolset: "Integrations and Network",
458
512
  summary: "Retrieve all consumer-provider integrations belonging to a specific team.",
459
513
  purpose: "Filter the integration list by team ownership to see only the pairings relevant to a given team.",
460
514
  inputSchema: GetIntegrationsByTeamSchema,
@@ -463,6 +517,7 @@ const TOOLS = [
463
517
  },
464
518
  {
465
519
  title: "Delete Integration",
520
+ toolset: "Integrations and Network",
466
521
  summary: "Delete a specific consumer-provider integration.",
467
522
  purpose: "Remove the integration record between a consumer and provider. Use with caution — this removes the link even if pacts exist.",
468
523
  inputSchema: DeleteIntegrationSchema,
@@ -471,6 +526,7 @@ const TOOLS = [
471
526
  },
472
527
  {
473
528
  title: "Delete All Integrations",
529
+ toolset: "Integrations and Network",
474
530
  summary: "Delete ALL consumer-provider integrations in the workspace.",
475
531
  purpose: "Bulk-remove all integration records. This is a destructive operation — use only when resetting the workspace.",
476
532
  inputSchema: z.object({}),
@@ -479,6 +535,7 @@ const TOOLS = [
479
535
  },
480
536
  {
481
537
  title: "List Webhooks",
538
+ toolset: "Webhooks",
482
539
  summary: "Retrieve all webhooks configured in the workspace.",
483
540
  purpose: "Get an overview of all webhook triggers, their target URLs, and enabled/disabled status.",
484
541
  inputSchema: z.object({}),
@@ -487,6 +544,7 @@ const TOOLS = [
487
544
  },
488
545
  {
489
546
  title: "Get Webhook",
547
+ toolset: "Webhooks",
490
548
  summary: "Retrieve details for a specific webhook by UUID.",
491
549
  purpose: "Fetch the full configuration of a single webhook including events, request details, and consumer/provider filters.",
492
550
  inputSchema: WebhookIdSchema,
@@ -495,6 +553,7 @@ const TOOLS = [
495
553
  },
496
554
  {
497
555
  title: "Create Webhook",
556
+ toolset: "Webhooks",
498
557
  summary: "Create a new webhook to trigger on contract events.",
499
558
  purpose: "Set up automated notifications or CI triggers that fire when contracts change, verifications are published, or other events occur.",
500
559
  inputSchema: CreateWebhookSchema,
@@ -503,6 +562,7 @@ const TOOLS = [
503
562
  },
504
563
  {
505
564
  title: "Update Webhook",
565
+ toolset: "Webhooks",
506
566
  summary: "Update an existing webhook's configuration.",
507
567
  purpose: "Modify the URL, events, consumer/provider filters, or enabled status of a webhook.",
508
568
  inputSchema: UpdateWebhookSchema,
@@ -511,6 +571,7 @@ const TOOLS = [
511
571
  },
512
572
  {
513
573
  title: "Delete Webhook",
574
+ toolset: "Webhooks",
514
575
  summary: "Delete a webhook by UUID.",
515
576
  purpose: "Permanently remove a webhook. Any in-flight triggered executions will still complete.",
516
577
  inputSchema: WebhookIdSchema,
@@ -519,6 +580,7 @@ const TOOLS = [
519
580
  },
520
581
  {
521
582
  title: "Test Execute Webhooks",
583
+ toolset: "Webhooks",
522
584
  summary: "Trigger a test execution of all matching webhooks without a real event.",
523
585
  purpose: "Verify webhook configuration by sending a test request. Useful for debugging URL, auth, or body template issues.",
524
586
  inputSchema: z.object({}),
@@ -527,6 +589,7 @@ const TOOLS = [
527
589
  },
528
590
  {
529
591
  title: "Execute Webhook",
592
+ toolset: "Webhooks",
530
593
  summary: "Trigger a test execution of a specific webhook.",
531
594
  purpose: "Send a test request for a single webhook to verify its configuration without waiting for a real event.",
532
595
  inputSchema: WebhookIdSchema,
@@ -535,6 +598,7 @@ const TOOLS = [
535
598
  },
536
599
  {
537
600
  title: "List Secrets",
601
+ toolset: "Secrets",
538
602
  summary: "Retrieve all secrets stored in the workspace.",
539
603
  purpose: "Get an overview of all configured secrets. Note: secret values are never returned — only metadata.",
540
604
  inputSchema: z.object({}),
@@ -543,6 +607,7 @@ const TOOLS = [
543
607
  },
544
608
  {
545
609
  title: "Get Secret",
610
+ toolset: "Secrets",
546
611
  summary: "Retrieve metadata for a specific secret by UUID.",
547
612
  purpose: "Fetch secret metadata (name, description, team). The secret value is never returned.",
548
613
  inputSchema: SecretIdSchema,
@@ -551,6 +616,7 @@ const TOOLS = [
551
616
  },
552
617
  {
553
618
  title: "Create Secret",
619
+ toolset: "Secrets",
554
620
  summary: "Create a new secret for use in webhook authentication.",
555
621
  purpose: "Store a sensitive value (API key, password, token) securely. The value can be referenced in webhook configurations without exposing it.",
556
622
  inputSchema: CreateSecretSchema,
@@ -559,6 +625,7 @@ const TOOLS = [
559
625
  },
560
626
  {
561
627
  title: "Update Secret",
628
+ toolset: "Secrets",
562
629
  summary: "Update an existing secret's name, value, or description.",
563
630
  purpose: "Rotate or rename a secret. The team assignment cannot be changed after creation.",
564
631
  inputSchema: UpdateSecretSchema,
@@ -567,6 +634,7 @@ const TOOLS = [
567
634
  },
568
635
  {
569
636
  title: "Delete Secret",
637
+ toolset: "Secrets",
570
638
  summary: "Delete a secret by UUID.",
571
639
  purpose: "Permanently remove a secret. Any webhooks referencing this secret will need to be updated.",
572
640
  inputSchema: SecretIdSchema,
@@ -575,6 +643,7 @@ const TOOLS = [
575
643
  },
576
644
  {
577
645
  title: "Get Current User",
646
+ toolset: "User, Tokens and Preferences",
578
647
  summary: "Retrieve the profile of the currently authenticated user.",
579
648
  purpose: "Check who you are authenticated as, including your UUID, name, email, and roles.",
580
649
  inputSchema: z.object({}),
@@ -583,6 +652,7 @@ const TOOLS = [
583
652
  },
584
653
  {
585
654
  title: "List API Tokens",
655
+ toolset: "User, Tokens and Preferences",
586
656
  summary: "Retrieve API tokens for the current user.",
587
657
  purpose: "List the read-only and read-write API tokens for the authenticated user.",
588
658
  inputSchema: z.object({}),
@@ -591,6 +661,7 @@ const TOOLS = [
591
661
  },
592
662
  {
593
663
  title: "Regenerate API Token",
664
+ toolset: "User, Tokens and Preferences",
594
665
  summary: "Regenerate (rotate) an API token by ID.",
595
666
  purpose: "Invalidate the current token and generate a new one. Use when a token has been compromised.",
596
667
  inputSchema: RegenerateTokenSchema,
@@ -599,6 +670,7 @@ const TOOLS = [
599
670
  },
600
671
  {
601
672
  title: "Get User Preferences",
673
+ toolset: "User, Tokens and Preferences",
602
674
  summary: "Retrieve the current user's preferences.",
603
675
  purpose: "Fetch all preference settings for the authenticated user.",
604
676
  inputSchema: z.object({}),
@@ -607,6 +679,7 @@ const TOOLS = [
607
679
  },
608
680
  {
609
681
  title: "Get System Preferences",
682
+ toolset: "User, Tokens and Preferences",
610
683
  summary: "Retrieve system-wide preferences.",
611
684
  purpose: "Fetch all system-level preference settings for the workspace.",
612
685
  inputSchema: z.object({}),
@@ -615,6 +688,7 @@ const TOOLS = [
615
688
  },
616
689
  {
617
690
  title: "Get Audit Log",
691
+ toolset: "Audit",
618
692
  summary: "Retrieve the audit log of events in the workspace.",
619
693
  purpose: "Search and filter the audit trail of actions taken in PactFlow. Useful for compliance, debugging, and security reviews.",
620
694
  useCases: [
@@ -629,6 +703,7 @@ const TOOLS = [
629
703
  },
630
704
  {
631
705
  title: "Admin List Users",
706
+ toolset: "Admin",
632
707
  summary: "List all users in the workspace (admin).",
633
708
  purpose: "Get an overview of all user accounts with optional filtering by active status, name/email, or user type.",
634
709
  inputSchema: ListAdminUsersSchema,
@@ -637,6 +712,7 @@ const TOOLS = [
637
712
  },
638
713
  {
639
714
  title: "Admin Get User",
715
+ toolset: "Admin",
640
716
  summary: "Retrieve details for a specific user by UUID (admin).",
641
717
  purpose: "Fetch a user's profile including their email, name, roles, and active status.",
642
718
  inputSchema: AdminUserIdSchema,
@@ -645,6 +721,7 @@ const TOOLS = [
645
721
  },
646
722
  {
647
723
  title: "Admin Create User",
724
+ toolset: "Admin",
648
725
  summary: "Create a new user account (admin).",
649
726
  purpose: "Add a new user to the workspace. For SSO environments, provide externalIdpId or externalIdpUsername to match the IdP identity.",
650
727
  inputSchema: CreateAdminUserSchema,
@@ -653,6 +730,7 @@ const TOOLS = [
653
730
  },
654
731
  {
655
732
  title: "Admin Update User",
733
+ toolset: "Admin",
656
734
  summary: "Update a user's profile or active status (admin).",
657
735
  purpose: "Modify user details such as name, email, or active status. Deactivating a user prevents them from logging in.",
658
736
  inputSchema: UpdateAdminUserSchema,
@@ -661,6 +739,7 @@ const TOOLS = [
661
739
  },
662
740
  {
663
741
  title: "Admin Delete User",
742
+ toolset: "Admin",
664
743
  summary: "Delete a user account (admin).",
665
744
  purpose: "Permanently remove a user from the workspace.",
666
745
  inputSchema: AdminUserIdSchema,
@@ -669,6 +748,7 @@ const TOOLS = [
669
748
  },
670
749
  {
671
750
  title: "Admin Invite Users",
751
+ toolset: "Admin",
672
752
  summary: "Send invitations to new users (admin).",
673
753
  purpose: "Invite one or more people to join the workspace by email. They will receive an invitation email.",
674
754
  inputSchema: InviteUsersSchema,
@@ -677,6 +757,7 @@ const TOOLS = [
677
757
  },
678
758
  {
679
759
  title: "Admin Set User Roles",
760
+ toolset: "Admin",
680
761
  summary: "Replace all roles assigned to a user (admin).",
681
762
  purpose: "Fully replace the set of roles for a user. All existing roles are removed and replaced with the provided list.",
682
763
  inputSchema: SetUserRolesSchema,
@@ -685,6 +766,7 @@ const TOOLS = [
685
766
  },
686
767
  {
687
768
  title: "Admin Add Role to User",
769
+ toolset: "Admin",
688
770
  summary: "Add a single role to a user (admin).",
689
771
  purpose: "Grant an additional role to a user without affecting their existing roles.",
690
772
  inputSchema: UserRoleSchema,
@@ -693,6 +775,7 @@ const TOOLS = [
693
775
  },
694
776
  {
695
777
  title: "Admin Remove Role from User",
778
+ toolset: "Admin",
696
779
  summary: "Remove a single role from a user (admin).",
697
780
  purpose: "Revoke a specific role from a user without affecting their other roles.",
698
781
  inputSchema: UserRoleSchema,
@@ -701,6 +784,7 @@ const TOOLS = [
701
784
  },
702
785
  {
703
786
  title: "Admin List Teams",
787
+ toolset: "Admin",
704
788
  summary: "List all teams in the workspace (admin).",
705
789
  purpose: "Get an overview of all teams with optional name filtering and pagination.",
706
790
  inputSchema: ListAdminTeamsSchema,
@@ -709,6 +793,7 @@ const TOOLS = [
709
793
  },
710
794
  {
711
795
  title: "Admin Get Team",
796
+ toolset: "Admin",
712
797
  summary: "Retrieve details for a specific team by UUID (admin).",
713
798
  purpose: "Fetch a team's configuration including its name, members, environments, and pacticipants.",
714
799
  inputSchema: AdminTeamIdSchema,
@@ -717,6 +802,7 @@ const TOOLS = [
717
802
  },
718
803
  {
719
804
  title: "Admin Create Team",
805
+ toolset: "Admin",
720
806
  summary: "Create a new team (admin).",
721
807
  purpose: "Add a new team to the workspace and optionally assign administrators, environments, and pacticipants.",
722
808
  inputSchema: CreateTeamSchema,
@@ -725,6 +811,7 @@ const TOOLS = [
725
811
  },
726
812
  {
727
813
  title: "Admin Update Team",
814
+ toolset: "Admin",
728
815
  summary: "Replace a team's configuration (admin).",
729
816
  purpose: "Fully update a team's name, administrators, environments, and pacticipant assignments.",
730
817
  inputSchema: UpdateTeamSchema,
@@ -733,6 +820,7 @@ const TOOLS = [
733
820
  },
734
821
  {
735
822
  title: "Admin Delete Team",
823
+ toolset: "Admin",
736
824
  summary: "Delete a team (admin).",
737
825
  purpose: "Permanently remove a team from the workspace. Members are not deleted.",
738
826
  inputSchema: AdminTeamIdSchema,
@@ -741,6 +829,7 @@ const TOOLS = [
741
829
  },
742
830
  {
743
831
  title: "Admin List Team Users",
832
+ toolset: "Admin",
744
833
  summary: "List all users in a specific team (admin).",
745
834
  purpose: "Retrieve all user members of a team.",
746
835
  inputSchema: AdminTeamIdSchema,
@@ -749,6 +838,7 @@ const TOOLS = [
749
838
  },
750
839
  {
751
840
  title: "Admin Get Team User",
841
+ toolset: "Admin",
752
842
  summary: "Check if a specific user is a member of a team (admin).",
753
843
  purpose: "Verify team membership for a user. Returns 404 if the user is not in the team.",
754
844
  inputSchema: TeamUserIdSchema,
@@ -757,6 +847,7 @@ const TOOLS = [
757
847
  },
758
848
  {
759
849
  title: "Admin Set Team Users",
850
+ toolset: "Admin",
760
851
  summary: "Replace all members of a team (admin).",
761
852
  purpose: "Fully replace the set of users in a team. All existing members are removed and replaced with the provided list.",
762
853
  inputSchema: SetTeamUsersSchema,
@@ -765,6 +856,7 @@ const TOOLS = [
765
856
  },
766
857
  {
767
858
  title: "Admin Patch Team Users",
859
+ toolset: "Admin",
768
860
  summary: "Add or remove individual users from a team using JSON Patch (admin).",
769
861
  purpose: "Make targeted changes to team membership — add specific users or remove them — without replacing the entire member list.",
770
862
  inputSchema: PatchTeamUsersSchema,
@@ -773,6 +865,7 @@ const TOOLS = [
773
865
  },
774
866
  {
775
867
  title: "Admin Remove User from Team",
868
+ toolset: "Admin",
776
869
  summary: "Remove a specific user from a team (admin).",
777
870
  purpose: "Revoke team membership for a user.",
778
871
  inputSchema: TeamUserIdSchema,
@@ -781,6 +874,7 @@ const TOOLS = [
781
874
  },
782
875
  {
783
876
  title: "Admin List Roles",
877
+ toolset: "Admin",
784
878
  summary: "List all roles defined in the workspace (admin).",
785
879
  purpose: "Get an overview of all role definitions and their associated permissions.",
786
880
  inputSchema: z.object({}),
@@ -789,6 +883,7 @@ const TOOLS = [
789
883
  },
790
884
  {
791
885
  title: "Admin Get Role",
886
+ toolset: "Admin",
792
887
  summary: "Retrieve details for a specific role by UUID (admin).",
793
888
  purpose: "Fetch a role's name, description, and full list of permission scopes.",
794
889
  inputSchema: AdminRoleIdSchema,
@@ -797,6 +892,7 @@ const TOOLS = [
797
892
  },
798
893
  {
799
894
  title: "Admin Create Role",
895
+ toolset: "Admin",
800
896
  summary: "Create a new role with specific permissions (admin).",
801
897
  purpose: "Define a custom role with a tailored set of permission scopes. Roles can then be assigned to users.",
802
898
  inputSchema: CreateRoleSchema,
@@ -805,6 +901,7 @@ const TOOLS = [
805
901
  },
806
902
  {
807
903
  title: "Admin Update Role",
904
+ toolset: "Admin",
808
905
  summary: "Update an existing role's name and permissions (admin).",
809
906
  purpose: "Modify the permission set of a role. Changes take effect for all users assigned the role.",
810
907
  inputSchema: UpdateRoleSchema,
@@ -813,6 +910,7 @@ const TOOLS = [
813
910
  },
814
911
  {
815
912
  title: "Admin Delete Role",
913
+ toolset: "Admin",
816
914
  summary: "Delete a role (admin).",
817
915
  purpose: "Permanently remove a role. Users currently assigned this role will lose its permissions.",
818
916
  inputSchema: AdminRoleIdSchema,
@@ -821,6 +919,7 @@ const TOOLS = [
821
919
  },
822
920
  {
823
921
  title: "Admin Reset Roles",
922
+ toolset: "Admin",
824
923
  summary: "Reset all roles to their factory defaults (admin).",
825
924
  purpose: "Restore the built-in roles to their original permission sets. Custom roles are removed.",
826
925
  inputSchema: z.object({}),
@@ -829,6 +928,7 @@ const TOOLS = [
829
928
  },
830
929
  {
831
930
  title: "Admin List Permissions",
931
+ toolset: "Admin",
832
932
  summary: "List all available permission scopes (admin).",
833
933
  purpose: "Retrieve all permission scopes that can be assigned to roles.",
834
934
  inputSchema: z.object({}),
@@ -837,6 +937,7 @@ const TOOLS = [
837
937
  },
838
938
  {
839
939
  title: "Admin Create System Account",
940
+ toolset: "Admin",
840
941
  summary: "Create a new system account (admin).",
841
942
  purpose: "Add a machine/service account that can authenticate via API token rather than user credentials.",
842
943
  inputSchema: CreateSystemAccountSchema,
@@ -845,6 +946,7 @@ const TOOLS = [
845
946
  },
846
947
  {
847
948
  title: "Admin Get System Account Tokens",
949
+ toolset: "Admin",
848
950
  summary: "Retrieve API tokens for a system account (admin).",
849
951
  purpose: "Get the tokens associated with a system account for use in CI/CD pipelines.",
850
952
  inputSchema: GetSystemAccountTokensSchema,