Get started free
All integrations

GitLab integration

DevOps platform API for source code management and CI/CD pipelines. Manage repositories, merge requests, pipelines, issues, and deployments. Features comprehensive project management, security scanning, and container registry access for building end-to-end DevOps integrations.

83 toolsOAuthAPI docs

What you can do with GitLab

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Job, 8 operations

  • POSTcancel_job

    Cancel a specific GitLab CI/CD job that is pending or running.

  • POSTerase_job

    Erase a GitLab job by removing its artifacts and trace log.

  • GETget_job

    Get details of a specific job in a GitLab project by job ID.

  • GETget_job_log

    Download the log/trace output of a specific GitLab CI/CD job.

  • GETlist_pipeline_jobs

    List all jobs for a specific GitLab CI/CD pipeline.

  • GETlist_project_jobs

    List all jobs for a GitLab project across all pipelines.

  • POSTplay_job

    Trigger a manual GitLab CI/CD job that requires explicit action to start.

  • POSTretry_job

    Retry a failed or cancelled GitLab CI/CD job.

Merge request, 8 operations

  • POSTapprove_merge_request

    Approve a GitLab merge request on behalf of the authenticated user.

  • POSTcreate_merge_request

    Create a new merge request from a source branch to a target branch in a GitLab project.

  • GETget_merge_request

    Get details of a specific merge request in a GitLab project.

  • GETget_merge_request_changes

    Get the diff/changes introduced by a GitLab merge request.

  • GETlist_merge_requests

    List merge requests for a GitLab project with optional filters for state, scope, and labels.

  • PUTmerge_merge_request

    Accept and merge a GitLab merge request into its target branch.

  • POSTunapprove_merge_request

    Remove an approval from a GitLab merge request.

  • PUTupdate_merge_request

    Update an existing GitLab merge request, such as title, description, or target branch.

Commit, 7 operations

  • POSTcherry_pick_commit

    Cherry-pick a specific commit from one branch into another in a GitLab repository.

  • POSTcreate_commit

    Create a new commit in a GitLab repository by specifying file actions (create, update, delete, move).

  • GETget_commit

    Get details of a specific commit in a GitLab repository by SHA.

  • GETget_commit_diff

    Get the diff introduced by a specific commit in a GitLab repository.

  • GETget_merge_request_commits

    List all commits included in a GitLab merge request.

  • GETlist_commits

    List commits in a GitLab repository with optional filters for branch, date range, and path.

  • POSTrevert_commit

    Create a revert commit that undoes the changes of a specific commit in a GitLab repository.

Project, 7 operations

  • POSTcreate_project

    Create a new GitLab project with specified name, visibility, and settings.

  • DELETEdelete_project

    Permanently delete a GitLab project and all its resources.

  • GETget_project

    Get details of a specific GitLab project by numeric ID or URL-encoded path.

  • GETlist_group_projects

    List all projects belonging to a specific GitLab group.

  • GETlist_projects

    List all GitLab projects accessible by the authenticated user, with filters for visibility, ownership, and membership.

  • GETlist_user_projects

    List all projects associated with a specific GitLab user.

  • PUTupdate_project

    Update settings of an existing GitLab project such as name, description, or visibility.

Group, 6 operations

  • POSTcreate_group

    Create a new GitLab group with specified name, path, and visibility.

  • DELETEdelete_group

    Delete a GitLab group and optionally all its projects.

  • GETget_group

    Get details of a specific GitLab group by ID or full path.

  • GETlist_groups

    List all GitLab groups accessible by the authenticated user.

  • GETlist_group_subgroups

    List all direct subgroups of a specified GitLab group.

  • PUTupdate_group

    Update settings of an existing GitLab group.

Member, 6 operations

  • POSTadd_group_member

    Add a user as a member to a GitLab group with a specified access level.

  • POSTadd_project_member

    Add a user as a member to a GitLab project with a specified access level.

  • GETlist_group_members

    List all members of a GitLab group with their access levels.

  • GETlist_project_members

    List all members of a GitLab project with their access levels.

  • DELETEremove_group_member

    Remove a member from a GitLab group.

  • DELETEremove_project_member

    Remove a member from a GitLab project.

Pipeline, 6 operations

  • POSTcancel_pipeline

    Cancel an in-progress GitLab CI/CD pipeline.

  • DELETEdelete_pipeline

    Delete a GitLab CI/CD pipeline and its associated jobs and artifacts.

  • GETget_pipeline

    Get details of a specific GitLab CI/CD pipeline by its ID.

  • GETlist_pipelines

    List CI/CD pipelines for a GitLab project with optional filters for status and branch.

  • POSTretry_pipeline

    Retry failed or cancelled jobs in a completed GitLab CI/CD pipeline.

  • POSTtrigger_pipeline

    Trigger a new GitLab CI/CD pipeline for a specific branch or tag.

Branch, 5 operations

  • POSTcreate_branch

    Create a new branch in a GitLab repository from a specified ref.

  • DELETEdelete_branch

    Delete a branch from a GitLab repository.

  • DELETEdelete_merged_branches

    Delete all merged branches in a GitLab repository to clean up stale refs.

  • GETget_branch

    Get details of a specific branch in a GitLab repository.

  • GETlist_branches

    List all branches in a GitLab repository.

File, 5 operations

  • POSTcreate_file

    Create a new file in a GitLab repository with specified content.

  • DELETEdelete_file

    Delete a file from a GitLab repository.

  • GETget_file

    Get metadata and Base64-encoded content of a file in a GitLab repository.

  • GETget_raw_file

    Download the raw binary or text content of a file from a GitLab repository.

  • PUTupdate_file

    Update an existing file in a GitLab repository with new content.

Issue, 5 operations

  • POSTcreate_issue

    Create a new issue in a GitLab project with title, description, and optional assignees.

  • DELETEdelete_issue

    Permanently delete an issue from a GitLab project.

  • GETget_issue

    Get details of a specific issue in a GitLab project by its internal ID.

  • GETlist_issues

    List all issues in a GitLab project with optional filters for state, labels, and assignee.

  • PUTupdate_issue

    Update an existing GitLab issue such as changing its title, state, or assignees.

Release, 5 operations

  • POSTcreate_release

    Create a new release for a GitLab project associated with a tag.

  • DELETEdelete_release

    Delete a specific release from a GitLab project.

  • GETget_release

    Get details of a specific release for a GitLab project by tag name.

  • GETlist_releases

    List all releases for a GitLab project.

  • PUTupdate_release

    Update an existing release for a GitLab project.

User, 5 operations

  • POSTblock_user

    Block a GitLab user, preventing them from logging in (admin only).

  • GETget_current_user

    Get the profile of the currently authenticated GitLab user.

  • GETget_user

    Get profile details of a specific GitLab user by ID.

  • GETlist_users

    List all users on the GitLab instance (admin access required for full list).

  • POSTunblock_user

    Unblock a previously blocked GitLab user (admin only).

Tag, 4 operations

  • POSTcreate_tag

    Create a new tag in a GitLab repository at a specified commit or ref.

  • DELETEdelete_tag

    Delete a specific tag from a GitLab repository.

  • GETget_tag

    Get details of a specific tag in a GitLab repository.

  • GETlist_tags

    List all tags in a GitLab repository.

Repository, 3 operations

  • GETcompare_branches

    Compare two refs (branches, tags, or commits) in a GitLab repository and return the diff.

  • GETdownload_archive

    Download an archive (zip or tar.gz) of a GitLab repository at a specified ref.

  • GETget_repository_tree

    Get the file and directory tree of a GitLab repository at a specified path and ref.

Note, 2 operations

  • POSTcreate_issue_note

    Add a comment (note) to a specific GitLab issue.

  • GETlist_issue_notes

    List all comments (notes) on a specific GitLab issue.

Contributor, 1 operation

  • GETget_contributors

    Get a list of repository contributors and their commit statistics for a GitLab project.

OAuth scopes GitLab requires

Each operation declares the scopes GitLab requires for it.

  • apineeded by add_group_member, add_project_member, approve_merge_request and 77 more
  • read_repositoryneeded by get_file, get_raw_file
  • read_userneeded by get_current_user

Use GitLab from Claude Code, Cursor or Codex

Connect GitLab in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its GitLab operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect GitLab

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect GitLab once

    Add your GitLab connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

GitLab integration FAQ

What can you do with the GitLab integration?
LiveContext exposes 83 operations on GitLab, covering job, merge request, commit and project.
Which OAuth scopes does GitLab require?
It depends on the operation: each one declares the scopes GitLab requires for it. The most common are api (80 operations), read_repository (2 operations) and read_user (1 operation).

Popular integrations

Browse the whole catalog