gitlab-mcp 1.2.1 → 1.4.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 (52) hide show
  1. package/README.md +36 -29
  2. package/dist/config/dotenv.js +6 -2
  3. package/dist/config/dotenv.js.map +1 -1
  4. package/dist/config/env.d.ts +5 -2
  5. package/dist/config/env.js +27 -1
  6. package/dist/config/env.js.map +1 -1
  7. package/dist/http-app.js +10 -3
  8. package/dist/http-app.js.map +1 -1
  9. package/dist/http.js +6 -4
  10. package/dist/http.js.map +1 -1
  11. package/dist/index.js +6 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/auth-context.d.ts +2 -1
  14. package/dist/lib/auth-context.js.map +1 -1
  15. package/dist/lib/gitlab-client.d.ts +42 -8
  16. package/dist/lib/gitlab-client.js +380 -42
  17. package/dist/lib/gitlab-client.js.map +1 -1
  18. package/dist/lib/network.js +12 -6
  19. package/dist/lib/network.js.map +1 -1
  20. package/dist/lib/oauth-scopes.d.ts +2 -0
  21. package/dist/lib/oauth-scopes.js +16 -0
  22. package/dist/lib/oauth-scopes.js.map +1 -0
  23. package/dist/lib/policy.d.ts +5 -1
  24. package/dist/lib/policy.js +11 -1
  25. package/dist/lib/policy.js.map +1 -1
  26. package/dist/lib/regex.d.ts +5 -0
  27. package/dist/lib/regex.js +111 -0
  28. package/dist/lib/regex.js.map +1 -0
  29. package/dist/lib/request-runtime.js +24 -11
  30. package/dist/lib/request-runtime.js.map +1 -1
  31. package/dist/lib/tool-capabilities.d.ts +3 -0
  32. package/dist/lib/tool-capabilities.js +3 -0
  33. package/dist/lib/tool-capabilities.js.map +1 -0
  34. package/dist/lib/tool-schema.d.ts +14 -0
  35. package/dist/lib/tool-schema.js +52 -0
  36. package/dist/lib/tool-schema.js.map +1 -0
  37. package/dist/tools/gitlab.js +496 -299
  38. package/dist/tools/gitlab.js.map +1 -1
  39. package/dist/tools/mr-code-context.d.ts +1 -1
  40. package/dist/tools/mr-code-context.js +2 -1
  41. package/dist/tools/mr-code-context.js.map +1 -1
  42. package/dist/types/auth.d.ts +1 -0
  43. package/dist/types/auth.js +2 -0
  44. package/dist/types/auth.js.map +1 -0
  45. package/dist/types/context.d.ts +1 -0
  46. package/docs/architecture.md +7 -6
  47. package/docs/authentication.md +4 -1
  48. package/docs/configuration.md +25 -22
  49. package/docs/deployment.md +9 -1
  50. package/docs/mcp-integration-testing-best-practices.md +381 -730
  51. package/docs/tools.md +76 -66
  52. package/package.json +1 -1
package/docs/tools.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Tools Reference
2
2
 
3
- This document lists all MCP tools provided by gitlab-mcp. Each tool is prefixed with `gitlab_` (except `health_check`). Tools marked as **mutating** are disabled when `GITLAB_READ_ONLY_MODE=true`.
3
+ This document lists all MCP tools provided by gitlab-mcp. Each tool is prefixed with `gitlab_` (except `health_check`). The **Mutating** column is a legacy shorthand for read-only mode visibility; runtime policy additionally classifies tools by capability (`read`, `write`, `delete`, `admin`, `graphql`).
4
4
 
5
5
  All project-scoped tools accept an optional `project_id` parameter. When `GITLAB_ALLOWED_PROJECT_IDS` is configured with a single project, `project_id` is automatically inferred.
6
6
 
@@ -88,6 +88,7 @@ Most list endpoints support `page` and `per_page`. Notable exceptions are `gitla
88
88
  | `gitlab_list_merge_request_diffs` | No | List detailed MR diffs (versions/changes view). Supports `unidiff`. |
89
89
  | `gitlab_list_merge_request_versions` | No | List MR diff versions. |
90
90
  | `gitlab_get_merge_request_version` | No | Get one MR diff version. Params: `version_id` (required), `unidiff`. |
91
+ | `gitlab_get_merge_request_conflicts` | No | Get merge request conflict details from GitLab's conflicts endpoint. |
91
92
 
92
93
  ### MR Code Context
93
94
 
@@ -125,43 +126,43 @@ Most list endpoints support `page` and `per_page`. Notable exceptions are `gitla
125
126
 
126
127
  ## MR Discussions
127
128
 
128
- | Tool | Mutating | Description |
129
- | --------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
130
- | `gitlab_list_merge_request_discussions` | No | List MR discussions. |
131
- | `gitlab_mr_discussions` | No | Alias of `list_merge_request_discussions`. |
132
- | `gitlab_create_merge_request_thread` | **Yes** | Create a new discussion thread. Params: `body` (required). Supports `position` (for diff comments), `created_at`. |
133
- | `gitlab_create_merge_request_discussion_note` | **Yes** | Reply to an existing discussion thread. Params: `discussion_id`, `body` (required). |
134
- | `gitlab_update_merge_request_discussion_note` | **Yes** | Update a discussion note. Provide either `body` or `resolved` (not both). |
135
- | `gitlab_delete_merge_request_discussion_note` | **Yes** | Delete a note from a discussion thread. |
136
- | `gitlab_resolve_merge_request_thread` | **Yes** | Resolve/unresolve a discussion note. Params: `discussion_id`, `note_id`, `resolved` (default `true`). |
129
+ | Tool | Mutating | Description |
130
+ | --------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
131
+ | `gitlab_list_merge_request_discussions` | No | List MR discussions. |
132
+ | `gitlab_mr_discussions` | No | Alias of `list_merge_request_discussions`. |
133
+ | `gitlab_create_merge_request_thread` | **Yes** | Create a new discussion thread. Params: `body` (required). Supports `position` (for diff comments), `created_at`. |
134
+ | `gitlab_create_merge_request_discussion_note` | **Yes** | Reply to an existing discussion thread. Params: `discussion_id`, `body` (required). |
135
+ | `gitlab_update_merge_request_discussion_note` | **Yes** | Update a discussion note. Provide either `body` or `resolved` (not both). |
136
+ | `gitlab_delete_merge_request_discussion_note` | **Yes** | Delete an MR discussion note permanently. Irreversible. Requires `merge_request_iid`, `discussion_id`, `note_id`. Pre-check with `list_merge_request_discussions`. |
137
+ | `gitlab_resolve_merge_request_thread` | **Yes** | Resolve/unresolve a discussion note. Params: `discussion_id`, `note_id`, `resolved` (default `true`). |
137
138
 
138
139
  ---
139
140
 
140
141
  ## MR Notes (Comments)
141
142
 
142
- | Tool | Mutating | Description |
143
- | ---------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
144
- | `gitlab_list_merge_request_notes` | No | List top-level MR notes. Supports `sort`, `order_by`. |
145
- | `gitlab_get_merge_request_notes` | No | Alias of `list_merge_request_notes`. |
146
- | `gitlab_get_merge_request_note` | No | Get a single MR note by ID. |
147
- | `gitlab_create_merge_request_note` | **Yes** | Create a top-level MR comment. Params: `body` (required). |
148
- | `gitlab_update_merge_request_note` | **Yes** | Update MR note body. Params: `note_id`, `body` (required). |
149
- | `gitlab_delete_merge_request_note` | **Yes** | Delete an MR note. |
150
- | `gitlab_create_note` | **Yes** | Create a note on an issue or MR. Params: `noteable_type` (`issue`/`merge_request`), `noteable_iid`, `body` (required). |
143
+ | Tool | Mutating | Description |
144
+ | ---------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
145
+ | `gitlab_list_merge_request_notes` | No | List top-level MR notes. Supports `sort`, `order_by`. |
146
+ | `gitlab_get_merge_request_notes` | No | Alias of `list_merge_request_notes`. |
147
+ | `gitlab_get_merge_request_note` | No | Get a single MR note by ID. |
148
+ | `gitlab_create_merge_request_note` | **Yes** | Create a top-level MR comment. Params: `body` (required). |
149
+ | `gitlab_update_merge_request_note` | **Yes** | Update MR note body. Params: `note_id`, `body` (required). |
150
+ | `gitlab_delete_merge_request_note` | **Yes** | Delete a top-level MR note permanently. Irreversible. Requires `merge_request_iid`, `note_id`. Pre-check with `get_merge_request_note` or `list_merge_request_notes`. |
151
+ | `gitlab_create_note` | **Yes** | Create a note on an issue or MR. Params: `noteable_type` (`issue`/`merge_request`), `noteable_iid`, `body` (required). |
151
152
 
152
153
  ---
153
154
 
154
155
  ## Draft Notes
155
156
 
156
- | Tool | Mutating | Description |
157
- | --------------------------------- | -------- | ------------------------------------------------------------------------------------------ |
158
- | `gitlab_get_draft_note` | No | Get a single draft note. |
159
- | `gitlab_list_draft_notes` | No | List draft notes on an MR. |
160
- | `gitlab_create_draft_note` | **Yes** | Create a draft note. Params: `body` (required). Supports `position`, `resolve_discussion`. |
161
- | `gitlab_update_draft_note` | **Yes** | Update a draft note. At least one of `body`, `position`, or `resolve_discussion` required. |
162
- | `gitlab_delete_draft_note` | **Yes** | Delete a draft note. |
163
- | `gitlab_publish_draft_note` | **Yes** | Publish one draft note. |
164
- | `gitlab_bulk_publish_draft_notes` | **Yes** | Publish all draft notes on an MR. |
157
+ | Tool | Mutating | Description |
158
+ | --------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
159
+ | `gitlab_get_draft_note` | No | Get a single draft note. |
160
+ | `gitlab_list_draft_notes` | No | List draft notes on an MR. |
161
+ | `gitlab_create_draft_note` | **Yes** | Create a draft note. Params: `body` (required). Supports `position`, `resolve_discussion`. |
162
+ | `gitlab_update_draft_note` | **Yes** | Update a draft note. At least one of `body`, `position`, or `resolve_discussion` required. |
163
+ | `gitlab_delete_draft_note` | **Yes** | Delete a draft note permanently. Irreversible. Requires `merge_request_iid`, `draft_note_id`. Pre-check with `get_draft_note` or `list_draft_notes`. |
164
+ | `gitlab_publish_draft_note` | **Yes** | Publish one draft note. |
165
+ | `gitlab_bulk_publish_draft_notes` | **Yes** | Publish all draft notes on an MR. |
165
166
 
166
167
  ---
167
168
 
@@ -174,7 +175,7 @@ Most list endpoints support `page` and `per_page`. Notable exceptions are `gitla
174
175
  | `gitlab_get_issue` | No | Get issue by IID. |
175
176
  | `gitlab_create_issue` | **Yes** | Create an issue. Params: `title` (required). Supports `description`, `labels`, `milestone_id`, `due_date`, `confidential`, `issue_type`, `assignee_ids`. |
176
177
  | `gitlab_update_issue` | **Yes** | Update issue fields. Supports `title`, `description`, `state_event`, `labels`, `assignee_ids`, `weight`, `issue_type`, `discussion_locked`. |
177
- | `gitlab_delete_issue` | **Yes** | Delete an issue. |
178
+ | `gitlab_delete_issue` | **Yes** | Delete an issue permanently. Irreversible. Requires `issue_iid`. Pre-check with `get_issue`. |
178
179
  | `gitlab_list_issue_discussions` | No | List issue discussions. |
179
180
  | `gitlab_create_issue_note` | **Yes** | Create issue comment. Params: `body` (required). Supports `discussion_id` (to reply to thread), `created_at`. |
180
181
  | `gitlab_update_issue_note` | **Yes** | Update an issue note. Provide either `body` or `resolved` (not both). |
@@ -186,7 +187,7 @@ Most list endpoints support `page` and `per_page`. Notable exceptions are `gitla
186
187
  | `gitlab_list_issue_links` | No | List related issue links. |
187
188
  | `gitlab_get_issue_link` | No | Get a single issue link by ID. |
188
189
  | `gitlab_create_issue_link` | **Yes** | Create a relation between two issues. Params: `target_project_id`, `target_issue_iid` (required). Supports `link_type` (`relates_to`, `blocks`, `is_blocked_by`). |
189
- | `gitlab_delete_issue_link` | **Yes** | Delete a relation between issues. |
190
+ | `gitlab_delete_issue_link` | **Yes** | Delete an issue link permanently. Irreversible for that relation. Requires `issue_iid`, `issue_link_id`. Pre-check with `get_issue_link` or `list_issue_links`. |
190
191
 
191
192
  ---
192
193
 
@@ -200,7 +201,7 @@ Requires `USE_GITLAB_WIKI=true` (default).
200
201
  | `gitlab_get_wiki_page` | No | Get wiki page by slug. Supports `version`. |
201
202
  | `gitlab_create_wiki_page` | **Yes** | Create a wiki page. Params: `title`, `content` (required). Supports `format` (`markdown`, `rdoc`, `asciidoc`, `org`). |
202
203
  | `gitlab_update_wiki_page` | **Yes** | Update wiki page by slug. Params: `slug`, `content` (required). Supports `title`, `format`. |
203
- | `gitlab_delete_wiki_page` | **Yes** | Delete wiki page by slug. |
204
+ | `gitlab_delete_wiki_page` | **Yes** | Delete a wiki page permanently. Irreversible. Requires `slug`. Pre-check with `get_wiki_page` or `list_wiki_pages`. |
204
205
 
205
206
  ---
206
207
 
@@ -208,20 +209,29 @@ Requires `USE_GITLAB_WIKI=true` (default).
208
209
 
209
210
  Requires `USE_PIPELINE=true` (default).
210
211
 
211
- | Tool | Mutating | Description |
212
- | ----------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
213
- | `gitlab_list_pipelines` | No | List pipelines. Supports `scope`, `status`, `ref`, `sha`, `username`, `source`, `order_by`, `sort`, date filters. |
214
- | `gitlab_get_pipeline` | No | Get one pipeline by ID. |
215
- | `gitlab_list_pipeline_jobs` | No | List jobs in a pipeline. Supports `scope`, `include_retried`. |
216
- | `gitlab_list_pipeline_trigger_jobs` | No | List downstream/bridge trigger jobs in a pipeline. |
217
- | `gitlab_get_pipeline_job` | No | Get one job by ID. |
218
- | `gitlab_get_pipeline_job_output` | No | Get raw job trace/log output. |
219
- | `gitlab_create_pipeline` | **Yes** | Trigger a new pipeline. Params: `ref` (required). Supports `variables` array (`key`, `value`, `variable_type`). |
220
- | `gitlab_retry_pipeline` | **Yes** | Retry failed jobs in a pipeline. |
221
- | `gitlab_cancel_pipeline` | **Yes** | Cancel a running pipeline. |
222
- | `gitlab_retry_pipeline_job` | **Yes** | Retry one failed job. |
223
- | `gitlab_cancel_pipeline_job` | **Yes** | Cancel one running job. |
224
- | `gitlab_play_pipeline_job` | **Yes** | Play/trigger a manual job. |
212
+ | Tool | Mutating | Description |
213
+ | ------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
214
+ | `gitlab_list_pipelines` | No | List pipelines. Supports `scope`, `status`, `ref`, `sha`, `username`, `source`, `order_by`, `sort`, date filters. |
215
+ | `gitlab_get_pipeline` | No | Get one pipeline by ID. |
216
+ | `gitlab_list_deployments` | No | List deployments. Supports `environment`, `ref`, `sha`, `status`, `order_by`, `sort`, date filters. |
217
+ | `gitlab_get_deployment` | No | Get one deployment by ID. |
218
+ | `gitlab_list_environments` | No | List environments. Supports `name`, `search`, `states`, pagination. |
219
+ | `gitlab_get_environment` | No | Get one environment by ID. |
220
+ | `gitlab_list_pipeline_jobs` | No | List jobs in a pipeline. Supports `scope`, `include_retried`. |
221
+ | `gitlab_list_pipeline_trigger_jobs` | No | List downstream/bridge trigger jobs in a pipeline. |
222
+ | `gitlab_get_pipeline_job` | No | Get one job by ID. |
223
+ | `gitlab_get_pipeline_job_output` | No | Get raw job trace/log output. |
224
+ | `gitlab_list_job_artifacts` | No | List files and directories inside a job artifacts archive. Supports `path`, `recursive`. |
225
+ | `gitlab_download_job_artifacts` | No | Download the full artifacts archive as base64 content. |
226
+ | `gitlab_download_job_artifacts_local` | **Yes** | Download the full artifacts archive to a local directory. Supports `local_path`. Available only on local transports; not exposed over HTTP. |
227
+ | `gitlab_get_job_artifact_file` | No | Return one file from a job artifacts archive as inline content. Text-like files are UTF-8; binary files are base64. |
228
+ | `gitlab_get_job_artifact_file_local` | **Yes** | Save one file from a job artifacts archive to a local directory. Supports `local_path`. Available only on local transports; not exposed over HTTP. |
229
+ | `gitlab_create_pipeline` | **Yes** | Trigger a new pipeline. Params: `ref` (required). Supports `variables` array (`key`, `value`, `variable_type`) and typed `inputs` for `spec:inputs` (`string`, `number`, `boolean`, arrays). |
230
+ | `gitlab_retry_pipeline` | **Yes** | Retry failed jobs in a pipeline. |
231
+ | `gitlab_cancel_pipeline` | **Yes** | Cancel a running pipeline. |
232
+ | `gitlab_retry_pipeline_job` | **Yes** | Retry one failed job. |
233
+ | `gitlab_cancel_pipeline_job` | **Yes** | Cancel one running job. |
234
+ | `gitlab_play_pipeline_job` | **Yes** | Play/trigger a manual job. |
225
235
 
226
236
  ---
227
237
 
@@ -229,18 +239,18 @@ Requires `USE_PIPELINE=true` (default).
229
239
 
230
240
  Requires `USE_MILESTONE=true` (default).
231
241
 
232
- | Tool | Mutating | Description |
233
- | -------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------- |
234
- | `gitlab_list_milestones` | No | List project milestones. Supports `iids`, `state`, `title`, `search`, `include_ancestors`, date filters. |
235
- | `gitlab_get_milestone` | No | Get a milestone by ID. |
236
- | `gitlab_create_milestone` | **Yes** | Create a milestone. Params: `title` (required). Supports `description`, `due_date`, `start_date`. |
237
- | `gitlab_update_milestone` | **Yes** | Update milestone fields. |
238
- | `gitlab_edit_milestone` | **Yes** | Alias of `update_milestone`. |
239
- | `gitlab_delete_milestone` | **Yes** | Delete a milestone. |
240
- | `gitlab_get_milestone_issue` | No | List issues assigned to a milestone. |
241
- | `gitlab_get_milestone_merge_requests` | No | List MRs assigned to a milestone. |
242
- | `gitlab_promote_milestone` | **Yes** | Promote a project milestone to a group milestone. |
243
- | `gitlab_get_milestone_burndown_events` | No | List burndown events for a milestone. |
242
+ | Tool | Mutating | Description |
243
+ | -------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------- |
244
+ | `gitlab_list_milestones` | No | List project milestones. Supports `iids`, `state`, `title`, `search`, `include_ancestors`, date filters. |
245
+ | `gitlab_get_milestone` | No | Get a milestone by ID. |
246
+ | `gitlab_create_milestone` | **Yes** | Create a milestone. Params: `title` (required). Supports `description`, `due_date`, `start_date`. |
247
+ | `gitlab_update_milestone` | **Yes** | Update milestone fields. |
248
+ | `gitlab_edit_milestone` | **Yes** | Alias of `update_milestone`. |
249
+ | `gitlab_delete_milestone` | **Yes** | Delete a milestone permanently. Irreversible. Requires `milestone_id`. Pre-check with `get_milestone` or `list_milestones`. |
250
+ | `gitlab_get_milestone_issue` | No | List issues assigned to a milestone. |
251
+ | `gitlab_get_milestone_merge_requests` | No | List MRs assigned to a milestone. |
252
+ | `gitlab_promote_milestone` | **Yes** | Promote a project milestone to a group milestone. |
253
+ | `gitlab_get_milestone_burndown_events` | No | List burndown events for a milestone. |
244
254
 
245
255
  ---
246
256
 
@@ -254,7 +264,7 @@ Requires `USE_RELEASE=true` (default).
254
264
  | `gitlab_get_release` | No | Get one release by tag name. |
255
265
  | `gitlab_create_release` | **Yes** | Create a release. Params: `tag_name` (required). Supports `name`, `tag_message`, `description`, `ref`, `released_at`, `milestones`, `assets`. |
256
266
  | `gitlab_update_release` | **Yes** | Update existing release. |
257
- | `gitlab_delete_release` | **Yes** | Delete a release by tag. |
267
+ | `gitlab_delete_release` | **Yes** | Delete the release entry for `tag_name` permanently. Irreversible for the release record. Pre-check with `get_release` or `list_releases`. |
258
268
  | `gitlab_create_release_evidence` | **Yes** | Create evidence for an existing release. |
259
269
  | `gitlab_download_release_asset` | No | Download a release asset. Params: `tag_name`, `direct_asset_path` (required). |
260
270
 
@@ -262,13 +272,13 @@ Requires `USE_RELEASE=true` (default).
262
272
 
263
273
  ## Labels
264
274
 
265
- | Tool | Mutating | Description |
266
- | --------------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
267
- | `gitlab_list_labels` | No | List project labels. Supports `with_counts`, `include_ancestor_groups`, `search`. |
268
- | `gitlab_get_label` | No | Get one label by ID. Supports `include_ancestor_groups`. |
269
- | `gitlab_create_label` | **Yes** | Create a label. Params: `name`, `color` (required). Supports `description`, `priority`. |
270
- | `gitlab_update_label` | **Yes** | Update a label. Identify by `name` or `label_id`. Supports `new_name`, `color`, `description`, `priority`. |
271
- | `gitlab_delete_label` | **Yes** | Delete a label. Identify by `name` or `label_id`. |
275
+ | Tool | Mutating | Description |
276
+ | --------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
277
+ | `gitlab_list_labels` | No | List project labels. Supports `with_counts`, `include_ancestor_groups`, `search`. |
278
+ | `gitlab_get_label` | No | Get one label by ID. Supports `include_ancestor_groups`. |
279
+ | `gitlab_create_label` | **Yes** | Create a label. Params: `name`, `color` (required). Supports `description`, `priority`. |
280
+ | `gitlab_update_label` | **Yes** | Update a label. Identify by `name` or `label_id`. Supports `new_name`, `color`, `description`, `priority`. |
281
+ | `gitlab_delete_label` | **Yes** | Delete a label permanently. Irreversible. Identify by `name` or `label_id`. Pre-check with `get_label` or `list_labels`. |
272
282
 
273
283
  ---
274
284
 
@@ -289,6 +299,6 @@ Requires `USE_RELEASE=true` (default).
289
299
  | `gitlab_execute_graphql_mutation` | **Yes** | Execute a GraphQL mutation. Disabled in read-only mode. |
290
300
  | `gitlab_execute_graphql` | No\* | Backward-compatible executor. Automatically detects mutations and enforces read-only policy. |
291
301
 
292
- \* `gitlab_execute_graphql` is registered as non-mutating but dynamically checks mutation content against the policy engine at execution time.
302
+ \* `gitlab_execute_graphql` is registered with read + graphql capability and dynamically requires write + graphql capability when the payload contains a mutation.
293
303
 
294
304
  When `GITLAB_ALLOWED_PROJECT_IDS` is configured, GraphQL tools are disabled by default. Set `GITLAB_ALLOW_GRAPHQL_WITH_PROJECT_SCOPE=true` to enable them explicitly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitlab-mcp",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "description": "A MCP server for GitLab",
5
5
  "type": "module",
6
6
  "bin": {