@godrix/mcp-gitlab-utils

@godrix/mcp-gitlab-utils

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

Category
Visit Server

README

@godrix/mcp-gitlab-utils

Install MCP Server

Node.js MCP server for the GitLab REST API — built for AI agents (pipelines, merge requests, diffs, local review, and context discovery).

Version 0.3.1gitlab_-prefixed tools, full MR lifecycle, read-only mode, server instructions, prompts, and resources.

Prerequisites

  • Node.js 18+
  • GitLab PAT with api and read_repository (write scope for merge/comment/approve)
  • Git on PATH (for repo_path, worktrees, and local review)

Quick install (npx)

No clone or local build — the published npm package includes compiled JavaScript.

Cursor / Claude Desktop (mcp.json)

{
  "mcpServers": {
    "gitlab-utils": {
      "command": "npx",
      "args": ["-y", "@godrix/mcp-gitlab-utils"],
      "env": {
        "GITLAB_TOKEN": "glpat-...",
        "GITLAB_BASE_URL": "https://gitlab.example.com",
        "GITLAB_READ_ONLY": "false"
      }
    }
  }
}

Restart your MCP client after saving. Optional variables: GITLAB_PROJECT_ID, WORKTREE_DIR.

Global install (alternative)

npm install -g @godrix/mcp-gitlab-utils

Then use "command": "mcp-gitlab-utils" in mcp.json (no npx).

Environment variables

Variable Required Description
GITLAB_TOKEN Yes Sent as PRIVATE-TOKEN header
GITLAB_BASE_URL Yes e.g. https://gitlab.example.com
GITLAB_PROJECT_ID No Fallback group/repo or numeric ID
WORKTREE_DIR No Default: /tmp/referencia_ao_mcp_worktree
GITLAB_READ_ONLY No Default: false. When true, blocks writes (merge, comment, approve, pipeline control, prepare_review)

Project resolution: pass project_id on a tool, or repo_path (local clone) to infer group/repo from origin, or set GITLAB_PROJECT_ID.

MR without IID: with repo_path, the current branch resolves the open MR (source_branch); errors if zero or multiple MRs match. Use gitlab_resolve_context to discover the IID.

Tools

Discovery

Tool Description
gitlab_resolve_context Resolve project_path, branch, and MR from repo_path
gitlab_search_projects Search projects accessible by the token

Merge requests

Tool Description
gitlab_get_merge_request MR metadata (state, reviewers, pipeline)
gitlab_get_mr_merge_status Mergeability: conflicts, draft, pipeline, approvals, blockers
gitlab_get_mr_context Diff/changes + optional CI traces and discussions
gitlab_get_mr_discussions Review threads and comments
gitlab_add_mr_inline_comment Inline comment on a diff line
gitlab_manage_merge_requests list, get, create, update, approve, unapprove, comment, merge, close, reopen, mark_draft, mark_ready

CI/CD

Tool Description
gitlab_list_pipelines List pipelines (by ref, MR, or status)
gitlab_get_pipeline Pipeline + jobs
gitlab_get_job_trace Job log
gitlab_control_pipeline list_jobs, play, retry_job, retry_pipeline, cancel_pipeline

Repository

Tool Description
gitlab_get_file Read remote file at a ref (e.g. .gitlab-ci.yml)
gitlab_compare Diff between two refs

Local review

Tool Description
gitlab_prepare_review git worktree + npm ci / composer install

Prompts (workflows)

Prompt Use
review_merge_request Full MR review with checklist
merge_merge_request Validate mergeability and merge
fix_failed_ci Diagnose and fix failed pipeline
create_mr_from_branch Create MR from current branch
triage_open_mrs Prioritize open MRs

Resources

URI Content
gitlab://guide Markdown agent guide (tools and flows)
gitlab://project/{project_ref} Project metadata JSON

Read-only mode

With GITLAB_READ_ONLY=true:

  • Allowed: reads (MR, diff, pipeline, merge status, list/get)
  • Blocked: merge, comment, inline comment, approve, create/update MR, pipeline control, prepare_review

Useful for analysis/review agents without mutating GitLab.

Migration 0.2 → 0.3

New tools and actions (no breaking changes to existing names):

Addition Description
gitlab_get_mr_merge_status Mergeability state and blockers
gitlab_add_mr_inline_comment Inline diff comment
gitlab_manage_merge_requests New actions: merge, close, reopen, mark_draft, mark_ready

Migration 0.1 → 0.2

Legacy names were renamed with the gitlab_ prefix:

0.1.0 0.2.0
control_pipeline gitlab_control_pipeline
get_mr_context gitlab_get_mr_context
manage_mrs gitlab_manage_merge_requests
prepare_review gitlab_prepare_review

gitlab_control_pipeline: retryretry_job; new actions retry_pipeline and cancel_pipeline.

MCPB install (Claude Desktop / local bundle)

Alternative to npx for clients that support .mcpb files:

  1. Clone the repo: git clone ... && npm install && npm run build
  2. npm run pack:mcpb — produces .mcpb with manifest.json, dist/, and node_modules
  3. For a smaller bundle: npm run pack:mcpb:slim
  4. Install the .mcpb in your client and fill in token + URL

Local development

To contribute or test changes before publishing to npm:

git clone https://github.com/godrix/mcp-gitlab-utils.git
cd mcp-gitlab-utils
npm install
cp .env.example .env   # set GITLAB_TOKEN and GITLAB_BASE_URL
npm run dev            # tsx, stdio
# or
npm run build && npm start

Cursor config pointing at the clone (instead of npx):

{
  "mcpServers": {
    "gitlab-utils": {
      "command": "node",
      "args": ["/absolute/path/mcp-gitlab-utils/dist/main.js"],
      "env": {
        "GITLAB_TOKEN": "glpat-...",
        "GITLAB_BASE_URL": "https://gitlab.example.com",
        "GITLAB_READ_ONLY": "false"
      }
    }
  }
}

Extra requirements for local review: npm and/or composer depending on the target repo.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured