GitLab MCP server

Connect GitLab to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the GitLab MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the create release tool in GitLab
  • Use the manage pipeline tool in GitLab
  • Use the manage project tool in GitLab
  • Use the manage issue tool in GitLab
  • Use the list merge requests tool in GitLab
  • Use the manage merge request tool in GitLab

Supported Tools

create_release

Create Release

Create a new release for a project, or list existing releases. Releases are associated with a Git tag and can include release notes and milestone associations.

manage_pipeline

Manage Pipeline

Trigger, retry, or cancel a CI/CD pipeline. Use "create" to trigger a new pipeline on a given ref (branch/tag). Use "retry" or "cancel" to manage an existing pipeline by its ID. Optionally pass CI/CD variables when triggering.

manage_project

Manage Project

Create, update, fork, or delete a GitLab project. Use the **action** field to specify the operation. For creating, provide a name and optional settings. For updating, provide the project ID and fields to change. For forking, provide the source project ID.

manage_issue

Manage Issue

Create, update, close, reopen, or delete a GitLab issue. Supports setting title, description, labels, assignees, milestone, due date, weight, and confidentiality. Use **stateEvent** to close or reopen an existing issue.

list_merge_requests

List Merge Requests

List GitLab merge requests, optionally scoped to a project. Filter by state, labels, source/target branch, author, assignee, or reviewer. Supports pagination.

manage_merge_request

Manage Merge Request

Create, update, or merge a GitLab merge request. Create MRs with source/target branches, reviewers, and labels. Update MR properties, close/reopen, or accept and merge. Use **action** "merge" to accept and merge the MR.

list_issues

List Issues

List GitLab issues filtered by project, state, labels, milestone, assignee, author, or search term. Can list issues globally or within a specific project. Supports pagination.

list_pipelines

List Pipelines

List CI/CD pipelines for a project. Filter by status, ref (branch/tag), SHA, source, or pipeline name. Useful for monitoring build and deployment status.

add_comment

Add Comment

Add a comment (note) to an issue or merge request. Supports Markdown formatting. Can also list existing comments on an issue or merge request.

get_project

Get Project

Retrieve detailed information about a specific GitLab project by its ID or URL-encoded path (e.g. "my-group/my-project").

browse_repository

Browse Repository

Browse a project's repository tree, read file contents, or compare branches. Use "tree" to list directory contents, "file" to read a specific file, or "compare" to view the diff between two refs (branches, tags, or SHAs).

manage_branch

Manage Branch

List, create, or delete branches in a project repository. Use "list" to search existing branches, "create" to create a new branch from a ref, or "delete" to remove a branch.

list_groups

List Groups

List GitLab groups accessible to the authenticated user. Filter by search term or ownership.

list_projects

List Projects

List GitLab projects accessible to the authenticated user. Filter by search term, ownership, membership, visibility, and archived status. Supports pagination for large result sets.

get_pipeline_jobs

Get Pipeline Jobs

List all jobs in a CI/CD pipeline, or get details and logs for a specific job. Use this to inspect job statuses, view build logs, retry failed jobs, or cancel running jobs.

manage_file

Manage Repository File

Create, update, or delete a file in a GitLab repository. Each operation creates a commit. Provide file content and a commit message. For binary files, use base64 encoding.

run_pipeline

Run Pipeline

Create and run a new pipeline on a specified branch or tag. Optionally pass CI/CD variables for the pipeline run. Can also retry or cancel an existing pipeline.

lint_ci_config

Lint CI Config

Validate a `.gitlab-ci.yml` configuration file for syntax errors and configuration issues. Optionally performs a dry run to simulate pipeline creation. Returns validation status, errors, warnings, and optionally the merged YAML.

manage_environments

Manage Environments

List, create, update, stop, or delete deployment environments for a project. Environments represent targets like staging or production. Supports filtering by name, search term, and state.

list_deployments

List Deployments

List deployments for a project, optionally filtered by environment or status. Returns deployment details including the associated commit, environment, and timing information.

manage_job

Manage Job

Perform actions on a CI/CD job: get details, retry a failed job, cancel a running job, play a manual job, erase job artifacts/logs, or retrieve the job log output.

list_jobs

List Jobs

List CI/CD jobs for a specific pipeline or across a project. Filter by job scope (status). Returns job name, stage, status, duration, and associated pipeline.

get_pipeline

Get Pipeline

Retrieve detailed information about a specific pipeline, including status, duration, coverage, source, and associated user. Also optionally fetches test report summary.

manage_variables

Manage CI/CD Variables

List, create, update, or delete CI/CD variables at the project or group level. Variables can be scoped to environments, marked as protected (limited to protected branches/tags), or masked in logs.

manage_triggers

Manage Pipeline Triggers

Create, list, update, or delete pipeline trigger tokens. Trigger tokens allow external services to run pipelines via the trigger API. Can also fire a pipeline using a trigger token with custom variables.

delete_pipeline

Delete Pipeline

Permanently delete a pipeline and all of its associated resources (jobs, artifacts, logs). This action is irreversible.

manage_schedules

Manage Pipeline Schedules

Create, list, update, or delete scheduled pipelines that run at recurring intervals using cron syntax. Schedule variables can be added, updated, or removed as part of schedule management.

manage_runners

Manage Runners

List, view, update, pause/resume, or delete CI/CD runners. Runners can be listed for a specific project or across all accessible runners. Update runner configuration including tags, description, and access level.

get_test_report

Get Test Report

Retrieve the unit test report for a pipeline, including total counts, success/failure breakdowns, test suites, and individual test case details. Use "summary" mode for a quick overview or "full" mode for detailed test case information.

Connect GitLab to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable GitLab in Metorial. In your Metorial portal, enable the GitLab MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load GitLab tools.

Run GitLab through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give GitLab and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use GitLab tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with GitLab

Notion

Create, read, update, and archive pages and databases in a Notion workspace. Manage blocks (paragraphs, lists, headings, embeds, etc.) within pages. Query databases with filters and sorts across rich property types including text, numbers, dates, selects, relations, and formulas. Search across pages and databases by title. Add and read comments on pages and blocks. Upload files to pages. Manage workspace users and retrieve user profiles.

GitHub

Manage repositories, issues, and pull requests. Create and configure branches, star repositories, review code, and merge changes. Automate CI/CD workflows with GitHub Actions, manage workflow runs, secrets, and artifacts. Track issues with labels, milestones, and assignees. Search across code, repositories, issues, and users. Manage organizations, teams, and memberships. Create and manage projects, gists, packages, deployments, and environments. Access security alerts including code scanning, secret scanning, and Dependabot alerts. Read and write file contents in repositories. Manage webhooks, notifications, and codespaces.

Salesforce

Manage CRM data including Accounts, Contacts, Leads, Opportunities, Cases, and custom objects. Create, read, update, and delete records. Query data using SOQL and search across objects using SOSL. Perform bulk data operations for large-scale imports, exports, and migrations. Execute composite requests to batch multiple operations in a single API call. Access analytics, reports, and dashboards. Manage files and attachments associated with records. Interact with Chatter feeds, posts, and groups for social collaboration. Manage org metadata including custom objects, fields, layouts, and workflows. Query data using GraphQL for precise data retrieval across related objects.

Sharepoint

Manage SharePoint sites, document libraries, lists, and files. Create, read, update, and delete lists and list items with custom columns. Resolve site users to numeric Person/Group LookupId values. Upload, download, move, copy, and version files in document libraries. Search across sites, files, folders, lists, and list items using Microsoft Search. Manage permissions at site, list, and item levels with granular access control. Define and manage content types and site columns. Retrieve site properties and search for sites across Microsoft 365.

Microsoft Outlook

Send, read, reply to, forward, and manage email messages in user mailboxes. Organize messages into folders, apply categories, flags, and importance levels. Manage file and item attachments. Create, update, delete, and respond to calendar events and meetings. Find available meeting times, manage attendees, handle recurrence, and work with shared or delegated calendars. Create, read, update, and delete contacts, organize them into contact folders, and manage contact photos. Manage tasks and task lists via Microsoft To Do, including due dates, reminders, recurrence, and checklist items. Subscribe to webhook notifications for changes to messages, calendar events, and contacts. Support for Focused Inbox, @-mentions, mail tips, send-on-behalf, and send-as capabilities.

Linear

Create, read, update, and delete issues across teams with support for priorities, labels, assignees, due dates, and workflow states. Manage projects that group related issues, and organize work into time-boxed cycles (sprints). Create and manage documents, comments, and file attachments. Search issues using vector similarity or rich filters. Configure teams, workflow states, and labels. Track customers and link them to issues.

Technical notes for GitLab

Manage GitLab projects, repositories, issues, merge requests, releases, and CI/CD workflows from one provider. Includes pipeline, job, variable, environment, schedule, trigger, runner, deployment, CI lint, and test report tools.

Frequently asked questions

Common questions about connecting GitLab to AI agents with Metorial.

  1. How many tools does the GitLab MCP server have?
    The GitLab MCP server exposes 30 tools, including Create Release, Manage Pipeline, Manage Project. Each one is governed and traced through Metorial.
  2. GitLab exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the GitLab MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use GitLab and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the GitLab MCP server yourself or use the hosted gateway.

Connect GitLab to production AI agents

See how Metorial gives your team governed access to GitLab, with tracing and security controls built in.