MCP Gitlab
Secure MCP server for GitLab projects, merge requests, issues, and pipelines
Connector by crunchtools · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/crunchtools-gitlab
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 35 read · 23 write · 5 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 63
Read from the source code; the running server may list different tools.
Read 35 · Look things up without changing anything.
compare_branches_toolget_current_user_toolget_file_toolget_group_toolget_issue_toolget_job_log_toolget_merge_request_toolget_mr_changes_toolget_pipeline_toolget_project_branch_toolget_project_toolget_release_tool
Show 23 more tools
get_user_toolget_wiki_page_toollist_group_projects_toollist_groups_toollist_issue_notes_toollist_issues_toollist_labels_toollist_merge_requests_toollist_milestones_toollist_mr_discussions_toollist_mr_notes_toollist_pipeline_jobs_toollist_pipelines_toollist_project_branches_toollist_project_commits_toollist_projects_toollist_releases_toollist_repository_tree_toollist_snippets_toollist_users_toollist_wiki_pages_toolsearch_global_toolsearch_project_tool
Write 23 · Create, change, send or run things.
cancel_job_toolcancel_pipeline_toolcreate_branch_toolcreate_file_toolcreate_issue_note_toolcreate_issue_toolcreate_label_toolcreate_merge_request_toolcreate_milestone_toolcreate_mr_discussion_toolcreate_mr_note_toolcreate_pipeline_tool
Show 11 more tools
create_project_toolcreate_release_toolcreate_snippet_toolcreate_wiki_page_toolretry_job_toolretry_pipeline_toolupdate_file_toolupdate_issue_toolupdate_label_toolupdate_merge_request_toolupdate_milestone_tool
Delete 5 · Delete, drop, revoke or wipe things.
delete_branch_tooldelete_job_tooldelete_label_tooldelete_pipeline_tooldelete_project_tool
Network hosts it talks to 2
github.com· found in codegitlab.com· found in code
Files it touches
- Any path the agent passes to its tools
Tools (63)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
cancel_job_toolCancel a running CI/CD job. Args: project_id: Project ID or path job_id: Job ID Returns: Canceled job details
cancel_pipeline_toolCancel a running CI/CD pipeline. Args: project_id: Project ID or path pipeline_id: Pipeline ID Returns: Canceled pipeline details
compare_branches_toolread-onlyCompare two branches, tags, or commits. Args: project_id: Project ID or path from_ref: Base branch/tag/commit to_ref: Head branch/tag/commit straight: Use straight comparison instead of merge-base (default: false) Returns: Comparison with commits, diffs, and stats
create_branch_toolCreate a new branch in a GitLab repository. Args: project_id: Project ID or path branch: Name of the new branch ref: Branch name or commit SHA to create from Returns: Created branch details
create_file_toolCreate a new file in a GitLab repository. Args: project_id: Project ID or path file_path: Path for the new file branch: Branch to commit to content: File content (text or base64 depending on encoding) commit_message: Commit message encoding: Content encoding - "text" or "base64" (default: text) Returns: Created file metadata
create_issue_note_toolCreate a note (comment) on an issue. Args: project_id: Project ID or path issue_iid: Issue internal ID body: Note content (Markdown) Returns: Created note details
create_issue_toolCreate a new issue in a GitLab project. Args: project_id: Project ID or path title: Issue title description: Issue description (Markdown) labels: Comma-separated label names assignee_ids: User IDs to assign milestone_id: Milestone ID confidential: Whether the issue is confidential (default: false) Returns: Created issue details
create_label_toolCreate a new label in a GitLab project. Args: project_id: Project ID or path name: Label name color: Color hex code (e.g., "#FF0000") or named color description: Label description priority: Label priority (lower = higher priority) Returns: Created label details
create_merge_request_toolCreate a new merge request. Args: project_id: Project ID or path source_branch: Source branch name (must already exist) target_branch: Target branch name title: MR title description: MR description (Markdown) labels: Comma-separated label names assignee_ids: User IDs to assign reviewer_ids: User IDs to review milestone_id: Milestone ID remove_source_branch: Remove source branch after merge (default: false) Returns: Created merge request details
create_milestone_toolCreate a new milestone in a GitLab project. Args: project_id: Project ID or path title: Milestone title description: Milestone description (Markdown) due_date: Due date (YYYY-MM-DD) start_date: Start date (YYYY-MM-DD) Returns: Created milestone details
create_mr_discussion_toolCreate a new discussion on a merge request. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID body: Discussion body (Markdown) Returns: Created discussion details
create_mr_note_toolCreate a note (comment) on a merge request. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID body: Note content (Markdown) Returns: Created note details
create_pipeline_toolCreate (trigger) a new CI/CD pipeline. Args: project_id: Project ID or path ref: Branch or tag name to run the pipeline for (default: main) Returns: Created pipeline details including ID and status
create_project_toolCreate a new GitLab project. Args: name: Project name description: Project description visibility: Visibility level (public, internal, private) initialize_with_readme: Initialize with a README file (default: false) namespace_id: Namespace ID to create the project under (group or user) Returns: Created project details including ID, path, and web URL
create_release_toolCreate a new release for a GitLab project. Args: project_id: Project ID or path tag_name: Tag name for the release (created if it doesn't exist) name: Release title (defaults to tag_name) description: Release notes (Markdown) ref: Commit SHA or branch to tag from (required if tag doesn't exist) released_at: Release date (ISO 8601, default: now) Returns: Created release details
Show 48 more tools
create_snippet_toolCreate a new snippet in a GitLab project. Args: project_id: Project ID or path title: Snippet title file_name: File name for the snippet (e.g., "example.py") content: Snippet content description: Snippet description (Markdown) visibility: Visibility level (private, internal, public) Returns: Created snippet details
create_wiki_page_toolCreate a new wiki page in a GitLab project. Args: project_id: Project ID or path title: Page title content: Page content format: Content format - markdown, rdoc, asciidoc, or org (default: markdown) Returns: Created wiki page details
delete_branch_toolDelete a branch from a GitLab repository. Args: project_id: Project ID or path branch: Branch name to delete Returns: Confirmation of deletion
delete_job_toolDelete a CI/CD job's artifacts and trace log. Args: project_id: Project ID or path job_id: Job ID Returns: Erased job details
delete_label_toolDelete a label from a GitLab project. Args: project_id: Project ID or path label_id: Label ID Returns: Confirmation of deletion
delete_pipeline_toolDelete a CI/CD pipeline and all its jobs permanently. Args: project_id: Project ID or path pipeline_id: Pipeline ID Returns: Confirmation of deletion
delete_project_toolDelete a GitLab project permanently. Args: project_id: Project ID (numeric) or path (e.g., "group/project") Returns: Confirmation of deletion
get_current_user_toolread-onlyGet the currently authenticated GitLab user. Returns: Current user details including ID, username, email, and permissions
get_file_toolread-onlyGet a file from a GitLab repository. Returns file metadata and content (base64 encoded). Args: project_id: Project ID or path file_path: Path to the file in the repository ref: Branch, tag, or commit SHA (default: HEAD) Returns: File metadata including base64 content, size, and encoding
get_group_toolread-onlyGet GitLab group details by ID or path. Args: group_id: Group ID (numeric) or path (e.g., "parent-group/child-group") with_projects: Include group projects (default: true) Returns: Group details
get_issue_toolread-onlyGet a single issue by its IID. Args: project_id: Project ID or path issue_iid: Issue internal ID (the number shown in the UI, e.g., #15) Returns: Issue details including labels, assignees, and milestone
get_job_log_toolread-onlyGet the log (trace) output of a CI/CD job. Args: project_id: Project ID or path job_id: Job ID Returns: Dictionary with job log content as plain text
get_merge_request_toolread-onlyGet a single merge request by its IID. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID (the number shown in the UI, e.g., !42) Returns: Merge request details including source/target branches, status, and approvals
get_mr_changes_toolread-onlyGet the changes (diff) for a merge request. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID Returns: Merge request details with file diffs
get_pipeline_toolread-onlyGet a single CI/CD pipeline by ID. Args: project_id: Project ID or path pipeline_id: Pipeline ID Returns: Pipeline details including status, duration, and ref
get_project_branch_toolread-onlyGet a single repository branch. Args: project_id: Project ID or path branch: Branch name Returns: Branch details including commit info
get_project_toolread-onlyGet GitLab project details by ID or path. Args: project_id: Project ID (numeric) or path (e.g., "group/project") Returns: Project details
get_release_toolread-onlyGet a single release by tag name. Args: project_id: Project ID or path tag_name: Tag associated with the release Returns: Release details including assets and evidence
get_user_toolread-onlyGet a specific GitLab user by ID. Args: user_id: User ID Returns: User details including username, name, email, and state
get_wiki_page_toolread-onlyGet a single wiki page by slug. Args: project_id: Project ID or path slug: URL slug of the wiki page Returns: Wiki page details including content
list_group_projects_toolread-onlyList projects within a GitLab group. Args: group_id: Group ID or path search: Filter projects by name visibility: Filter by visibility (public, internal, private) include_subgroups: Include projects from subgroups order_by: Order by field (created_at, updated_at, name, path) sort: Sort direction (asc, desc) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of projects with pagination info
list_groups_toolread-onlyList GitLab groups accessible by the API token. Args: search: Search for groups by name owned: Only list groups owned by the authenticated user top_level_only: Only list top-level groups order_by: Order by field (name, path, id) sort: Sort direction (asc, desc) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of groups with pagination info
list_issue_notes_toolread-onlyList notes (comments) on an issue. Args: project_id: Project ID or path issue_iid: Issue internal ID order_by: Order by field (created_at, updated_at) sort: Sort direction (asc, desc) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of notes with pagination info
list_issues_toolread-onlyList issues for a GitLab project. Args: project_id: Project ID or path state: Filter by state (opened, closed, all) order_by: Order by field (created_at, updated_at, priority, due_date) sort: Sort direction (asc, desc) labels: Comma-separated label names milestone: Milestone title search: Search in title and description assignee_id: Filter by assignee user ID page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of issues with pagination info
list_labels_toolread-onlyList labels for a GitLab project. Args: project_id: Project ID or path search: Filter labels by keyword page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of labels with pagination info
list_merge_requests_toolread-onlyList merge requests for a GitLab project. Args: project_id: Project ID or path state: Filter by state (opened, closed, merged, all) order_by: Order by field (created_at, updated_at) sort: Sort direction (asc, desc) labels: Comma-separated label names milestone: Milestone title search: Search in title and description page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of merge requests with pagination info
list_milestones_toolread-onlyList milestones for a GitLab project. Args: project_id: Project ID or path state: Filter by state (active, closed, all) search: Filter by title page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of milestones with pagination info
list_mr_discussions_toolread-onlyList discussions (threaded comments) on a merge request. Discussions include inline code review comments with file position data. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of discussions with notes and position info
list_mr_notes_toolread-onlyList notes (comments) on a merge request. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID order_by: Order by field (created_at, updated_at) sort: Sort direction (asc, desc) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of notes with pagination info
list_pipeline_jobs_toolread-onlyList jobs for a CI/CD pipeline. Args: project_id: Project ID or path pipeline_id: Pipeline ID scope: Filter by job scope (created, pending, running, failed, success, canceled, skipped, manual) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of jobs with pagination info
list_pipelines_toolread-onlyList CI/CD pipelines for a GitLab project. Args: project_id: Project ID or path status: Filter by status (created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled) ref: Filter by branch or tag name order_by: Order by field (id, status, ref, updated_at, user_id) sort: Sort direction (asc, desc) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of pipelines with pagination info
list_project_branches_toolread-onlyList repository branches for a GitLab project. Args: project_id: Project ID or path search: Filter branches by name page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of branches with pagination info
list_project_commits_toolread-onlyList repository commits for a GitLab project. Args: project_id: Project ID or path ref_name: Branch or tag name (default: default branch) since: Only commits after this date (ISO 8601) until: Only commits before this date (ISO 8601) path: Only commits touching this file path page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of commits with pagination info
list_projects_toolread-onlyList GitLab projects accessible by the API token. Args: search: Search for projects by name owned: Only list projects owned by the authenticated user membership: Only list projects the user is a member of visibility: Filter by visibility (public, internal, private) order_by: Order by field (created_at, updated_at, name, path) sort: Sort direction (asc, desc) page: Page number for pagination (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of projects with pagination info
list_releases_toolread-onlyList releases for a GitLab project. Args: project_id: Project ID or path order_by: Order by field (released_at, created_at) sort: Sort direction (asc, desc) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of releases with pagination info
list_repository_tree_toolread-onlyList repository tree (files and directories). Args: project_id: Project ID or path path: Path inside the repository (default: root) ref: Branch, tag, or commit SHA (default: default branch) recursive: List files recursively page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of tree entries (blobs and trees) with pagination info
list_snippets_toolread-onlyList snippets for a GitLab project. Args: project_id: Project ID or path page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of snippets with pagination info
list_users_toolread-onlyList GitLab users. Args: search: Search for users by name or email username: Filter by exact username active: Only return active users (default: true) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of users with pagination info
list_wiki_pages_toolread-onlyList wiki pages for a GitLab project. Args: project_id: Project ID or path with_content: Include page content in response (default: false) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: List of wiki pages with pagination info
retry_job_toolRetry a specific failed CI/CD job. Args: project_id: Project ID or path job_id: Job ID Returns: Retried job details
retry_pipeline_toolRetry all failed jobs in a CI/CD pipeline. Args: project_id: Project ID or path pipeline_id: Pipeline ID Returns: Retried pipeline details
search_global_toolread-onlySearch across all GitLab resources accessible by the token. Args: search: Search query string scope: Search scope (projects, issues, merge_requests, milestones, snippet_titles, wiki_blobs, commits, blobs, notes, users) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: Search results with pagination info
search_project_toolread-onlySearch within a specific GitLab project. Args: project_id: Project ID or path search: Search query string scope: Search scope (issues, merge_requests, milestones, wiki_blobs, commits, blobs, notes) page: Page number (default: 1) per_page: Results per page, max 100 (default: 20) Returns: Search results with pagination info
update_file_toolUpdate an existing file in a GitLab repository. Args: project_id: Project ID or path file_path: Path to the file branch: Branch to commit to content: New file content commit_message: Commit message encoding: Content encoding - "text" or "base64" (default: text) Returns: Updated file metadata
update_issue_toolUpdate an existing issue. Args: project_id: Project ID or path issue_iid: Issue internal ID title: Issue title description: Issue description (Markdown) labels: Comma-separated label names state_event: State transition (close, reopen) assignee_ids: User IDs to assign milestone_id: Milestone ID confidential: Whether the issue is confidential Returns: Updated issue details
update_label_toolUpdate an existing label in a GitLab project. Args: project_id: Project ID or path label_id: Label ID new_name: New label name color: New color hex code description: New description priority: New priority Returns: Updated label details
update_merge_request_toolUpdate an existing merge request. Args: project_id: Project ID or path merge_request_iid: Merge request internal ID title: MR title description: MR description (Markdown) labels: Comma-separated label names state_event: State transition (close, reopen) assignee_ids: User IDs to assign reviewer_ids: User IDs to review milestone_id: Milestone ID target_branch: Target branch remove_source_branch: Remove source branch after merge Returns: Updated merge request details
update_milestone_toolUpdate an existing milestone. Args: project_id: Project ID or path milestone_id: Milestone ID title: New title description: New description (Markdown) due_date: New due date (YYYY-MM-DD) start_date: New start date (YYYY-MM-DD) state_event: State transition (close, activate) Returns: Updated milestone details
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Weekly downloads
- 297
- Last commit
- Oct 21, 2026 (8 days ago)
- Last release
- Oct 20, 2026 (8 days ago)
- Last package publish
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.crunchtools/gitlab- Version
- 0.4.1
- Auth
- No auth
- Packages
- pypi mcp-gitlab-crunchtools
- License
- AGPL-3.0
- Repository
- github.com/crunchtools/mcp-gitlab
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from crunchtools
- 0.582score
Trentina
crunchtools
Secure MCP gateway and quarantine for AI agent traffic — three-layer prompt injection defense
ConnectorAFreshness: ALocal★ 11↓ 221/wkClaude Code +5 - 0.567score
MCP Workboard
crunchtools
Secure MCP server for WorkBoard OKR and strategy execution platform
ConnectorAFreshness: ALocal★ 1↓ 762/wkClaude Code +5 - 0.561score
MCP Slack
crunchtools
Secure read-only MCP server for Slack workspaces
ConnectorAFreshness: ALocal★ 2↓ 251/wkClaude Code +5 - 0.556score
MCP Wordpress
crunchtools
Secure MCP server for WordPress content management
ConnectorAFreshness: ALocal★ 1↓ 268/wkClaude Code +5 - 0.550score
MCP Request-tracker
crunchtools
Secure MCP server for Request Tracker (RT) ticket management
ConnectorAFreshness: ALocal↓ 259/wkClaude Code +5 - 0.547score
MCP Google Search Console
crunchtools
Secure MCP server for Google Search Console analytics, sitemaps, and URL inspection
ConnectorAFreshness: ALocal↓ 170/wkClaude Code +5
Cite this page
MCP Gitlab. Agent Mart. https://agentmart.dev/connectors/crunchtools-gitlab (last updated 2026-10-25)