@zereight/mcp-gitlab 2.1.69 → 2.1.70

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 CHANGED
@@ -22,7 +22,7 @@ Supports PAT, OAuth, read-only mode, dynamic API URLs, and remote authorization
22
22
 
23
23
  ### Why use this GitLab MCP?
24
24
 
25
- - **266 tools + `discover_tools`** — start with a small toolset; activate more at runtime without CQRS-style grouping
25
+ - **267 tools + `discover_tools`** — start with a small toolset; activate more at runtime without CQRS-style grouping
26
26
  - **MR 2-step review** — `list_merge_request_changed_files` → batched `get_merge_request_file_diff`
27
27
  - **Agent Skill built in** — workflow guidance in `skills/gitlab-mcp/`
28
28
  - **Flexible auth** — Personal Access Token, local OAuth2 browser flow, MCP OAuth proxy, and per-request remote authorization
@@ -36,7 +36,7 @@ Supports PAT, OAuth, read-only mode, dynamic API URLs, and remote authorization
36
36
  | | @zereight/mcp-gitlab | GitLab MCP A (community CQRS-style) |
37
37
  |---|----------------------|-------------------------------------|
38
38
  | **Best for** | AI agent workflows | Enterprise multi-instance / grouped tools |
39
- | **Tool model** | ~266 granular tools + `discover_tools` | ~50–60 grouped `browse_*` / `manage_*` tools |
39
+ | **Tool model** | ~267 granular tools + `discover_tools` | ~50–60 grouped `browse_*` / `manage_*` tools |
40
40
  | **MR review** | 2-step batched diff | Varies |
41
41
  | **Node.js** | >=18.17 | Often >=24 |
42
42
  | **License** | MIT | Varies |
@@ -116,7 +116,7 @@ The store path is pinned by your lock file; update it with `nix flake update git
116
116
 
117
117
  The examples use `zereight-mcp-gitlab`, a less collision-prone alias for the legacy `mcp-gitlab` binary. If your MCP client cannot find it, use the absolute path from `which zereight-mcp-gitlab`.
118
118
 
119
- No global install? Pin `npx` to the previous stable release (the version these docs recommend), for example `npx -y @zereight/mcp-gitlab@2.1.68`. If you always want the newest release, use `npx -y @zereight/mcp-gitlab@latest` instead. The server prints a notice to stderr on startup when a newer version is available (disable with `GITLAB_DISABLE_VERSION_CHECK=true`).
119
+ No global install? Pin `npx` to the previous stable release (the version these docs recommend), for example `npx -y @zereight/mcp-gitlab@2.1.69`. If you always want the newest release, use `npx -y @zereight/mcp-gitlab@latest` instead. The server prints a notice to stderr on startup when a newer version is available (disable with `GITLAB_DISABLE_VERSION_CHECK=true`).
120
120
 
121
121
  #### Using CLI Arguments (for clients with env var issues)
122
122
 
@@ -155,7 +155,7 @@ CLI arguments take precedence over environment variables.
155
155
 
156
156
  `zereight-mcp-gitlab auth` is a subcommand (not an MCP server flag). It runs GitLab device flow and exits. See [CLI Arguments](./docs/getting-started/cli-arguments.md#auth).
157
157
 
158
- The same binary is also a `gh`-style GitLab CLI (`tool <name>` or curated forms such as `mr list`). Use it for the full payload in a terminal. MCP replies stay in the chat unless you set `GITLAB_MCP_COMPACT_RESULTS=true` (or `--compact-results`), which replaces oversized tool replies with a preview and a CLI command. Human CLI is never compacted. Same permission mode, toolsets, denied-tools regex, and tool-policy filters. Destructive tools and `GITLAB_TOOL_POLICY_APPROVE` tools need `--yes`. See [Human CLI](./docs/getting-started/cli-arguments.md#human-cli).
158
+ The same binary is also a `gh`-style GitLab CLI (`tool <name>` or curated forms such as `mr list`). **No MCP registration is needed** — set a PAT, or run `auth` and set `GITLAB_USE_OAUTH=true`: see [CLI without MCP](./docs/getting-started/cli-without-mcp.md). Use it for the full payload in a terminal. MCP replies stay in the chat unless you set `GITLAB_MCP_COMPACT_RESULTS=true` (or `--compact-results`), which replaces oversized tool replies with a preview and a CLI command. Human CLI is never compacted. Same permission mode, toolsets, denied-tools regex, and tool-policy filters. Destructive tools and `GITLAB_TOOL_POLICY_APPROVE` tools need `--yes`. See [Human CLI](./docs/getting-started/cli-arguments.md#human-cli).
159
159
 
160
160
  > **Fine-grained tool filtering:** use `GITLAB_PERMISSION_MODE=modify` to allow create/update while
161
161
  > blocking every delete tool and the destructive teardown tools (`cancel_pipeline`,
@@ -643,235 +643,236 @@ Register the skill directory in your AI client to get optimal tool usage guidanc
643
643
  36. `create_merge_request_thread` - Create a new thread on a merge request
644
644
  37. `resolve_merge_request_thread` - Resolve a thread on a merge request
645
645
  38. `mr_discussions` - List discussion items for a merge request
646
- 39. `delete_merge_request_discussion_note` - Delete a discussion note on a merge request
647
- 40. `update_merge_request_discussion_note` - Update a discussion note on a merge request
648
- 41. `create_merge_request_discussion_note` - Add a new discussion note to an existing merge request thread
649
- 42. `create_merge_request_note` - Add a new note to a merge request
650
- 43. `delete_merge_request_note` - Delete an existing merge request note
651
- 44. `get_merge_request_note` - Get a specific note for a merge request
652
- 45. `get_merge_request_notes` - List notes for a merge request
653
- 46. `update_merge_request_note` - Modify an existing merge request note
654
- 47. `get_draft_note` - Get a single draft note from a merge request
655
- 48. `list_draft_notes` - List draft notes for a merge request
656
- 49. `create_draft_note` - Create a draft note for a merge request
657
- 50. `update_draft_note` - Update an existing draft note
658
- 51. `delete_draft_note` - Delete a draft note
659
- 52. `publish_draft_note` - Publish a single draft note
660
- 53. `bulk_publish_draft_notes` - Publish all draft notes for a merge request. Optionally sets reviewer_state and posts a summary note (GitLab 19.2+). Can set reviewer_state even with no drafts.
661
- 54. `list_merge_request_emoji_reactions` - List all emoji reactions on a merge request
662
- 55. `list_merge_request_note_emoji_reactions` - List all emoji reactions on a merge request note. Pass discussion_id for discussion thread replies.
663
- 56. `create_merge_request_emoji_reaction` - Add an emoji reaction to a merge request (e.g. thumbsup, rocket, eyes)
664
- 57. `delete_merge_request_emoji_reaction` - Remove an emoji reaction from a merge request
665
- 58. `create_merge_request_note_emoji_reaction` - Add an emoji reaction to a merge request note. Pass discussion_id for discussion thread replies.
666
- 59. `delete_merge_request_note_emoji_reaction` - Remove an emoji reaction from a merge request note. Pass discussion_id for discussion thread replies.
667
- 60. `update_issue_note` - Modify an existing issue thread note
668
- 61. `create_issue_note` - Add a note to an issue, optionally replying to a discussion thread
669
- 62. `list_issue_emoji_reactions` - List all emoji reactions on an issue
670
- 63. `list_issue_note_emoji_reactions` - List all emoji reactions on an issue note. Pass discussion_id for discussion thread replies.
671
- 64. `create_issue_emoji_reaction` - Add an emoji reaction to an issue (e.g. thumbsup, rocket, eyes)
672
- 65. `delete_issue_emoji_reaction` - Remove an emoji reaction from an issue
673
- 66. `create_issue_note_emoji_reaction` - Add an emoji reaction to an issue note. Pass discussion_id for discussion thread replies.
674
- 67. `delete_issue_note_emoji_reaction` - Remove an emoji reaction from an issue note. Pass discussion_id for discussion thread replies.
675
- 68. `list_issues` - List issues (default: created by current user; use scope='all' for all)
676
- 69. `my_issues` - List issues assigned to the authenticated user
677
- 70. `get_issue` - Get details of a specific issue. Returns a slim milestone by default; set full_response=true for the complete milestone object
678
- 71. `update_issue` - Update an issue. Returns a slim confirmation by default; set full_response=true for the complete updated issue object
679
- 72. `update_issue_description_patch` - Apply a patch (search/replace or unified diff) to an issue description. Reduces token usage by allowing small changes without sending the full description. Supports dry_run to preview changes and create_note to summarize updates.
680
- 73. `delete_issue` - Delete an issue
681
- 74. `list_todos` - List GitLab to-do items for the current user
682
- 75. `mark_todo_done` - Mark a GitLab to-do item as done
683
- 76. `mark_all_todos_done` - Mark all pending GitLab to-do items as done for the current user
684
- 77. `list_issue_links` - List all issue links for a specific issue
685
- 78. `list_issue_discussions` - List discussions for an issue
686
- 79. `get_issue_link` - Get a specific issue link
687
- 80. `create_issue_link` - Create an issue link between two issues
688
- 81. `delete_issue_link` - Delete an issue link
689
- 82. `list_namespaces` - List all namespaces (users and groups) available to the current user. Filter by kind='group' for groups only.
690
- 83. `get_namespace` - Get details of a namespace (user or group) by ID or path. Groups are namespaces with kind='group'.
691
- 84. `verify_namespace` - Verify if a namespace path exists. Use parent_id to scope the check to a specific parent namespace — required for nested namespaces where the same path may exist under different parents.
692
- 85. `get_project` - Get details of a specific project
693
- 86. `list_projects` - List projects accessible by the current user
694
- 87. `update_project` - Update project settings such as description, visibility, default branch, and feature access levels
695
- 88. `list_project_members` - List members of a GitLab project
696
- 89. `list_group_members` - List members of a GitLab group with optional name or username search
697
- 90. `list_labels` - List labels for a project
698
- 91. `get_label` - Get a single label from a project
699
- 92. `create_label` - Create a new label in a project
700
- 93. `update_label` - Update an existing label in a project
701
- 94. `delete_label` - Delete a label from a project
702
- 95. `list_group_projects` - List projects in a group
703
- 96. `list_wiki_pages` - List wiki pages in a project
704
- 97. `get_wiki_page` - Get details of a specific wiki page
705
- 98. `create_wiki_page` - Create a wiki page in a project
706
- 99. `update_wiki_page` - Update a wiki page in a project
707
- 100. `delete_wiki_page` - Delete a wiki page from a project
708
- 101. `list_group_wiki_pages` - List wiki pages in a group
709
- 102. `get_group_wiki_page` - Get details of a specific group wiki page
710
- 103. `create_group_wiki_page` - Create a wiki page in a group
711
- 104. `update_group_wiki_page` - Update a wiki page in a group
712
- 105. `delete_group_wiki_page` - Delete a wiki page from a group
713
- 106. `get_repository_tree` - List files and directories in a repository
714
- 107. `list_pipelines` - List pipelines with filtering options
715
- 108. `get_pipeline` - Get details of a specific pipeline
716
- 109. `get_pipeline_variables` - Get variables configured for a pipeline
717
- 110. `get_pipeline_test_report` - Get pipeline test report
718
- 111. `get_pipeline_test_report_summary` - Get pipeline test report summary
719
- 112. `delete_pipeline` - Delete a pipeline. Requires the project Owner role, cannot be undone, and does not automatically delete child pipelines.
720
- 113. `update_pipeline_metadata` - Update pipeline metadata
721
- 114. `list_deployments` - List deployments with filtering options
722
- 115. `get_deployment` - Get deployment details, including approval_summary, approvals, and pending_approval_count when GitLab provides them
723
- 116. `create_deployment` - Create a deployment
724
- 117. `update_deployment` - Update a deployment status
725
- 118. `delete_deployment` - Delete a deployment
726
- 119. `list_deployment_merge_requests` - List merge requests shipped with a deployment
727
- 120. `approve_deployment` - Approve or reject a protected-environment deployment
728
- 121. `list_environments` - List environments in a project
729
- 122. `get_environment` - Get details of a specific environment
730
- 123. `update_environment` - Update an environment
731
- 124. `delete_environment` - Delete a stopped environment
732
- 125. `stop_environment` - Stop an environment
733
- 126. `stop_stale_environments` - Stop eligible stale environments; protected environments are excluded and environments are stopped, not deleted
734
- 127. `delete_review_app_environments` - Schedule deletion of stopped review-app environments one week later; dry_run defaults to true and actual scheduling requires dry_run=false
735
- 128. `list_pipeline_triggers` - List project pipeline trigger tokens
736
- 129. `get_pipeline_trigger` - Get a project pipeline trigger
737
- 130. `create_pipeline_trigger` - Create a project pipeline trigger
738
- 131. `update_pipeline_trigger` - Update a project pipeline trigger
739
- 132. `delete_pipeline_trigger` - Delete a project pipeline trigger
740
- 133. `trigger_pipeline` - Trigger a pipeline with a pipeline trigger token
741
- 134. `list_pipeline_jobs` - List all jobs in a specific pipeline
742
- 135. `list_pipeline_trigger_jobs` - List trigger jobs (bridges) in a pipeline
743
- 136. `get_pipeline_job` - Get details of a GitLab pipeline job number
744
- 137. `get_pipeline_job_output` - Get the output/trace of a pipeline job with optional pagination
745
- 138. `validate_ci_lint` - Validate provided GitLab CI/CD YAML content for a project
746
- 139. `validate_project_ci_lint` - Validate an existing .gitlab-ci.yml configuration for a project
747
- 140. `list_ci_catalog_resources` - List GitLab CI/CD Catalog resources/components visible to the user
748
- 141. `get_ci_catalog_resource` - Get details for a GitLab CI/CD Catalog resource, including versions and components
749
- 142. `create_pipeline` - Create a new pipeline for a branch or tag
750
- 143. `retry_pipeline` - Retry a failed or canceled pipeline
751
- 144. `cancel_pipeline` - Cancel a running pipeline
752
- 145. `list_pipeline_schedules` - List pipeline schedules in a project, optionally filtered to active or inactive
753
- 146. `get_pipeline_schedule` - Get details of a specific pipeline schedule, including its variables and last pipeline
754
- 147. `list_pipeline_schedule_pipelines` - List the pipelines that a pipeline schedule has triggered
755
- 148. `create_pipeline_schedule` - Create a new pipeline schedule for a branch or tag
756
- 149. `update_pipeline_schedule` - Update an existing pipeline schedule
757
- 150. `delete_pipeline_schedule` - Delete a pipeline schedule
758
- 151. `play_pipeline_schedule` - Run a pipeline schedule immediately
759
- 152. `take_ownership_pipeline_schedule` - Take ownership of a pipeline schedule
760
- 153. `get_pipeline_schedule_variable` - Get a single variable of a pipeline schedule
761
- 154. `create_pipeline_schedule_variable` - Create a variable for a pipeline schedule
762
- 155. `update_pipeline_schedule_variable` - Update a variable of a pipeline schedule
763
- 156. `delete_pipeline_schedule_variable` - Delete a variable from a pipeline schedule
764
- 157. `play_pipeline_job` - Run a manual pipeline job
765
- 158. `play_pipeline_jobs` - Play multiple manual pipeline jobs sequentially
766
- 159. `retry_pipeline_job` - Retry a failed or canceled pipeline job
767
- 160. `cancel_pipeline_job` - Cancel a running pipeline job
768
- 161. `erase_pipeline_job` - Erase a pipeline job log and artifacts
769
- 162. `wait_for_pipeline` - Wait for a pipeline to reach a terminal status
770
- 163. `wait_for_job` - Wait for a job to reach a terminal status
771
- 164. `list_job_artifacts` - List artifact files in a job's archive
772
- 165. `download_job_artifacts` - Download job artifact archive (zip) and save to a local path
773
- 166. `get_job_artifact_file` - Get content of a single file from a job's artifacts
774
- 167. `list_merge_requests` - List merge requests (without project_id: user's MRs; with project_id: project MRs)
775
- 168. `list_group_merge_requests` - List merge requests across all projects of a group and its subgroups
776
- 169. `list_milestones` - List milestones with filtering options
777
- 170. `get_milestone` - Get details of a specific milestone
778
- 171. `create_milestone` - Create a new milestone
779
- 172. `edit_milestone` - Edit an existing milestone
780
- 173. `delete_milestone` - Delete a milestone
781
- 174. `get_milestone_issue` - Get issues associated with a specific milestone
782
- 175. `get_milestone_merge_requests` - Get merge requests associated with a specific milestone
783
- 176. `promote_milestone` - Promote a milestone to the next stage
784
- 177. `get_milestone_burndown_events` - Get burndown events for a specific milestone
785
- 178. `list_group_milestones` - List group milestones with filtering options
786
- 179. `get_group_milestone` - Get details of a specific group milestone
787
- 180. `create_group_milestone` - Create a new group milestone
788
- 181. `edit_group_milestone` - Edit an existing group milestone
789
- 182. `delete_group_milestone` - Delete a group milestone
790
- 183. `get_group_milestone_issue` - Get issues associated with a specific group milestone
791
- 184. `get_group_milestone_merge_requests` - Get merge requests associated with a specific group milestone
792
- 185. `get_group_milestone_burndown_events` - Get burndown events for a specific group milestone
793
- 186. `get_users` - Get GitLab user details by usernames
794
- 187. `get_user` - Get user details by ID
795
- 188. `whoami` - Get current authenticated user details
796
- 189. `list_commits` - List repository commits with filtering options
797
- 190. `get_commit` - Get details of a specific commit
798
- 191. `get_commit_diff` - Get changes/diffs of a specific commit
799
- 192. `get_file_blame` - Get git blame for a file at a given ref. Each entry maps a contiguous range of source lines to the commit that last changed them (id, author, authored_date, message). Use range_start/range_end to limit blame to specific lines.
800
- 193. `list_commit_statuses` - List statuses for a commit
801
- 194. `create_commit_status` - Create or update the status of a commit
802
- 195. `list_group_iterations` - List group iterations with filtering options
803
- 196. `upload_markdown` - Upload a file for use in markdown content
804
- 197. `download_attachment` - Download an uploaded file from a project (images returned as base64; use local_path to save to disk)
805
- 198. `health_check` - Verify server status and authentication. Always reports the MCP server version (mcp_server_version). When authenticated, also reports the GitLab instance version from GET /api/v4/version (version, revision, enterprise). Version lookup failures do not fail the health check — those fields are omitted.
806
- 199. `list_events` - List events for the authenticated user (before/after: YYYY-MM-DD)
807
- 200. `get_project_events` - List events for a project (before/after: YYYY-MM-DD)
808
- 201. `list_releases` - List all releases for a project
809
- 202. `get_release` - Get a release by tag name
810
- 203. `create_release` - Create a new release
811
- 204. `update_release` - Update an existing release
812
- 205. `delete_release` - Delete a release (does not delete the tag)
813
- 206. `create_release_evidence` - Create release evidence (Premium/Ultimate)
814
- 207. `download_release_asset` - Download a release asset file by direct asset path
815
- 208. `list_tags` - List repository tags for a project
816
- 209. `get_tag` - Get a repository tag by name
817
- 210. `create_tag` - Create a new repository tag
818
- 211. `delete_tag` - Delete a repository tag
819
- 212. `get_tag_signature` - Get the X.509 signature of a signed tag (404 if unsigned)
820
- 213. `get_work_item` - Get a work item with full details including status, hierarchy, type, and widgets
821
- 214. `list_work_items` - List work items with filters (type, state, search, assignees, labels)
822
- 215. `create_work_item` - Create a work item (issue, task, incident, epic, etc.) with full field support
823
- 216. `update_work_item` - Update a work item (title, description, labels, assignees, state, parent, custom fields, etc.)
824
- 217. `convert_work_item_type` - Convert a work item to a different type
825
- 218. `list_work_item_statuses` - List available statuses for a work item type (Premium/Ultimate)
826
- 219. `list_custom_field_definitions` - List custom field definitions for a work item type
827
- 220. `move_work_item` - Move a work item to a different project
828
- 221. `list_work_item_notes` - List notes and discussions on a work item
829
- 222. `create_work_item_note` - Add a note to a work item (supports Markdown, internal notes, threads)
830
- 223. `list_work_item_emoji_reactions` - List all emoji reactions on a work item
831
- 224. `list_work_item_note_emoji_reactions` - List all emoji reactions on a work item note (comment, thread, or thread reply)
832
- 225. `create_work_item_emoji_reaction` - Add an emoji reaction to a work item (e.g. thumbsup, rocket, eyes)
833
- 226. `delete_work_item_emoji_reaction` - Remove an emoji reaction from a work item
834
- 227. `create_work_item_note_emoji_reaction` - Add an emoji reaction to a work item note (comment, thread, or thread reply)
835
- 228. `delete_work_item_note_emoji_reaction` - Remove an emoji reaction from a work item note (comment, thread, or thread reply)
836
- 229. `get_timeline_events` - List timeline events for an incident
837
- 230. `create_timeline_event` - Create a timeline event on an incident
838
- 231. `list_webhooks` - List webhooks for a project or group
839
- 232. `create_webhook` - Create a webhook on a project or group
840
- 233. `update_webhook` - Update an existing project or group webhook
841
- 234. `delete_webhook` - Delete a project or group webhook
842
- 235. `list_webhook_events` - List recent webhook events (past 7 days)
843
- 236. `get_webhook_event` - Get full details of a specific webhook event
844
- 237. `search_code` - Search for code across all projects (requires advanced search or Zoekt)
845
- 238. `search_project_code` - Search for code within a specific project (requires advanced search or Zoekt)
846
- 239. `search_group_code` - Search for code within a specific group (requires advanced search or Zoekt)
847
- 240. `list_project_variables` - List CI/CD variables for a project
848
- 241. `get_project_variable` - Get a single CI/CD variable from a project
849
- 242. `create_project_variable` - Create a CI/CD variable for a project
850
- 243. `update_project_variable` - Update an existing CI/CD variable in a project
851
- 244. `delete_project_variable` - Delete a CI/CD variable from a project
852
- 245. `list_group_variables` - List CI/CD variables for a group
853
- 246. `get_group_variable` - Get a single CI/CD variable from a group
854
- 247. `create_group_variable` - Create a CI/CD variable for a group
855
- 248. `update_group_variable` - Update an existing CI/CD variable in a group
856
- 249. `delete_group_variable` - Delete a CI/CD variable from a group
857
- 250. `get_dependency_proxy_settings` - Get dependency proxy settings for a group
858
- 251. `update_dependency_proxy_settings` - Update dependency proxy settings for a group (enable/disable, credentials for authenticated Docker Hub pulls)
859
- 252. `list_dependency_proxy_blobs` - List cached dependency proxy blobs for a group
860
- 253. `purge_dependency_proxy_cache` - Schedule purge of all cached dependency proxy blobs for a group
861
- 254. `list_project_vulnerabilities` - List vulnerabilities for a project with optional state, severity, and report type filters (GraphQL-backed, cursor pagination)
862
- 255. `get_vulnerability` - Get full details of a specific vulnerability
863
- 256. `dismiss_vulnerability` - Dismiss a vulnerability with a reason (acceptable_risk, false_positive, used_in_tests, mitigating_control, not_applicable) and optional comment
864
- 257. `confirm_vulnerability` - Confirm a vulnerability as a real finding requiring remediation
865
- 258. `orbit_query` - Execute a GitLab Orbit graph query over the indexed SDLC knowledge graph
866
- 259. `orbit_get_schema` - Fetch the current GitLab Orbit graph schema (node and edge types)
867
- 260. `orbit_get_status` - Check GitLab Orbit indexing status for the enabled scope
868
- 261. `orbit_list_tools` - List the MCP tool definitions exposed by GitLab Orbit
869
- 262. `list_snippets` - List snippets — project snippets when project_id is given, otherwise personal snippets
870
- 263. `get_snippet` - Get a snippet's metadata. Set include_content=true to also fetch the raw file content.
871
- 264. `create_snippet` - Create a snippet — project-scoped when project_id is given, otherwise a personal snippet. Requires title plus either file_name + content (single file) or files[] (multi-file); the two shapes cannot be mixed.
872
- 265. `update_snippet` - Update an existing snippet (provide at least one field to change). For multi-file edits — renames, deletions, additions — pass files[] with action (create/update/delete/move) and previous_path. The file_name + content shortcut still works for single-file content replacement.
873
- 266. `delete_snippet` - Delete a snippet
874
- 267. `discover_tools` - Discover and activate additional tool categories for this session. Available categories: merge_requests, issues, repositories, branches, projects, labels, ci, groups, pipelines, milestones, wiki, releases, tags, snippets, users, workitems, webhooks, search, variables, dependency_proxy, vulnerabilities, orbit. Already-active categories are listed in the response.
646
+ 39. `get_merge_request_discussion` - Get a single discussion item for a merge request
647
+ 40. `delete_merge_request_discussion_note` - Delete a discussion note on a merge request
648
+ 41. `update_merge_request_discussion_note` - Update a discussion note on a merge request
649
+ 42. `create_merge_request_discussion_note` - Add a new discussion note to an existing merge request thread
650
+ 43. `create_merge_request_note` - Add a new note to a merge request
651
+ 44. `delete_merge_request_note` - Delete an existing merge request note
652
+ 45. `get_merge_request_note` - Get a specific note for a merge request
653
+ 46. `get_merge_request_notes` - List notes for a merge request
654
+ 47. `update_merge_request_note` - Modify an existing merge request note
655
+ 48. `get_draft_note` - Get a single draft note from a merge request
656
+ 49. `list_draft_notes` - List draft notes for a merge request
657
+ 50. `create_draft_note` - Create a draft note for a merge request
658
+ 51. `update_draft_note` - Update an existing draft note
659
+ 52. `delete_draft_note` - Delete a draft note
660
+ 53. `publish_draft_note` - Publish a single draft note
661
+ 54. `bulk_publish_draft_notes` - Publish all draft notes for a merge request. Optionally sets reviewer_state and posts a summary note (GitLab 19.2+). Can set reviewer_state even with no drafts.
662
+ 55. `list_merge_request_emoji_reactions` - List all emoji reactions on a merge request
663
+ 56. `list_merge_request_note_emoji_reactions` - List all emoji reactions on a merge request note. Pass discussion_id for discussion thread replies.
664
+ 57. `create_merge_request_emoji_reaction` - Add an emoji reaction to a merge request (e.g. thumbsup, rocket, eyes)
665
+ 58. `delete_merge_request_emoji_reaction` - Remove an emoji reaction from a merge request
666
+ 59. `create_merge_request_note_emoji_reaction` - Add an emoji reaction to a merge request note. Pass discussion_id for discussion thread replies.
667
+ 60. `delete_merge_request_note_emoji_reaction` - Remove an emoji reaction from a merge request note. Pass discussion_id for discussion thread replies.
668
+ 61. `update_issue_note` - Modify an existing issue thread note
669
+ 62. `create_issue_note` - Add a note to an issue, optionally replying to a discussion thread
670
+ 63. `list_issue_emoji_reactions` - List all emoji reactions on an issue
671
+ 64. `list_issue_note_emoji_reactions` - List all emoji reactions on an issue note. Pass discussion_id for discussion thread replies.
672
+ 65. `create_issue_emoji_reaction` - Add an emoji reaction to an issue (e.g. thumbsup, rocket, eyes)
673
+ 66. `delete_issue_emoji_reaction` - Remove an emoji reaction from an issue
674
+ 67. `create_issue_note_emoji_reaction` - Add an emoji reaction to an issue note. Pass discussion_id for discussion thread replies.
675
+ 68. `delete_issue_note_emoji_reaction` - Remove an emoji reaction from an issue note. Pass discussion_id for discussion thread replies.
676
+ 69. `list_issues` - List issues (default: created by current user; use scope='all' for all)
677
+ 70. `my_issues` - List issues assigned to the authenticated user
678
+ 71. `get_issue` - Get details of a specific issue. Returns a slim milestone by default; set full_response=true for the complete milestone object
679
+ 72. `update_issue` - Update an issue. Returns a slim confirmation by default; set full_response=true for the complete updated issue object
680
+ 73. `update_issue_description_patch` - Apply a patch (search/replace or unified diff) to an issue description. Reduces token usage by allowing small changes without sending the full description. Supports dry_run to preview changes and create_note to summarize updates.
681
+ 74. `delete_issue` - Delete an issue
682
+ 75. `list_todos` - List GitLab to-do items for the current user
683
+ 76. `mark_todo_done` - Mark a GitLab to-do item as done
684
+ 77. `mark_all_todos_done` - Mark all pending GitLab to-do items as done for the current user
685
+ 78. `list_issue_links` - List all issue links for a specific issue
686
+ 79. `list_issue_discussions` - List discussions for an issue
687
+ 80. `get_issue_link` - Get a specific issue link
688
+ 81. `create_issue_link` - Create an issue link between two issues
689
+ 82. `delete_issue_link` - Delete an issue link
690
+ 83. `list_namespaces` - List all namespaces (users and groups) available to the current user. Filter by kind='group' for groups only.
691
+ 84. `get_namespace` - Get details of a namespace (user or group) by ID or path. Groups are namespaces with kind='group'.
692
+ 85. `verify_namespace` - Verify if a namespace path exists. Use parent_id to scope the check to a specific parent namespace — required for nested namespaces where the same path may exist under different parents.
693
+ 86. `get_project` - Get details of a specific project
694
+ 87. `list_projects` - List projects accessible by the current user
695
+ 88. `update_project` - Update project settings such as description, visibility, default branch, and feature access levels
696
+ 89. `list_project_members` - List members of a GitLab project
697
+ 90. `list_group_members` - List members of a GitLab group with optional name or username search
698
+ 91. `list_labels` - List labels for a project
699
+ 92. `get_label` - Get a single label from a project
700
+ 93. `create_label` - Create a new label in a project
701
+ 94. `update_label` - Update an existing label in a project
702
+ 95. `delete_label` - Delete a label from a project
703
+ 96. `list_group_projects` - List projects in a group
704
+ 97. `list_wiki_pages` - List wiki pages in a project
705
+ 98. `get_wiki_page` - Get details of a specific wiki page
706
+ 99. `create_wiki_page` - Create a wiki page in a project
707
+ 100. `update_wiki_page` - Update a wiki page in a project
708
+ 101. `delete_wiki_page` - Delete a wiki page from a project
709
+ 102. `list_group_wiki_pages` - List wiki pages in a group
710
+ 103. `get_group_wiki_page` - Get details of a specific group wiki page
711
+ 104. `create_group_wiki_page` - Create a wiki page in a group
712
+ 105. `update_group_wiki_page` - Update a wiki page in a group
713
+ 106. `delete_group_wiki_page` - Delete a wiki page from a group
714
+ 107. `get_repository_tree` - List files and directories in a repository
715
+ 108. `list_pipelines` - List pipelines with filtering options
716
+ 109. `get_pipeline` - Get details of a specific pipeline
717
+ 110. `get_pipeline_variables` - Get variables configured for a pipeline
718
+ 111. `get_pipeline_test_report` - Get pipeline test report
719
+ 112. `get_pipeline_test_report_summary` - Get pipeline test report summary
720
+ 113. `delete_pipeline` - Delete a pipeline. Requires the project Owner role, cannot be undone, and does not automatically delete child pipelines.
721
+ 114. `update_pipeline_metadata` - Update pipeline metadata
722
+ 115. `list_deployments` - List deployments with filtering options
723
+ 116. `get_deployment` - Get deployment details, including approval_summary, approvals, and pending_approval_count when GitLab provides them
724
+ 117. `create_deployment` - Create a deployment
725
+ 118. `update_deployment` - Update a deployment status
726
+ 119. `delete_deployment` - Delete a deployment
727
+ 120. `list_deployment_merge_requests` - List merge requests shipped with a deployment
728
+ 121. `approve_deployment` - Approve or reject a protected-environment deployment
729
+ 122. `list_environments` - List environments in a project
730
+ 123. `get_environment` - Get details of a specific environment
731
+ 124. `update_environment` - Update an environment
732
+ 125. `delete_environment` - Delete a stopped environment
733
+ 126. `stop_environment` - Stop an environment
734
+ 127. `stop_stale_environments` - Stop eligible stale environments; protected environments are excluded and environments are stopped, not deleted
735
+ 128. `delete_review_app_environments` - Schedule deletion of stopped review-app environments one week later; dry_run defaults to true and actual scheduling requires dry_run=false
736
+ 129. `list_pipeline_triggers` - List project pipeline trigger tokens
737
+ 130. `get_pipeline_trigger` - Get a project pipeline trigger
738
+ 131. `create_pipeline_trigger` - Create a project pipeline trigger
739
+ 132. `update_pipeline_trigger` - Update a project pipeline trigger
740
+ 133. `delete_pipeline_trigger` - Delete a project pipeline trigger
741
+ 134. `trigger_pipeline` - Trigger a pipeline with a pipeline trigger token
742
+ 135. `list_pipeline_jobs` - List all jobs in a specific pipeline
743
+ 136. `list_pipeline_trigger_jobs` - List trigger jobs (bridges) in a pipeline
744
+ 137. `get_pipeline_job` - Get details of a GitLab pipeline job number
745
+ 138. `get_pipeline_job_output` - Get the output/trace of a pipeline job with optional pagination
746
+ 139. `validate_ci_lint` - Validate provided GitLab CI/CD YAML content for a project
747
+ 140. `validate_project_ci_lint` - Validate an existing .gitlab-ci.yml configuration for a project
748
+ 141. `list_ci_catalog_resources` - List GitLab CI/CD Catalog resources/components visible to the user
749
+ 142. `get_ci_catalog_resource` - Get details for a GitLab CI/CD Catalog resource, including versions and components
750
+ 143. `create_pipeline` - Create a new pipeline for a branch or tag
751
+ 144. `retry_pipeline` - Retry a failed or canceled pipeline
752
+ 145. `cancel_pipeline` - Cancel a running pipeline
753
+ 146. `list_pipeline_schedules` - List pipeline schedules in a project, optionally filtered to active or inactive
754
+ 147. `get_pipeline_schedule` - Get details of a specific pipeline schedule, including its variables and last pipeline
755
+ 148. `list_pipeline_schedule_pipelines` - List the pipelines that a pipeline schedule has triggered
756
+ 149. `create_pipeline_schedule` - Create a new pipeline schedule for a branch or tag
757
+ 150. `update_pipeline_schedule` - Update an existing pipeline schedule
758
+ 151. `delete_pipeline_schedule` - Delete a pipeline schedule
759
+ 152. `play_pipeline_schedule` - Run a pipeline schedule immediately
760
+ 153. `take_ownership_pipeline_schedule` - Take ownership of a pipeline schedule
761
+ 154. `get_pipeline_schedule_variable` - Get a single variable of a pipeline schedule
762
+ 155. `create_pipeline_schedule_variable` - Create a variable for a pipeline schedule
763
+ 156. `update_pipeline_schedule_variable` - Update a variable of a pipeline schedule
764
+ 157. `delete_pipeline_schedule_variable` - Delete a variable from a pipeline schedule
765
+ 158. `play_pipeline_job` - Run a manual pipeline job
766
+ 159. `play_pipeline_jobs` - Play multiple manual pipeline jobs sequentially
767
+ 160. `retry_pipeline_job` - Retry a failed or canceled pipeline job
768
+ 161. `cancel_pipeline_job` - Cancel a running pipeline job
769
+ 162. `erase_pipeline_job` - Erase a pipeline job log and artifacts
770
+ 163. `wait_for_pipeline` - Wait for a pipeline to reach a terminal status
771
+ 164. `wait_for_job` - Wait for a job to reach a terminal status
772
+ 165. `list_job_artifacts` - List artifact files in a job's archive
773
+ 166. `download_job_artifacts` - Download job artifact archive (zip) and save to a local path
774
+ 167. `get_job_artifact_file` - Get content of a single file from a job's artifacts
775
+ 168. `list_merge_requests` - List merge requests (without project_id: user's MRs; with project_id: project MRs)
776
+ 169. `list_group_merge_requests` - List merge requests across all projects of a group and its subgroups
777
+ 170. `list_milestones` - List milestones with filtering options
778
+ 171. `get_milestone` - Get details of a specific milestone
779
+ 172. `create_milestone` - Create a new milestone
780
+ 173. `edit_milestone` - Edit an existing milestone
781
+ 174. `delete_milestone` - Delete a milestone
782
+ 175. `get_milestone_issue` - Get issues associated with a specific milestone
783
+ 176. `get_milestone_merge_requests` - Get merge requests associated with a specific milestone
784
+ 177. `promote_milestone` - Promote a milestone to the next stage
785
+ 178. `get_milestone_burndown_events` - Get burndown events for a specific milestone
786
+ 179. `list_group_milestones` - List group milestones with filtering options
787
+ 180. `get_group_milestone` - Get details of a specific group milestone
788
+ 181. `create_group_milestone` - Create a new group milestone
789
+ 182. `edit_group_milestone` - Edit an existing group milestone
790
+ 183. `delete_group_milestone` - Delete a group milestone
791
+ 184. `get_group_milestone_issue` - Get issues associated with a specific group milestone
792
+ 185. `get_group_milestone_merge_requests` - Get merge requests associated with a specific group milestone
793
+ 186. `get_group_milestone_burndown_events` - Get burndown events for a specific group milestone
794
+ 187. `get_users` - Get GitLab user details by usernames
795
+ 188. `get_user` - Get user details by ID
796
+ 189. `whoami` - Get current authenticated user details
797
+ 190. `list_commits` - List repository commits with filtering options
798
+ 191. `get_commit` - Get details of a specific commit
799
+ 192. `get_commit_diff` - Get changes/diffs of a specific commit
800
+ 193. `get_file_blame` - Get git blame for a file at a given ref. Each entry maps a contiguous range of source lines to the commit that last changed them (id, author, authored_date, message). Use range_start/range_end to limit blame to specific lines.
801
+ 194. `list_commit_statuses` - List statuses for a commit
802
+ 195. `create_commit_status` - Create or update the status of a commit
803
+ 196. `list_group_iterations` - List group iterations with filtering options
804
+ 197. `upload_markdown` - Upload a file for use in markdown content
805
+ 198. `download_attachment` - Download an uploaded file from a project (images returned as base64; use local_path to save to disk)
806
+ 199. `health_check` - Verify server status and authentication. Always reports the MCP server version (mcp_server_version). When authenticated, also reports the GitLab instance version from GET /api/v4/version (version, revision, enterprise). Version lookup failures do not fail the health check — those fields are omitted.
807
+ 200. `list_events` - List events for the authenticated user (before/after: YYYY-MM-DD)
808
+ 201. `get_project_events` - List events for a project (before/after: YYYY-MM-DD)
809
+ 202. `list_releases` - List all releases for a project
810
+ 203. `get_release` - Get a release by tag name
811
+ 204. `create_release` - Create a new release
812
+ 205. `update_release` - Update an existing release
813
+ 206. `delete_release` - Delete a release (does not delete the tag)
814
+ 207. `create_release_evidence` - Create release evidence (Premium/Ultimate)
815
+ 208. `download_release_asset` - Download a release asset file by direct asset path
816
+ 209. `list_tags` - List repository tags for a project
817
+ 210. `get_tag` - Get a repository tag by name
818
+ 211. `create_tag` - Create a new repository tag
819
+ 212. `delete_tag` - Delete a repository tag
820
+ 213. `get_tag_signature` - Get the X.509 signature of a signed tag (404 if unsigned)
821
+ 214. `get_work_item` - Get a work item with full details including status, hierarchy, type, and widgets
822
+ 215. `list_work_items` - List work items with filters (type, state, search, assignees, labels)
823
+ 216. `create_work_item` - Create a work item (issue, task, incident, epic, etc.) with full field support
824
+ 217. `update_work_item` - Update a work item (title, description, labels, assignees, state, parent, custom fields, etc.)
825
+ 218. `convert_work_item_type` - Convert a work item to a different type
826
+ 219. `list_work_item_statuses` - List available statuses for a work item type (Premium/Ultimate)
827
+ 220. `list_custom_field_definitions` - List custom field definitions for a work item type
828
+ 221. `move_work_item` - Move a work item to a different project
829
+ 222. `list_work_item_notes` - List notes and discussions on a work item
830
+ 223. `create_work_item_note` - Add a note to a work item (supports Markdown, internal notes, threads)
831
+ 224. `list_work_item_emoji_reactions` - List all emoji reactions on a work item
832
+ 225. `list_work_item_note_emoji_reactions` - List all emoji reactions on a work item note (comment, thread, or thread reply)
833
+ 226. `create_work_item_emoji_reaction` - Add an emoji reaction to a work item (e.g. thumbsup, rocket, eyes)
834
+ 227. `delete_work_item_emoji_reaction` - Remove an emoji reaction from a work item
835
+ 228. `create_work_item_note_emoji_reaction` - Add an emoji reaction to a work item note (comment, thread, or thread reply)
836
+ 229. `delete_work_item_note_emoji_reaction` - Remove an emoji reaction from a work item note (comment, thread, or thread reply)
837
+ 230. `get_timeline_events` - List timeline events for an incident
838
+ 231. `create_timeline_event` - Create a timeline event on an incident
839
+ 232. `list_webhooks` - List webhooks for a project or group
840
+ 233. `create_webhook` - Create a webhook on a project or group
841
+ 234. `update_webhook` - Update an existing project or group webhook
842
+ 235. `delete_webhook` - Delete a project or group webhook
843
+ 236. `list_webhook_events` - List recent webhook events (past 7 days)
844
+ 237. `get_webhook_event` - Get full details of a specific webhook event
845
+ 238. `search_code` - Search for code across all projects (requires advanced search or Zoekt)
846
+ 239. `search_project_code` - Search for code within a specific project (requires advanced search or Zoekt)
847
+ 240. `search_group_code` - Search for code within a specific group (requires advanced search or Zoekt)
848
+ 241. `list_project_variables` - List CI/CD variables for a project
849
+ 242. `get_project_variable` - Get a single CI/CD variable from a project
850
+ 243. `create_project_variable` - Create a CI/CD variable for a project
851
+ 244. `update_project_variable` - Update an existing CI/CD variable in a project
852
+ 245. `delete_project_variable` - Delete a CI/CD variable from a project
853
+ 246. `list_group_variables` - List CI/CD variables for a group
854
+ 247. `get_group_variable` - Get a single CI/CD variable from a group
855
+ 248. `create_group_variable` - Create a CI/CD variable for a group
856
+ 249. `update_group_variable` - Update an existing CI/CD variable in a group
857
+ 250. `delete_group_variable` - Delete a CI/CD variable from a group
858
+ 251. `get_dependency_proxy_settings` - Get dependency proxy settings for a group
859
+ 252. `update_dependency_proxy_settings` - Update dependency proxy settings for a group (enable/disable, credentials for authenticated Docker Hub pulls)
860
+ 253. `list_dependency_proxy_blobs` - List cached dependency proxy blobs for a group
861
+ 254. `purge_dependency_proxy_cache` - Schedule purge of all cached dependency proxy blobs for a group
862
+ 255. `list_project_vulnerabilities` - List vulnerabilities for a project with optional state, severity, and report type filters (GraphQL-backed, cursor pagination)
863
+ 256. `get_vulnerability` - Get full details of a specific vulnerability
864
+ 257. `dismiss_vulnerability` - Dismiss a vulnerability with a reason (acceptable_risk, false_positive, used_in_tests, mitigating_control, not_applicable) and optional comment
865
+ 258. `confirm_vulnerability` - Confirm a vulnerability as a real finding requiring remediation
866
+ 259. `orbit_query` - Execute a GitLab Orbit graph query over the indexed SDLC knowledge graph
867
+ 260. `orbit_get_schema` - Fetch the current GitLab Orbit graph schema (node and edge types)
868
+ 261. `orbit_get_status` - Check GitLab Orbit indexing status for the enabled scope
869
+ 262. `orbit_list_tools` - List the MCP tool definitions exposed by GitLab Orbit
870
+ 263. `list_snippets` - List snippets — project snippets when project_id is given, otherwise personal snippets
871
+ 264. `get_snippet` - Get a snippet's metadata. Set include_content=true to also fetch the raw file content.
872
+ 265. `create_snippet` - Create a snippet — project-scoped when project_id is given, otherwise a personal snippet. Requires title plus either file_name + content (single file) or files[] (multi-file); the two shapes cannot be mixed.
873
+ 266. `update_snippet` - Update an existing snippet (provide at least one field to change). For multi-file edits — renames, deletions, additions — pass files[] with action (create/update/delete/move) and previous_path. The file_name + content shortcut still works for single-file content replacement.
874
+ 267. `delete_snippet` - Delete a snippet
875
+ 268. `discover_tools` - Discover and activate additional tool categories for this session. Available categories: merge_requests, issues, repositories, branches, projects, labels, ci, groups, pipelines, milestones, wiki, releases, tags, snippets, users, workitems, webhooks, search, variables, dependency_proxy, vulnerabilities, orbit. Already-active categories are listed in the response.
875
876
 
876
877
  <!-- TOOLS-END -->
877
878