MCP server intelligence profile

@godrix/mcp-gitlab-utils MCP Server

MCP server for GitLab REST API enabling AI agents to manage pipelines, merge requests, diffs, and local reviews

Local Onlygodrix
Awaiting current scanNpm · 0.3.3

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
15Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @godrix/gitlab-utils-mcp from npm

Version 0.3.3 declares 1 executable entrypoint.

npm install --save-exact @godrix/gitlab-utils-mcp@0.3.3
npx -y -p @godrix/gitlab-utils-mcp@0.3.3 @godrix/gitlab-utils-mcp
MCP client configuration example
{
  "mcpServers": {
    "@godrix/gitlab-utils-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@godrix/gitlab-utils-mcp@0.3.3",
        "@godrix/gitlab-utils-mcp"
      ]
    }
  }
}

Identity

Canonical sluggodrix-mcp-gitlab-utils-7c09cc9bDeploymentLocal Only
Canonical packagenpm:@godrix/gitlab-utils-mcpRepositorygodrix/mcp-gitlab-utils
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@godrix/gitlab-utils-mcp0.3.31Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@godrix/gitlab-utils-mcp0.3.3CurrentSep 5, 202615 toolsSucceeded · 1 resources · 5 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
@godrix/gitlab-utils-mcpServer-reported name
4Capability groups
Aug 23, 2026Observed

Tools 15

ToolCategoryAnnotationsRisk
gitlab_add_mr_inline_commentCreates a review thread on a specific diff line (file + new_line or old_line). Requires write permissions.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "description": "Comment text."
    },
    "file_path": {
      "type": "string",
      "description": "File path in the diff (e.g. src/app.ts)."
    },
    "new_line": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Line in the new file (additions/changes)."
    },
    "old_line": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Line in the old file (deletions)."
    },
    "old_path": {
      "type": "string",
      "description": "Old path if the file was renamed; default=file_path."
    },
    "new_path": {
      "type": "string",
      "description": "New path if the file was renamed; default=file_path."
    }
  },
  "required": [
    "body",
    "file_path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "openWorldHint": true
}
WritesNon-destructiveOpen world
gitlab_compareDiff between two refs (branches, tags, or SHAs). Returns commits and file diffs.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "from": {
      "type": "string",
      "description": "Source ref (branch, tag, or SHA)."
    },
    "to": {
      "type": "string",
      "description": "Target ref (branch, tag, or SHA)."
    },
    "straight": {
      "type": "boolean",
      "default": false,
      "description": "When true, direct comparison without merge-base."
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_control_pipelineLists jobs, plays manual jobs, retries job/pipeline, or cancels pipeline.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "action": {
      "type": "string",
      "enum": [
        "list_jobs",
        "play",
        "retry_job",
        "retry_pipeline",
        "cancel_pipeline"
      ]
    },
    "pipeline_id": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "openWorldHint": true
}
WritesNon-destructiveOpen world
gitlab_get_fileReturns file content at a ref (branch, tag, or commit SHA). Useful for .gitlab-ci.yml or configs without a local clone.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "file_path": {
      "type": "string",
      "description": "File path in the repo (e.g. .gitlab-ci.yml, src/main.ts)."
    },
    "ref": {
      "type": "string",
      "description": "Branch, tag, or SHA. Default: project default_branch."
    },
    "max_chars": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500000,
      "default": 100000
    }
  },
  "required": [
    "file_path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_get_job_traceReturns the trace (full or truncated log) for a job by job_id.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Job ID (not to be confused with pipeline_id)."
    },
    "max_chars": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500000,
      "default": 48000
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_get_merge_requestReturns MR metadata: title, state, branches, reviewers, labels, head pipeline, approvals, and URL.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_get_mr_contextReturns MR changes/diff and optionally failed job traces and review discussions.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    },
    "include_failed_jobs_trace": {
      "type": "boolean",
      "default": false,
      "description": "When true, attaches logs from failed jobs on head_pipeline."
    },
    "include_discussions": {
      "type": "boolean",
      "default": false,
      "description": "When true, includes discussion threads and inline comments."
    },
    "trace_max_chars": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500000,
      "default": 24000
    },
    "discussions_per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_get_mr_discussionsLists review threads, inline comments, and general MR notes.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    },
    "per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_get_mr_merge_statusSummarizes whether the MR can be merged: conflicts, draft, pipeline, approvals, blocking discussions, and actionable blockers.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_get_pipelineReturns pipeline state and job list with summary (name, stage, status, duration).
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "pipeline_id": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_list_pipelinesLists recent project pipelines, filtering by ref (branch/tag), MR, or status.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "ref": {
      "type": "string",
      "description": "Branch ou tag (ex.: main, feature/foo)."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    },
    "status": {
      "type": "string",
      "enum": [
        "created",
        "waiting_for_resource",
        "preparing",
        "pending",
        "running",
        "success",
        "failed",
        "canceled",
        "skipped",
        "manual",
        "scheduled"
      ],
      "description": "Filter by pipeline status."
    },
    "per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_manage_merge_requestsList, create, update, approve, merge, close, reopen, draft/ready, or comment on merge requests.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "action": {
      "type": "string",
      "enum": [
        "list",
        "get",
        "create",
        "update",
        "approve",
        "unapprove",
        "comment",
        "merge",
        "close",
        "reopen",
        "mark_draft",
        "mark_ready"
      ]
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    },
    "state": {
      "type": "string",
      "enum": [
        "opened",
        "closed",
        "merged",
        "all"
      ],
      "description": "Filter for list action."
    },
    "source_branch": {
      "type": "string",
      "description": "Filter for list or branch for create."
    },
    "target_branch": {
      "type": "string",
      "description": "Target branch for create (default: project default_branch)."
    },
    "title": {
      "type": "string",
      "description": "Title (create/update)."
    },
    "description": {
      "type": "string",
      "description": "Description (create/update)."
    },
    "labels": {
      "type": "string",
      "description": "Comma-separated labels (create/update)."
    },
    "remove_source_branch": {
      "type": "boolean",
      "description": "Remove branch after merge (create/update/merge)."
    },
    "comment": {
      "type": "string",
      "description": "Comment body (comment action)."
    },
    "squash": {
      "type": "boolean",
      "description": "Squash commits when merging."
    },
    "merge_commit_message": {
      "type": "string",
      "description": "Merge commit message."
    },
    "squash_commit_message": {
      "type": "string",
      "description": "Squash commit message."
    },
    "merge_when_pipeline_succeeds": {
      "type": "boolean",
      "description": "Schedule merge when pipeline succeeds."
    },
    "sha": {
      "type": "string",
      "description": "Expected source branch SHA (GitLab merge validation)."
    },
    "list_per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "openWorldHint": true
}
WritesNon-destructiveOpen world
gitlab_prepare_reviewCreates a worktree from local repo (repo_path) or shallow HTTPS clone with token. Runs npm ci or composer install by default.
Input schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Numeric ID or group/repo path on GitLab."
    },
    "repo_path": {
      "type": "string",
      "description": "Absolute local clone path; resolves project and MR from current branch."
    },
    "merge_request_iid": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Merge request IID. Omit with repo_path to resolve from current branch."
    },
    "install_command": {
      "type": "string",
      "description": "Shell command at worktree root (e.g. npm ci). Omit to auto-detect."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "openWorldHint": true
}
WritesNon-destructiveOpen world
gitlab_resolve_contextDiscovers project_id, current branch, and merge_request_iid from repo_path. Use before other tools when working in a local clone.
Input schema
{
  "type": "object",
  "properties": {
    "repo_path": {
      "type": "string",
      "description": "Absolute path to local clone."
    }
  },
  "required": [
    "repo_path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world
gitlab_search_projectsLists projects accessible by the token, with optional name or path filter.
Input schema
{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "description": "Search term (name or path)."
    },
    "membership": {
      "type": "boolean",
      "default": true,
      "description": "When true, only projects where the user is a member."
    },
    "per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": true
}
Read onlyNon-destructiveOpen world

Resources 1

  • gitlab_agent_guidegitlab://guide

    Tool reference, context resolution, and recommended workflows.

Resource templates 1

  • gitlab_projectgitlab://project/{project_ref}

    Project info: default_branch, web_url, visibility, and basic stats.

Prompts 5

  • create_mr_from_branchcreate_mr_from_branch

    Open a merge request with title and description from branch work.

  • fix_failed_cifix_failed_ci

    Workflow to diagnose and fix failed jobs on the MR or branch pipeline.

  • merge_merge_requestmerge_merge_request

    Workflow to validate mergeability and merge (or schedule merge_when_pipeline_succeeds).

  • review_merge_requestreview_merge_request

    Agent workflow to review an MR: context, diff, discussions, and quality checklist.

  • triage_open_mrstriage_open_mrs

    List and prioritize open merge requests for the project or branch.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

@godrix/mcp-gitlab-utils MCP Server questions

How do I install @godrix/mcp-gitlab-utils MCP Server?

Install the selected package version with: npm install --save-exact @godrix/gitlab-utils-mcp@0.3.3

What tools does @godrix/mcp-gitlab-utils MCP Server provide?

@godrix/mcp-gitlab-utils MCP Server exposed 15 tools during independent protocol observation, including gitlab_add_mr_inline_comment, gitlab_compare, gitlab_control_pipeline, gitlab_get_file, gitlab_get_job_trace, gitlab_get_merge_request, gitlab_get_mr_context, gitlab_get_mr_discussions, and others.

Is @godrix/mcp-gitlab-utils MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

GitLab intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.