Integration

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.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in GitLab.Built from the 83 GitLab tools below, on the connection you add once.

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

  • cancel_jobCancel jobPOSTCancel a specific GitLab CI/CD job that is pending or running.
  • erase_jobErase jobPOSTErase a GitLab job by removing its artifacts and trace log.
  • get_jobGet jobGETGet details of a specific job in a GitLab project by job ID.
  • get_job_logGet job logGETDownload the log/trace output of a specific GitLab CI/CD job.
  • list_pipeline_jobsList pipeline jobsGETList all jobs for a specific GitLab CI/CD pipeline.
  • list_project_jobsList project jobsGETList all jobs for a GitLab project across all pipelines.
  • play_jobPlay jobPOSTTrigger a manual GitLab CI/CD job that requires explicit action to start.
  • retry_jobRetry jobPOSTRetry a failed or cancelled GitLab CI/CD job.

Merge request, 8 operations

  • approve_merge_requestApprove merge requestPOSTApprove a GitLab merge request on behalf of the authenticated user.
  • create_merge_requestCreate merge requestPOSTCreate a new merge request from a source branch to a target branch in a GitLab project.
  • get_merge_requestGet merge requestGETGet details of a specific merge request in a GitLab project.
  • get_merge_request_changesGet merge request changesGETGet the diff/changes introduced by a GitLab merge request.
  • list_merge_requestsList merge requestsGETList merge requests for a GitLab project with optional filters for state, scope, and labels.
  • merge_merge_requestMerge merge requestPUTAccept and merge a GitLab merge request into its target branch.
  • unapprove_merge_requestUnapprove merge requestPOSTRemove an approval from a GitLab merge request.
  • update_merge_requestUpdate merge requestPUTUpdate an existing GitLab merge request, such as title, description, or target branch.

Commit, 7 operations

  • cherry_pick_commitCherry pick commitPOSTCherry-pick a specific commit from one branch into another in a GitLab repository.
  • create_commitCreate commitPOSTCreate a new commit in a GitLab repository by specifying file actions (create, update, delete, move).
  • get_commitGet commitGETGet details of a specific commit in a GitLab repository by SHA.
  • get_commit_diffGet commit diffGETGet the diff introduced by a specific commit in a GitLab repository.
  • get_merge_request_commitsGet merge request commitsGETList all commits included in a GitLab merge request.
  • list_commitsList commitsGETList commits in a GitLab repository with optional filters for branch, date range, and path.
  • revert_commitRevert commitPOSTCreate a revert commit that undoes the changes of a specific commit in a GitLab repository.

Project, 7 operations

  • create_projectCreate projectPOSTCreate a new GitLab project with specified name, visibility, and settings.
  • delete_projectDelete projectDELETEPermanently delete a GitLab project and all its resources.
  • get_projectGet projectGETGet details of a specific GitLab project by numeric ID or URL-encoded path.
  • list_group_projectsList group projectsGETList all projects belonging to a specific GitLab group.
  • list_projectsList projectsGETList all GitLab projects accessible by the authenticated user, with filters for visibility, ownership, and membership.
  • list_user_projectsList user projectsGETList all projects associated with a specific GitLab user.
  • update_projectUpdate projectPUTUpdate settings of an existing GitLab project such as name, description, or visibility.

Group, 6 operations

  • create_groupCreate groupPOSTCreate a new GitLab group with specified name, path, and visibility.
  • delete_groupDelete groupDELETEDelete a GitLab group and optionally all its projects.
  • get_groupGet groupGETGet details of a specific GitLab group by ID or full path.
  • list_groupsList groupsGETList all GitLab groups accessible by the authenticated user.
  • list_group_subgroupsList group subgroupsGETList all direct subgroups of a specified GitLab group.
  • update_groupUpdate groupPUTUpdate settings of an existing GitLab group.

Member, 6 operations

  • add_group_memberAdd group memberPOSTAdd a user as a member to a GitLab group with a specified access level.
  • add_project_memberAdd project memberPOSTAdd a user as a member to a GitLab project with a specified access level.
  • list_group_membersList group membersGETList all members of a GitLab group with their access levels.
  • list_project_membersList project membersGETList all members of a GitLab project with their access levels.
  • remove_group_memberRemove group memberDELETERemove a member from a GitLab group.
  • remove_project_memberRemove project memberDELETERemove a member from a GitLab project.

Pipeline, 6 operations

  • cancel_pipelineCancel pipelinePOSTCancel an in-progress GitLab CI/CD pipeline.
  • delete_pipelineDelete pipelineDELETEDelete a GitLab CI/CD pipeline and its associated jobs and artifacts.
  • get_pipelineGet pipelineGETGet details of a specific GitLab CI/CD pipeline by its ID.
  • list_pipelinesList pipelinesGETList CI/CD pipelines for a GitLab project with optional filters for status and branch.
  • retry_pipelineRetry pipelinePOSTRetry failed or cancelled jobs in a completed GitLab CI/CD pipeline.
  • trigger_pipelineTrigger pipelinePOSTTrigger a new GitLab CI/CD pipeline for a specific branch or tag.

Branch, 5 operations

  • create_branchCreate branchPOSTCreate a new branch in a GitLab repository from a specified ref.
  • delete_branchDelete branchDELETEDelete a branch from a GitLab repository.
  • delete_merged_branchesDelete merged branchesDELETEDelete all merged branches in a GitLab repository to clean up stale refs.
  • get_branchGet branchGETGet details of a specific branch in a GitLab repository.
  • list_branchesList branchesGETList all branches in a GitLab repository.

File, 5 operations

  • create_fileCreate filePOSTCreate a new file in a GitLab repository with specified content.
  • delete_fileDelete fileDELETEDelete a file from a GitLab repository.
  • get_fileGet fileGETGet metadata and Base64-encoded content of a file in a GitLab repository.
  • get_raw_fileGet raw fileGETDownload the raw binary or text content of a file from a GitLab repository.
  • update_fileUpdate filePUTUpdate an existing file in a GitLab repository with new content.

Issue, 5 operations

  • create_issueCreate issuePOSTCreate a new issue in a GitLab project with title, description, and optional assignees.
  • delete_issueDelete issueDELETEPermanently delete an issue from a GitLab project.
  • get_issueGet issueGETGet details of a specific issue in a GitLab project by its internal ID.
  • list_issuesList issuesGETList all issues in a GitLab project with optional filters for state, labels, and assignee.
  • update_issueUpdate issuePUTUpdate an existing GitLab issue such as changing its title, state, or assignees.

Release, 5 operations

  • create_releaseCreate releasePOSTCreate a new release for a GitLab project associated with a tag.
  • delete_releaseDelete releaseDELETEDelete a specific release from a GitLab project.
  • get_releaseGet releaseGETGet details of a specific release for a GitLab project by tag name.
  • list_releasesList releasesGETList all releases for a GitLab project.
  • update_releaseUpdate releasePUTUpdate an existing release for a GitLab project.

User, 5 operations

  • block_userBlock userPOSTBlock a GitLab user, preventing them from logging in (admin only).
  • get_current_userGet current userGETGet the profile of the currently authenticated GitLab user.
  • get_userGet userGETGet profile details of a specific GitLab user by ID.
  • list_usersList usersGETList all users on the GitLab instance (admin access required for full list).
  • unblock_userUnblock userPOSTUnblock a previously blocked GitLab user (admin only).

Tag, 4 operations

  • create_tagCreate tagPOSTCreate a new tag in a GitLab repository at a specified commit or ref.
  • delete_tagDelete tagDELETEDelete a specific tag from a GitLab repository.
  • get_tagGet tagGETGet details of a specific tag in a GitLab repository.
  • list_tagsList tagsGETList all tags in a GitLab repository.

Repository, 3 operations

  • compare_branchesCompare branchesGETCompare two refs (branches, tags, or commits) in a GitLab repository and return the diff.
  • download_archiveDownload archiveGETDownload an archive (zip or tar.gz) of a GitLab repository at a specified ref.
  • get_repository_treeGet repository treeGETGet the file and directory tree of a GitLab repository at a specified path and ref.

Note, 2 operations

  • create_issue_noteCreate issue notePOSTAdd a comment (note) to a specific GitLab issue.
  • list_issue_notesList issue notesGETList all comments (notes) on a specific GitLab issue.

Contributor, 1 operation

  • get_contributorsGet contributorsGETGet 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