---
title: "GitLab MCP Server for ToolPiper · ModelPiper"
description: "Manage GitLab projects, issues, and merge requests. Nine tools cover the parts of GitLab you actually touch from a code chat: read a file with `get_file_contents`, commit a single file with `create_or_update_file`, batch"
canonical: "https://modelpiper.com/mcp-tools/gitlab"
---

# GitLab MCP Server for ToolPiper · ModelPiper

> Manage GitLab projects, issues, and merge requests. Nine tools cover the parts of GitLab you actually touch from a code chat: read a file with `get_file_contents`, commit a single file with `create_or_update_file`, batch

G

# GitLab MCP Server

✓ verified

Manage GitLab projects, issues, and merge requests.

Install GitLab in ToolPiper

Don't have ToolPiper? We'll take you to the download.

[Open repository →](https://github.com/modelcontextprotocol/servers-archived/tree/main/src/gitlab)

Publisher

[Anthropic Reference (archived)](https://github.com/modelcontextprotocol/servers-archived)

License

MIT

Transport

Local subprocess

Tools

5

## What this server does

Nine tools cover the parts of GitLab you actually touch from a code chat: read a file with \`get\_file\_contents\`, commit a single file with \`create\_or\_update\_file\`, batch-commit multiple files with \`push\_files\`, file an issue, open a merge request, fork a project, create a branch, search projects, and create a new repository. Multi-file pushes batch into one commit, which keeps history clean. Branches you reference are created automatically if they do not exist. That is convenient and also a footgun: be aware before letting the model commit on a branch name it invented. Self-hosted GitLab works via the optional \`GITLAB\_API\_URL\` (default \`https://gitlab.com/api/v4\`). Token scopes: \`api\` for full read/write, \`read\_api\` for browsing only, or the narrower \`read\_repository\` + \`write\_repository\` if you want repo-only access without project administration. Create one at gitlab.com/-/user\_settings/personal\_access\_tokens. Compared to the GitHub server: same shape, narrower surface. No PR review tools, no CI controls, no notifications, no labels API beyond what \`create\_issue\` accepts. For deeper GitLab work the community projects go further, but this reference covers the file, issue, and MR loop cleanly and preserves git history without force-pushing. Operations either succeed or return a clear error.

## Tools included

-   create\_or\_update\_file
    
    Create or update a file in a repository.
    
-   search\_repositories
    
    Search GitLab projects.
    
-   create\_issue
    
    Open an issue in a project.
    
-   create\_merge\_request
    
    Open a merge request.
    
-   get\_file\_contents
    
    Read a file at a path.
    

The authoritative list comes from the server's tools/list at runtime. This catalog entry may lag the upstream until the next ToolPiper release.

## Install in ToolPiper

ToolPiper handles the JSON configuration. Click Install, fill in any required tokens, and the server is ready in your chat.

Install GitLab in ToolPiper

Don't have ToolPiper? We'll take you to the download.

## Install in another client

Install in another MCP client (Claude Desktop, Cursor, Continue, Cline)

Claude Desktop Cursor Continue Cline

Add this to ~/Library/Application Support/Claude/claude\_desktop\_config.json.

```
{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-gitlab"
      ]
    }
  }
}
```

Copy

## Example prompts

-   "Open an issue in modelpiper/web titled 'CSP blocks third-party fonts' with label 'bug'."
    
    Copy
-   "Create a merge request from feature/auth into main: 'Rewrite auth middleware'."
    
    Copy
-   "Read .gitlab-ci.yml from the dev branch of modelpiper/api."
    
    Copy
-   "Fork modelpiper/sandbox into my namespace and create branch fix/typos."
    
    Copy

## Security notes

The personal access token is the whole authorization story. A token with \`api\` scope can read, write, and delete anything your user can. Treat it like a password and rotate at gitlab.com/-/user\_settings/personal\_access\_tokens if it leaks. For self-hosted GitLab, the same applies plus whatever IP allowlist you maintain. The token is passed via the \`GITLAB\_PERSONAL\_ACCESS\_TOKEN\` env var; do not commit the JSON config to a public repo. The upstream Anthropic reference is archived and GitLab has not published an official MCP server yet, though active community forks exist for users who outgrow this surface.

## Related tools

-   [
    
    G
    
    ### GitHub
    
    ✓ verified
    
    Create issues, manage pull requests, and search repositories from your AI assistant.
    
    Developer ToolsLocal subprocess5 tools
    
    
    
    
    
    ](/mcp-tools/github)
-   [
    
    G
    
    ### GitHub (Remote)
    
    ✓ verified MAX
    
    OAuth-protected GitHub MCP. Manage repos, issues, and pull requests with no token to copy.
    
    Developer ToolsRemote HTTP5 tools
    
    
    
    
    
    ](/mcp-tools/github-remote)
-   [
    
    G
    
    ### Git
    
    ✓ verified
    
    Read, search, and manipulate Git repositories on disk.
    
    Developer ToolsLocal subprocess5 tools
    
    
    
    
    
    ](/mcp-tools/git)
-   [
    
    E
    
    ### Everything
    
    ✓ verified
    
    Reference test server exercising every MCP feature.
    
    Developer ToolsLocal subprocess5 tools
    
    
    
    
    
    ](/mcp-tools/everything)

[← Back to all MCP tools](/mcp-tools)
