1. Conduid
  2. Developer Tools
  3. Gitlab Server
MCP server · Developer Tools

Gitlab Server

A reusable Model Context Protocol (MCP) server that exposes GitLab and Git tools so your AI client

Unclaimed last commit a year ago devtools
41Fair

Scored 5 months ago · breakdown

About Gitlab Server

Gitlab Server is an MCP server published by Evalin123 in the Developer Tools category: a reusable Model Context Protocol (MCP) server that exposes GitLab and Git tools so your AI client.

The repository has 1 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/Evalin123/mcp-gitlab-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Gitlab Server

Powered by Claude · Grounded in docs

I know everything about Gitlab Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

GitLab MCP Server

An MCP server that provides Git workflow automation and GitLab integration for AI assistants. https://www.npmjs.com/package/@evalin8/mcp-gitlab-server

Features

  • Git Operations: Create branches, commit changes, and push via git CLI
  • GitLab Integration: Create issues via GitLab REST API
  • Automated Workflow: Streamline development workflow with AI assistance
  • Flexible Configuration: Support for GitLab.com and self-hosted instances

Transport: stdio
Runtime: Node.js 18+

Installation

Using NPX (Recommended)

npx @evalin8/mcp-gitlab-server

Global Installation

npm install -g @evalin8/mcp-gitlab-server
# or: pnpm add -g @evalin8/mcp-gitlab-server

Local Installation

npm install @evalin8/mcp-gitlab-server
npx @evalin8/mcp-gitlab-server

Setup

GitLab Personal Access Token

  1. Go to GitLab → Settings → Access Tokens
  2. Create a new token with these scopes:
    • api - Full API access
    • read_user - Read user information
    • read_repository - Read repository content
  3. Copy the token (starts with glpat_)

Environment Configuration

Create a .env file in your project root or set environment variables:

GITLAB_HOST=https://gitlab.com/api/v4
GITLAB_TOKEN=glpat_xxxxxxxxxxxxxxxxx

Note: GITLAB_HOST should include the full API path ending with /api/v4. For self-hosted GitLab, use https://your-gitlab.company.com/api/v4.

MCP Client Integration

Add the following configuration to your MCP client:

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor/VSCode/Other MCP Clients

Add to your MCP settings configuration

{
    "mcpServers": {
        "gitlab": {
            "command": "npx",
            "args": ["-y", "@evalin8/mcp-gitlab-server"],
            "env": {
                "GITLAB_HOST": "https://gitlab.com/api/v4",
                "GITLAB_TOKEN": "glpat_your_token_here"
            }
        }
    }
}

Note: Restart your MCP client after saving the configuration.

Available Tools

Git Operations

git_create_branch

Create and checkout a new branch

  • repoPath: string (optional; defaults to current directory)
  • branchName: string (required)
  • fromRef: string (optional; e.g., "origin/main")
  • setUpstream: boolean (optional; default: true)

git_commit_push

Commit all changes and push to branch

  • repoPath: string (required)
  • message: string (required)
  • branch: string (required)

GitLab Operations

gitlab_create_issue

Create a new issue in GitLab project

  • project: string (required; numeric ID recommended)
  • title: string (required)
  • description: string (optional)
  • labels: string[] (optional)
  • assigneeIds: number[] (optional)
  • milestoneId: number (optional)
  • confidential: boolean (optional)

Getting Project ID

To find your GitLab project ID:

  1. Go to your GitLab project page
  2. The numeric ID is displayed under the project name
  3. Use this numeric ID (e.g., 12345) not the project path

Example Usage

import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
import { McpClient } from "@modelcontextprotocol/sdk/client/mcp.js";

async function example() {
    const transport = new StdioClientTransport({
        command: "npx",
        args: ["-y", "@evalin8/mcp-gitlab-server"],
    });
    const client = new McpClient(transport);
    await client.connect();

    // Create a feature branch
    await client.callTool("git_create_branch", {
        repoPath: "/path/to/repo",
        branchName: "feat/ai-integration",
        fromRef: "origin/main",
    });

    // Make changes, then commit and push
    await client.callTool("git_commit_push", {
        repoPath: "/path/to/repo",
        message: "feat: add AI integration",
        branch: "feat/ai-integration",
    });

    // Create a GitLab issue
    await client.callTool("gitlab_create_issue", {
        project: "12345",
        title: "Review AI integration feature",
        description: "Please review the new AI integration implementation",
    });

    await client.close();
}

Troubleshooting

GitLab API Issues

  • 404 Error: Ensure GITLAB_HOST includes the full API path (e.g., https://gitlab.com/api/v4) and use numeric project ID
  • 401 Error: Verify your token has api scope and is correctly set
  • 403 Error: Check if you have sufficient permissions for the project

Git Operations

  • Push hangs: Set setUpstream: false or configure Git credentials/SSH
  • Authentication required: This server sets GIT_TERMINAL_PROMPT=0 to avoid interactive prompts

General Issues

  • Server not responding: Check that the server process is running
  • Environment variables: Ensure .env file is in the correct location
  • Node.js version: Requires Node.js 18 or higher

Development

Build

npm run build

Development Mode

npm run dev

Watch Mode

npm run start

Environment Variables

  • GITLAB_HOST: GitLab API URL including /api/v4 path (e.g., https://gitlab.com/api/v4 or https://gitlab.company.com/api/v4) - defaults to https://gitlab.com/api/v4
  • GITLAB_TOKEN: Your GitLab personal access token (required)

License

MIT License - Copyright (c) 2025 Eva

This MCP server is licensed under the MIT License. Feel free to use, modify, and distribute according to the license terms.

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About Gitlab Server

How do I install Gitlab Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Gitlab Server safe to use with an AI agent?

Its trust score is 41 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Gitlab Server still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.