Skip to content
Agentmart
Submit a tool

MCP Gitlab

Secure MCP server for GitLab projects, merge requests, issues, and pipelines

Connector by crunchtools · GitHub account verified by the MCP Registry

IndexedAGPL-3.0Local (stdio)★ 2
Write a review

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.

We use your email only for this newsletter. Privacy

About

Secure MCP server for GitLab projects, merge requests, issues, and pipelines

No 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_tool
  • get_current_user_tool
  • get_file_tool
  • get_group_tool
  • get_issue_tool
  • get_job_log_tool
  • get_merge_request_tool
  • get_mr_changes_tool
  • get_pipeline_tool
  • get_project_branch_tool
  • get_project_tool
  • get_release_tool
Show 23 more tools
  • get_user_tool
  • get_wiki_page_tool
  • list_group_projects_tool
  • list_groups_tool
  • list_issue_notes_tool
  • list_issues_tool
  • list_labels_tool
  • list_merge_requests_tool
  • list_milestones_tool
  • list_mr_discussions_tool
  • list_mr_notes_tool
  • list_pipeline_jobs_tool
  • list_pipelines_tool
  • list_project_branches_tool
  • list_project_commits_tool
  • list_projects_tool
  • list_releases_tool
  • list_repository_tree_tool
  • list_snippets_tool
  • list_users_tool
  • list_wiki_pages_tool
  • search_global_tool
  • search_project_tool

Write 23 · Create, change, send or run things.

  • cancel_job_tool
  • cancel_pipeline_tool
  • create_branch_tool
  • create_file_tool
  • create_issue_note_tool
  • create_issue_tool
  • create_label_tool
  • create_merge_request_tool
  • create_milestone_tool
  • create_mr_discussion_tool
  • create_mr_note_tool
  • create_pipeline_tool
Show 11 more tools
  • create_project_tool
  • create_release_tool
  • create_snippet_tool
  • create_wiki_page_tool
  • retry_job_tool
  • retry_pipeline_tool
  • update_file_tool
  • update_issue_tool
  • update_label_tool
  • update_merge_request_tool
  • update_milestone_tool

Delete 5 · Delete, drop, revoke or wipe things.

  • delete_branch_tool
  • delete_job_tool
  • delete_label_tool
  • delete_pipeline_tool
  • delete_project_tool

Network hosts it talks to 2

  • github.com · found in code
  • gitlab.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_tool

    Cancel a running CI/CD job. Args: project_id: Project ID or path job_id: Job ID Returns: Canceled job details

  • cancel_pipeline_tool

    Cancel a running CI/CD pipeline. Args: project_id: Project ID or path pipeline_id: Pipeline ID Returns: Canceled pipeline details

  • compare_branches_toolread-only

    Compare 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create (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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Create 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_tool

    Delete a branch from a GitLab repository. Args: project_id: Project ID or path branch: Branch name to delete Returns: Confirmation of deletion

  • delete_job_tool

    Delete 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_tool

    Delete a label from a GitLab project. Args: project_id: Project ID or path label_id: Label ID Returns: Confirmation of deletion

  • delete_pipeline_tool

    Delete 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_tool

    Delete a GitLab project permanently. Args: project_id: Project ID (numeric) or path (e.g., "group/project") Returns: Confirmation of deletion

  • get_current_user_toolread-only

    Get the currently authenticated GitLab user. Returns: Current user details including ID, username, email, and permissions

  • get_file_toolread-only

    Get 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-only

    Get 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-only

    Get 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-only

    Get 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-only

    Get 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-only

    Get 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-only

    Get 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-only

    Get a single repository branch. Args: project_id: Project ID or path branch: Branch name Returns: Branch details including commit info

  • get_project_toolread-only

    Get 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-only

    Get 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-only

    Get a specific GitLab user by ID. Args: user_id: User ID Returns: User details including username, name, email, and state

  • get_wiki_page_toolread-only

    Get 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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-only

    List 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_tool

    Retry a specific failed CI/CD job. Args: project_id: Project ID or path job_id: Job ID Returns: Retried job details

  • retry_pipeline_tool

    Retry 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-only

    Search 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-only

    Search 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_tool

    Update 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_tool

    Update 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_tool

    Update 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_tool

    Update 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_tool

    Update 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
License
AGPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from crunchtools

Cite this page

MCP Gitlab. Agent Mart. https://agentmart.dev/connectors/crunchtools-gitlab (last updated 2026-10-25)