GITLAB TOOLS

190 tools from the Gitlab MCP Server, categorised by risk level.

READ 105 tools
Read gitlab_execute_graphql_query Execute read-only GraphQL query. Read gitlab_download_attachment Download attachment by URL/path and return base64. Read gitlab_download_job_artifacts Download the full job artifacts archive as base64 content. Read gitlab_download_job_artifacts_local Download the full job artifacts archive to a local directory. Read gitlab_download_release_asset Download a release asset using its direct asset path. Read gitlab_get_branch Get details for one repository branch. Read gitlab_get_branch_diffs Compare two branches/refs and return diffs. Read gitlab_get_commit Get one commit by SHA. Read gitlab_get_commit_diff Get diff for one commit. Read gitlab_get_deployment Get one deployment by ID. Read gitlab_get_draft_note Get a single merge-request draft note. Read gitlab_get_environment Get one environment by ID. Read gitlab_get_file_blame Get git blame for a repository file at a given ref. Optional line range must provide both range_start and r... Read gitlab_get_file_contents Get a file in repository by path and ref. Read gitlab_get_group_wiki_page Get group wiki page by slug. Read gitlab_get_issue Get issue by IID. Read gitlab_get_issue_link Get a single issue link by ID. Read gitlab_get_job_artifact_file Return one file from a job artifacts archive as inline UTF-8 or base64 content. Read gitlab_get_label Get one label by ID. Read gitlab_get_merge_request Get one merge request. Read gitlab_get_merge_request_approval_state Get approval state for MR. Read gitlab_get_merge_request_code_context High-signal MR code context with include/exclude filters, sorting, and token-budgeted output. Read gitlab_get_merge_request_conflicts Get conflict details for MR. Read gitlab_get_merge_request_diffs Get MR diffs with changed files. Read gitlab_get_merge_request_file_diff Step 2 for large MR review: fetch diffs for specific files from a merge request. Read gitlab_get_merge_request_note Get a single MR note. Read gitlab_get_merge_request_notes Backward-compatible alias of gitlab_list_merge_request_notes. Read gitlab_get_merge_request_version Get one MR diff version. Read gitlab_get_milestone Get a milestone by ID. Read gitlab_get_milestone_burndown_events List burndown events for a milestone. Read gitlab_get_milestone_issue List issues assigned to a milestone. Read gitlab_get_milestone_merge_requests List merge requests assigned to a milestone. Read gitlab_get_namespace Get namespace by ID or path. Read gitlab_get_pipeline Get one pipeline. Read gitlab_get_pipeline_job Get one job by job ID. Read gitlab_get_pipeline_job_output Get raw job trace output. Read gitlab_get_project Get project details by ID or path. Read gitlab_get_project_events List events for a specific project. Read gitlab_get_release Get one release by tag name. Read gitlab_get_repository_tree List files and directories in a repository tree. Read gitlab_get_tag Get a repository tag by name. Read gitlab_get_tag_signature Get the X.509 signature for a signed repository tag. Read gitlab_get_timeline_events List timeline events for an incident work item. Read gitlab_get_user Get one user by ID. Read gitlab_get_users Search users. Read gitlab_get_webhook_event Find one webhook event by ID. Provide page when known, otherwise scans up to 500 recent events. Read gitlab_get_wiki_page Get wiki page by slug. Read gitlab_get_work_item Get a single work item with full widget details including status, hierarchy, labels, assignees, linked item... Read gitlab_list_branches List repository branches. Read gitlab_list_commit_statuses List statuses for a commit. Read gitlab_list_commits List commits in a project. Read gitlab_list_custom_field_definitions List custom field definitions for a work item type, including field IDs, types, options, and supported work... Read gitlab_list_deployments List deployments in a project. Read gitlab_list_draft_notes List draft notes on a merge request. Read gitlab_list_environments List environments in a project. Read gitlab_list_events List current user events. Read gitlab_list_group_iterations List iterations for a group. Read gitlab_list_group_projects List projects under a group. Read gitlab_list_group_wiki_pages List wiki pages in a group. Read gitlab_list_issue_discussions List issue discussions. Read gitlab_list_issue_emoji_reactions List emoji reactions on an issue. Read gitlab_list_issue_links List related issue links for an issue. Read gitlab_list_issue_note_emoji_reactions List emoji reactions on an issue note. Pass discussion_id for discussion replies. Read gitlab_list_issues List issues in project. Read gitlab_list_job_artifacts List files and directories inside a job artifacts archive. Read gitlab_list_labels List project labels. Read gitlab_list_merge_request_changed_files Step 1 for large MR review: return changed file metadata without diff content. Read gitlab_list_merge_request_diffs List detailed MR diffs (versions/changes view). Read gitlab_list_merge_request_discussions List MR discussions. Read gitlab_list_merge_request_emoji_reactions List emoji reactions on a merge request. Read gitlab_list_merge_request_note_emoji_reactions List emoji reactions on a merge request note. Pass discussion_id for discussion replies. Read gitlab_list_merge_request_notes List top-level notes for an MR. Read gitlab_list_merge_request_pipelines List pipelines associated with a merge request. Read gitlab_list_merge_request_versions List MR diff versions. Read gitlab_list_merge_requests List merge requests for a project. Read gitlab_list_milestones List project milestones. Read gitlab_list_namespaces List namespaces visible to user. Read gitlab_list_pipeline_jobs List jobs in a pipeline. Read gitlab_list_pipeline_trigger_jobs List downstream/bridge trigger jobs in a pipeline. Read gitlab_list_pipelines List pipelines for a project. Read gitlab_list_project_members List members of a project. Read gitlab_list_projects List projects available to the current user. Read gitlab_list_releases List project releases. Read gitlab_list_tags List repository tags for a project. Read gitlab_list_todos List to-do items for the current authenticated user. Read gitlab_list_webhook_events List recent webhook events for a project or group webhook. Use summary mode for overviews. Read gitlab_list_webhooks List configured webhooks for a project or group. Read gitlab_list_wiki_pages List wiki pages in a project. Read gitlab_list_work_item_emoji_reactions List emoji reactions on a work item. Read gitlab_list_work_item_note_emoji_reactions List emoji reactions on a work item note by GraphQL note_id. Read gitlab_list_work_item_notes List threaded discussions and notes on a work item. Read gitlab_list_work_item_statuses List available statuses and allowed hierarchy/conversion types for a work item type. Read gitlab_list_work_items List work items in a project with filters for type, state, search, assignees, and labels. Read gitlab_mr_discussions Backward-compatible alias of gitlab_list_merge_request_discussions. Read gitlab_my_issues List issues assigned to the current authenticated user. Read gitlab_search_code Search code across all projects on the GitLab instance. Requires GitLab code search support. Read gitlab_search_code_blobs Search repository code blobs in a specific project. Read gitlab_search_group_code Search code in a specific group. Read gitlab_search_project_code Search code in a specific project. Read gitlab_search_repositories Search repositories by keyword. Read gitlab_validate_ci_lint Validate provided GitLab CI/CD YAML content for a project. Read gitlab_validate_project_ci_lint Validate an existing project CI/CD configuration. Read gitlab_verify_namespace Verify if namespace path exists. Read gitlab_whoami Get the current authenticated user. Read health_check Return server liveness and current timestamp.
WRITE 58 tools
Write gitlab_fork_repository Fork an existing project to another namespace. Write gitlab_get_job_artifact_file_local Save one file from a job artifacts archive to a local directory. Write gitlab_approve_merge_request Approve a merge request. Write gitlab_bulk_publish_draft_notes Publish all merge-request draft notes. Write gitlab_convert_work_item_type Convert a work item to a different type. Write gitlab_create_branch Create a new branch from an existing ref. Write gitlab_create_commit_status Create or update the status of a commit. Write gitlab_create_draft_note Create a merge-request draft note. Write gitlab_create_group Create a new GitLab group or subgroup. Write gitlab_create_group_wiki_page Create a group wiki page. Write gitlab_create_issue Create a new issue. Write gitlab_create_issue_emoji_reaction Add an emoji reaction to an issue, for example thumbsup, rocket, or eyes. Write gitlab_create_issue_link Create a relation between two issues. Write gitlab_create_issue_note Create issue comment (top-level or discussion note). Write gitlab_create_issue_note_emoji_reaction Add an emoji reaction to an issue note. Pass discussion_id for discussion replies. Write gitlab_create_label Create a label. Write gitlab_create_merge_request Create a merge request. Write gitlab_create_merge_request_discussion_note Add note to existing MR discussion thread. Write gitlab_create_merge_request_emoji_reaction Add an emoji reaction to a merge request, for example thumbsup, rocket, or eyes. Write gitlab_create_merge_request_note Create a top-level MR note. Write gitlab_create_merge_request_note_emoji_reaction Add an emoji reaction to a merge request note. Pass discussion_id for discussion replies. Write gitlab_create_merge_request_thread Create a new MR discussion thread (supports diff positions). Write gitlab_create_milestone Create a milestone. Write gitlab_create_note Create a note on an issue or merge request. Write gitlab_create_or_update_file Create or update one file in repository. Write gitlab_create_release Create a release. Write gitlab_create_release_evidence Create evidence for an existing release. Write gitlab_create_repository Create a new GitLab project/repository. Write gitlab_create_tag Create a repository tag from a branch, commit SHA, or another tag. Write gitlab_create_timeline_event Create an incident timeline event with optional known GitLab incident timeline tags. Write gitlab_create_wiki_page Create a wiki page. Write gitlab_create_work_item Create a work item of type issue, task, incident, test_case, epic, key_result, objective, requirement, or t... Write gitlab_create_work_item_emoji_reaction Add an emoji reaction to a work item, for example thumbsup, rocket, or eyes. Write gitlab_create_work_item_note Add a note or threaded reply to a work item. Write gitlab_create_work_item_note_emoji_reaction Add an emoji reaction to a work item note by GraphQL note_id. Write gitlab_edit_milestone Backward-compatible alias of gitlab_update_milestone. Write gitlab_mark_all_todos_done Mark all pending to-do items as done for the current authenticated user. Write gitlab_mark_todo_done Mark one to-do item as done. Write gitlab_move_work_item Move a work item to a different project. Write gitlab_promote_milestone Promote a project milestone to a group milestone. Write gitlab_publish_draft_note Publish one merge-request draft note. Write gitlab_push_files Create a commit with multiple file actions. Write gitlab_resolve_merge_request_thread Resolve/unresolve an MR discussion note. Write gitlab_unapprove_merge_request Remove current user approval from MR. Write gitlab_update_draft_note Update a merge-request draft note. Write gitlab_update_group_wiki_page Update group wiki page by slug. Write gitlab_update_issue Update issue fields. Write gitlab_update_issue_description_patch Apply a search/replace or unified diff patch to an issue description without sending the full replacement t... Write gitlab_update_issue_note Update an issue discussion note body or resolved state. Write gitlab_update_label Update a label. Write gitlab_update_merge_request Update merge request fields. Write gitlab_update_merge_request_discussion_note Update note body/resolved state in MR discussion. Write gitlab_update_merge_request_note Update MR note body. Write gitlab_update_milestone Update milestone fields. Write gitlab_update_release Update existing release. Write gitlab_update_wiki_page Update wiki page by slug. Write gitlab_update_work_item Update a work item title, description, labels, assignees, state, status, hierarchy, linked items, custom fi... Write gitlab_upload_markdown Upload markdown file/attachment to project.
DESTRUCTIVE 18 tools
Destructive gitlab_delete_branch Delete a repository branch permanently. Requires branch. Recommended pre-check: gitlab_get_branch. Destructive gitlab_delete_draft_note Delete a merge-request draft note permanently. Irreversible. Requires merge_request_iid and draft_note_id. ... Destructive gitlab_delete_group_wiki_page Delete a group wiki page permanently. Irreversible. Requires group_id and slug. Recommended pre-check: gitl... Destructive gitlab_delete_issue Delete an issue permanently. Irreversible. Requires issue_iid. Recommended pre-check: gitlab_get_issue. Destructive gitlab_delete_issue_emoji_reaction Delete an emoji reaction from an issue permanently. Irreversible for that reaction. Requires issue_iid and ... Destructive gitlab_delete_issue_link Delete an issue link permanently. Irreversible for that relation. Requires issue_iid and issue_link_id. Rec... Destructive gitlab_delete_issue_note_emoji_reaction Delete an emoji reaction from an issue note permanently. Irreversible for that reaction. Requires issue_iid... Destructive gitlab_delete_label Delete a label permanently. Irreversible. Requires name or label_id. Recommended pre-check: gitlab_get_labe... Destructive gitlab_delete_merge_request_discussion_note Delete an MR discussion note permanently. Irreversible. Requires merge_request_iid, discussion_id, and note... Destructive gitlab_delete_merge_request_emoji_reaction Delete an emoji reaction from a merge request permanently. Irreversible for that reaction. Requires merge_r... Destructive gitlab_delete_merge_request_note Delete a top-level MR note permanently. Irreversible. Requires merge_request_iid and note_id. Recommended p... Destructive gitlab_delete_merge_request_note_emoji_reaction Delete an emoji reaction from a merge request note permanently. Irreversible for that reaction. Requires me... Destructive gitlab_delete_milestone Delete a milestone permanently. Irreversible. Requires milestone_id. Recommended pre-check: gitlab_get_mile... Destructive gitlab_delete_release Delete the release record for tag_name permanently. Irreversible for the release entry. Requires tag_name. ... Destructive gitlab_delete_tag Delete a repository tag permanently. Irreversible for tag_name. Requires tag_name. Recommended pre-check: g... Destructive gitlab_delete_wiki_page Delete a wiki page permanently. Irreversible. Requires slug. Recommended pre-check: gitlab_get_wiki_page or... Destructive gitlab_delete_work_item_emoji_reaction Remove the current user Destructive gitlab_delete_work_item_note_emoji_reaction Remove the current user

Route Gitlab through PolicyLayer and every one of its 190 tools is checked against your policy before it runs.

CHECK YOUR STACK →

See every tool, the dangerous ones, and the token cost across your stack.

How many tools does the Gitlab MCP server have? +

The Gitlab MCP server exposes 190 tools across 4 categories: Read, Write, Destructive, Execute.

How do I enforce policies on Gitlab tools? +

Route the Gitlab server through the PolicyLayer gateway. Define allow, deny, or approval rules per tool in the dashboard; they are enforced on every call before it reaches the server.

What risk categories do Gitlab tools fall into? +

Gitlab tools are categorised as Read (105), Write (58), Destructive (18), Execute (9). Each category has a recommended default policy.

Enforce policy on every Gitlab tool call.

Start from Gitlab, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

43,000+ MCP servers and 220,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.