GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Go MCP server for GitLab: 2 dynamic tools reach ~876 actions on Free/CE, up to ~1103 on Ultimate.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_CAPABILITY_SURFACE, GITLAB_MCP_META_PARAM_SCHEMA, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_EMBEDDED_RESOURCES, GITLAB_MCP_EXCLUDE_TOOLS, GITLAB_MCP_IGNORE_SCOPES, GITLAB_MCP_UPLOAD_MAX_FILE_SIZE, GITLAB_MCP_ALLOWED_UPLOAD_DIRS, GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS, GITLAB_MCP_ALLOWED_IMPORT_DIRS, GITLAB_MCP_RATE_LIMIT_RPS, GITLAB_MCP_RATE_LIMIT_BURST, GITLAB_MCP_LOG_LEVEL, GITLAB_MCP_LANGUAGE, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add --transport http gitlab https://mcp.jmrp.io/gitlab --header 'Authorization: your-value'claude mcp add gitlab --env GITLAB_URL=your-value --env GITLAB_TOKEN=your-value --env GITLAB_MCP_SKIP_TLS_VERIFY=your-value --env GITLAB_MCP_TOOL_SURFACE=your-value --env GITLAB_MCP_CAPABILITY_SURFACE=your-value --env GITLAB_MCP_META_PARAM_SCHEMA=your-value --env GITLAB_MCP_TIER=your-value --env GITLAB_MCP_READ_ONLY=your-value --env GITLAB_MCP_SAFE_MODE=your-value --env GITLAB_MCP_EMBEDDED_RESOURCES=your-value --env GITLAB_MCP_EXCLUDE_TOOLS=your-value --env GITLAB_MCP_IGNORE_SCOPES=your-value --env GITLAB_MCP_UPLOAD_MAX_FILE_SIZE=your-value --env GITLAB_MCP_ALLOWED_UPLOAD_DIRS=your-value --env GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS=your-value --env GITLAB_MCP_ALLOWED_IMPORT_DIRS=your-value --env GITLAB_MCP_RATE_LIMIT_RPS=your-value --env GITLAB_MCP_RATE_LIMIT_BURST=your-value --env GITLAB_MCP_LOG_LEVEL=your-value --env GITLAB_MCP_LANGUAGE=your-value -- npx -y @jmrp.io/gitlab-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gitlab": {
"url": "https://mcp.jmrp.io/gitlab",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gitlab": {
"command": "npx",
"args": [
"-y",
"@jmrp.io/gitlab-mcp-server"
],
"env": {
"GITLAB_URL": "your-value",
"GITLAB_TOKEN": "your-value",
"GITLAB_MCP_SKIP_TLS_VERIFY": "your-value",
"GITLAB_MCP_TOOL_SURFACE": "your-value",
"GITLAB_MCP_CAPABILITY_SURFACE": "your-value",
"GITLAB_MCP_META_PARAM_SCHEMA": "your-value",
"GITLAB_MCP_TIER": "your-value",
"GITLAB_MCP_READ_ONLY": "your-value",
"GITLAB_MCP_SAFE_MODE": "your-value",
"GITLAB_MCP_EMBEDDED_RESOURCES": "your-value",
"GITLAB_MCP_EXCLUDE_TOOLS": "your-value",
"GITLAB_MCP_IGNORE_SCOPES": "your-value",
"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE": "your-value",
"GITLAB_MCP_ALLOWED_UPLOAD_DIRS": "your-value",
"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS": "your-value",
"GITLAB_MCP_ALLOWED_IMPORT_DIRS": "your-value",
"GITLAB_MCP_RATE_LIMIT_RPS": "your-value",
"GITLAB_MCP_RATE_LIMIT_BURST": "your-value",
"GITLAB_MCP_LOG_LEVEL": "your-value",
"GITLAB_MCP_LANGUAGE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"gitlab": {
"type": "http",
"url": "https://mcp.jmrp.io/gitlab",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"gitlab": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@jmrp.io/gitlab-mcp-server"
],
"env": {
"GITLAB_URL": "your-value",
"GITLAB_TOKEN": "your-value",
"GITLAB_MCP_SKIP_TLS_VERIFY": "your-value",
"GITLAB_MCP_TOOL_SURFACE": "your-value",
"GITLAB_MCP_CAPABILITY_SURFACE": "your-value",
"GITLAB_MCP_META_PARAM_SCHEMA": "your-value",
"GITLAB_MCP_TIER": "your-value",
"GITLAB_MCP_READ_ONLY": "your-value",
"GITLAB_MCP_SAFE_MODE": "your-value",
"GITLAB_MCP_EMBEDDED_RESOURCES": "your-value",
"GITLAB_MCP_EXCLUDE_TOOLS": "your-value",
"GITLAB_MCP_IGNORE_SCOPES": "your-value",
"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE": "your-value",
"GITLAB_MCP_ALLOWED_UPLOAD_DIRS": "your-value",
"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS": "your-value",
"GITLAB_MCP_ALLOWED_IMPORT_DIRS": "your-value",
"GITLAB_MCP_RATE_LIMIT_RPS": "your-value",
"GITLAB_MCP_RATE_LIMIT_BURST": "your-value",
"GITLAB_MCP_LOG_LEVEL": "your-value",
"GITLAB_MCP_LANGUAGE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
GITLAB_URL envGITLAB_MCP_SKIP_TLS_VERIFY envGITLAB_MCP_TOOL_SURFACE envGITLAB_MCP_CAPABILITY_SURFACE envGITLAB_MCP_META_PARAM_SCHEMA envGITLAB_MCP_TIER envGITLAB_MCP_READ_ONLY envGITLAB_MCP_SAFE_MODE envGITLAB_MCP_EMBEDDED_RESOURCES envGITLAB_MCP_EXCLUDE_TOOLS envGITLAB_MCP_IGNORE_SCOPES envGITLAB_MCP_UPLOAD_MAX_FILE_SIZE envGITLAB_MCP_ALLOWED_UPLOAD_DIRS envGITLAB_MCP_ALLOWED_DOWNLOAD_DIRS envGITLAB_MCP_ALLOWED_IMPORT_DIRS envGITLAB_MCP_RATE_LIMIT_RPS envGITLAB_MCP_RATE_LIMIT_BURST envGITLAB_MCP_LOG_LEVEL envGITLAB_MCP_LANGUAGE envAuthorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account jmrplens, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GITLAB_TOKEN, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (3.4.0) reached the registry 6 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
All of GitLab for your AI assistant. Up to 1,103 actions over GitLab's REST and GraphQL APIs, from Free to Ultimate and on GitLab.com, in one self-contained binary that works with Claude, Cursor, VS Code, Codex and any other MCP client. You ask in plain language; it does the GitLab work.
11,396 tokens of startup context by default, the same on every GitLab tier (1,994 with `GITLAB_MCP_CAPABILITY_SURFACE=minimal`). Two tools reach the whole catalog, where listing every tool as its own costs from 558,319 to 715,037 tokens. Measured with the cl100k_base tokenizer and checked in CI. How it is measured
"Review merge request !15: is it safe to merge?" · "Why did the last pipeline fail?" · "List open issues assigned to me" · "Generate release notes from v1.0 to v2.0"
api, or read_api for the actions GitLab accepts from it; a fine-grained token, judged action by action from its grant; OAuth in HTTP mode. Each action's tool reference entry says which scope and which fine-grained permissions it needs.The buttons register the Docker image, so they need Docker; the Claude Desktop row downloads a native extension instead. Create a personal access token with the api scope (or read_api for the actions GitLab accepts from it; add GITLAB_MCP_READ_ONLY=true when nothing may be written).
Client One-click button Token step
VS Code
prompts you (masked)
Cursor
edit YOUR_GITLAB_TOKEN
LM Studio
edit YOUR_GITLAB_TOKEN
Kiro
edit YOUR_GITLAB_TOKEN
Claude Desktop
settings UI
Claude Code. The registration command never carries the token: -e GITLAB_TOKEN forwards it from the environment Claude Code hands docker.
export GITLAB_TOKEN=glpat-xxxx
claude mcp add gitlab --transport stdio \ -- docker run -i --rm -e GITLAB_TOKEN ghcr.io/jmrplens/gitlab-mcp-server:latest
Any other client runs one of these as the server's command, with GITLAB_TOKEN in the environment it passes:
npx -y @jmrp.io/gitlab-mcp-server # npm, nothing installed first
uvx jmrplens-gitlab-mcp-server # PyPI, nothing installed first dnx gitlab-mcp-server # NuGet (.NET 10 SDK), nothing installed first brew install jmrplens/tap/gitlab-mcp-server # Homebrew, macOS and Linux winget install --id jmrplens.gitlab-mcp-server -e # winget, Windows docker run -i --rm -e GITLAB_TOKEN ghcr.io/jmrplens/gitlab-mcp-server:latest
For a self-managed instance, set GITLAB_URL=https://gitlab.example.com beside the token; with the Docker image, also forward it by adding -e GITLAB_URL to the docker arguments, since the container receives only the variables named there (Docker install). Every channel, per-client configuration and verification step is in the installation guide, and an assistant installing it for you will find the same in llms.txt.
To try it first, a public instance runs at https://mcp.jmrp.io/gitlab, and the browser inspector calls it read-only after an OAuth sign-in. Your token and every request pass through that machine, so run it yourself to keep using it; the hosted endpoint page says what it is and is not.
Everything else is at [docs.jmrp.io/gitlab-mcp-server](https://docs.jmrp.io/gitlab-mcp-server), in English and Spanish: getting started, configuration, tool surfaces, HTTP server mode, security, privacy and troubleshooting.
Packages
Only the beginning is shown; read the rest in the repo