Advanced GitLab MCP server runs on your own machine — the client starts it, so there is no endpoint to ping. 5 005 installs a week from npm. Last commit 2 Nov 2026.
64 CQRS tools exposing 236 GitLab operations across 26 entity types
We read the source, 46 min ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const result = spawnSync(cmd, args, {
# Root needed to add files under node_modules; dropped back to the app user after
USER root
# Install the db package as a real node module so core's lazy
# require('@structured-world/gitlab-mcp-db') resolves at runtime. Its generated
# Prisma client lives inside the package (custom output dir).
# ============================================================================ # ENVIRONMENT CONFIGURATION # ============================================================================ # Core GitLab connection settings (required) ENV GITLAB_TOKEN=""
for (const [key, value] of Object.entries(process.env)) {
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add gitlab-mcp -e 'GITLAB_TOKEN=<GITLAB_TOKEN>' -- npx -y @structured-world/gitlab-mcp
{
"mcpServers": {
"gitlab-mcp": {
"command": "npx",
"args": [
"-y",
"@structured-world/gitlab-mcp"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>"
}
}
}
}
[mcp_servers.gitlab-mcp]
command = "npx"
args = ["-y", "@structured-world/gitlab-mcp"]
env = { GITLAB_TOKEN = "<GITLAB_TOKEN>" }
{
"mcpServers": {
"gitlab-mcp": {
"command": "npx",
"args": [
"-y",
"@structured-world/gitlab-mcp"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>"
}
}
}
}
{
"servers": {
"gitlab-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@structured-world/gitlab-mcp"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>"
}
}
}
}
Put your own value in place of
<GITLAB_TOKEN> (GitLab Personal Access Token with 'api' and 'read_user' scopes).
The author’s registry entry marks it as required.
Optional settings from the registry entry, left out of the block above:
GITLAB_API_URL (GitLab instance API URL for self-hosted instances (defaults to https://gitlab.com)), GITLAB_READ_ONLY_MODE (Enable read-only mode (disable all manage_* write operations)).
An MCP server that exposes getMe key-value operations as MCP tools
MCP server that exposes GraphQL operations as tools for AI models.
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
Unified gateway exposing 150+ tools across all NexGenData MCP servers via one endpoint.
MCP server exposing OptiQra's website audit tools: SEO, GEO, AEO, and AI-generated fixes.
MCP server for valet parking: 789 US operators across 31,186 cities. 7 tools. No auth.
MCP server exposing AccuraCite's citation verification and finding API as tools
SSH connection manager with MCP server for AI-assisted operations across servers.
Answers built from our own checks of this server.