# GitLab MCP Server

Connect an AI client to GitLab actions through MCP. Use it to inspect merge requests, issues, and pipeline failures across GitLab tiers.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 45
- Author: jmrplens
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/jmrplens/gitlab-mcp-server
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/jmrplens-gitlab-mcp-server

## What it does

The server connects to GitLab’s REST and GraphQL APIs. Its two tools expose an action catalog with about 876 actions for Free/CE and up to 1103 for Ultimate. Ask an agent to inspect a merge request, find assigned issues, or investigate a failed pipeline.

Access requires a GitLab token with the `api` scope; `read_api` works for actions GitLab permits with it. Claude Code can connect to the hosted HTTP endpoint with one command. For a local `npx` setup, provide `GITLAB_URL` and `GITLAB_TOKEN`; set `GITLAB_MCP_READ_ONLY=true` when writes must be blocked.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://mcp.jmrp.io/gitlab`
- Environment variables: `GITLAB_URL`, `GITLAB_TOKEN`, `GITLAB_MCP_SKIP_TLS_VERIFY`, `GITLAB_MCP_TOOL_SURFACE`, `GITLAB_MCP_TIER`, `GITLAB_MCP_READ_ONLY`, `GITLAB_MCP_SAFE_MODE`, `GITLAB_MCP_LOG_LEVEL`, `GITLAB_MCP_CAPABILITY_SURFACE`, `GITLAB_MCP_META_PARAM_SCHEMA` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: GitLab

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http gitlab-mcp-server https://mcp.jmrp.io/gitlab
```

2. **Platform CLI**
```bash
claude mcp add --env GITLAB_URL=<GITLAB_URL> --env GITLAB_TOKEN=<GITLAB_TOKEN> --env GITLAB_MCP_SKIP_TLS_VERIFY=<GITLAB_MCP_SKIP_TLS_VERIFY> --env GITLAB_MCP_TOOL_SURFACE=<GITLAB_MCP_TOOL_SURFACE> --env GITLAB_MCP_TIER=<GITLAB_MCP_TIER> --transport stdio jmrplens-gitlab-mcp-server -- npx -y @jmrp.io/gitlab-mcp-server
```
Replace <…> with your own values. 14 more environment variables are in the server README

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add jmrplens-gitlab-mcp-server --url https://mcp.jmrp.io/gitlab
```

2. **Platform CLI**
```bash
codex mcp add jmrplens-gitlab-mcp-server --env GITLAB_URL=<GITLAB_URL> --env GITLAB_TOKEN=<GITLAB_TOKEN> --env GITLAB_MCP_SKIP_TLS_VERIFY=<GITLAB_MCP_SKIP_TLS_VERIFY> --env GITLAB_MCP_TOOL_SURFACE=<GITLAB_MCP_TOOL_SURFACE> --env GITLAB_MCP_TIER=<GITLAB_MCP_TIER> -- npx -y @jmrp.io/gitlab-mcp-server
```
Replace <…> with your own values. 14 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "jmrplens-gitlab-mcp-server": {
            "url": "https://mcp.jmrp.io/gitlab"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "jmrplens-gitlab-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@jmrp.io/gitlab-mcp-server"
            ],
            "env": {
                "GITLAB_URL": "<GITLAB_URL>",
                "GITLAB_TOKEN": "<GITLAB_TOKEN>",
                "GITLAB_MCP_SKIP_TLS_VERIFY": "<GITLAB_MCP_SKIP_TLS_VERIFY>",
                "GITLAB_MCP_TOOL_SURFACE": "<GITLAB_MCP_TOOL_SURFACE>",
                "GITLAB_MCP_TIER": "<GITLAB_MCP_TIER>"
            }
        }
    }
}
```
Replace <…> with your own values. 14 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "jmrplens-gitlab-mcp-server": {
            "type": "http",
            "url": "https://mcp.jmrp.io/gitlab"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "jmrplens-gitlab-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@jmrp.io/gitlab-mcp-server"
            ],
            "env": {
                "GITLAB_URL": "<GITLAB_URL>",
                "GITLAB_TOKEN": "<GITLAB_TOKEN>",
                "GITLAB_MCP_SKIP_TLS_VERIFY": "<GITLAB_MCP_SKIP_TLS_VERIFY>",
                "GITLAB_MCP_TOOL_SURFACE": "<GITLAB_MCP_TOOL_SURFACE>",
                "GITLAB_MCP_TIER": "<GITLAB_MCP_TIER>"
            }
        }
    }
}
```
Replace <…> with your own values. 14 more environment variables are in the server README

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http jmrplens-gitlab-mcp-server https://mcp.jmrp.io/gitlab
```

2. **Platform CLI**
```bash
gemini mcp add -e GITLAB_URL=<GITLAB_URL> -e GITLAB_TOKEN=<GITLAB_TOKEN> -e GITLAB_MCP_SKIP_TLS_VERIFY=<GITLAB_MCP_SKIP_TLS_VERIFY> -e GITLAB_MCP_TOOL_SURFACE=<GITLAB_MCP_TOOL_SURFACE> -e GITLAB_MCP_TIER=<GITLAB_MCP_TIER> jmrplens-gitlab-mcp-server npx -y @jmrp.io/gitlab-mcp-server
```
Replace <…> with your own values. 14 more environment variables are in the server README

## When to use it
- check whether a merge request is safe to merge
- trace the cause of a failed pipeline
- find open issues assigned to you
- draft release notes between versions

## Example prompts
- Review merge request !15 and tell me whether it is safe to merge.
- Find out why the latest pipeline failed.
- List my open issues and draft release notes from v1.0 to v2.0.

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

## Other versions with the same name
- [GitLab MCP Server · zereight](https://affpapa.org/en/nevibecode/mcp/gitlab-mcp-server.md) — ★ 2065

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
