mrkeyoor.com_
Tue 01 Sept 16:15 UTC
Dev ToolsMCP servermeasured 19 Aug 2026

GitLab (archived)

GitLab (archived) is the retired reference MCP server Anthropic published on npm as @modelcontextprotocol/server-gitlab. It wrapped GitLab's REST API so an assistant could read and write issues, merge requests, branches and repository files on gitlab.com or a self-managed instance. npm now flags the package as no longer supported, and it refuses to start without a GitLab personal access token.

BootDID NOT BOOTWe started it and it never completed initialize: exited with code 1 before initialize completed
Tools0tools/list payload 0 bytes
Context tax~0estimated tokens for the whole tools/list, chars/4 estimate
Resources / prompts / counts returned by resources/list and prompts/list
Measured19 Aug 2026one run of the harness, clean environment, no credentials · how we test

How we started it

npx -y @modelcontextprotocol/server-gitlab
Verdict

Skip it. When we booted it with a clean environment on 2026-08-19 it printed one line about a missing GITLAB_PERSONAL_ACCESS_TOKEN and exited with code 1 before initialize completed, so we never saw a tools/list at all. Give it a token and it will probably run, since the code is a thin REST wrapper and thin REST wrappers age slowly. The reason against is the npm deprecation notice sitting right above that error: nobody is going to fix this one when GitLab changes an endpoint, and you would be pinning your merge-request automation to an abandoned package.

Use it if

You already depend on this exact package in a pinned lockfile and just want to know what it does before you rip it out
You need a small, readable example of an MCP server that fronts a REST API, and you are reading the source rather than running it
You are on a self-managed GitLab with a frozen API version and an unmaintained wrapper genuinely is a stable target

Skip it if

You are choosing a GitLab integration today, in which case take the vendor's own maintained server instead of an archived reference one
You cannot mint a GitLab personal access token with API scope, because without it the process dies before the handshake
Your security review flags dependencies marked deprecated on npm, and this one announces it in the install output
You want a measured context cost before you commit, since a server that never completed initialize has no tools/list to weigh
You need GitLab features added after the package was frozen, such as newer CI or security endpoints

The bill for your context window

There is no context tax to report, and that is the honest reading of the record: toolsCount 0, estTokens 0, because the server exited before it could answer tools/list. That zero is an absence of measurement, not a virtue. Nothing was weighed, so nothing can be quoted about which tools carry the weight here. Judging by the source, this is a plain REST wrapper with one tool per GitLab endpoint, so a booted run would sit in the ordinary middle of this batch rather than near Notion at the top. If you give it a token and run it yourself, the tools/list payload is the thing to measure first.

Setup reality

One env var stands between you and a boot: GITLAB_PERSONAL_ACCESS_TOKEN, which is the only name the process leaked to stderr before quitting. The README also documents GITLAB_API_URL for self-managed instances, defaulting to gitlab.com. Transport is stdio, launched through npx, and the install emits a deprecation warning for the package plus one for a transitive node-domexception dependency. The token needs api scope for writes, read_api if you only want it reading, and it inherits every project your user can see, which is the usual over-broad grant problem with GitLab PATs. There is no OAuth path here.

GITLAB_PERSONAL_ACCESS_TOKEN

Questions people ask

Why did the GitLab MCP server fail to start when you measured it?

Our harness runs every server with a clean environment and no credentials, on purpose. This one checks for GITLAB_PERSONAL_ACCESS_TOKEN at startup, finds nothing, prints a message and exits with code 1 before the MCP initialize handshake. It is a configuration failure, not a crash.

Is @modelcontextprotocol/server-gitlab still maintained?

No. npm returns a deprecation notice during install saying the package is no longer supported and pointing at npm support, which is the generic message left behind when a package is retired. Treat it as frozen source code you can read, not a dependency you should add.

What should I use for GitLab MCP instead?

GitLab ships its own MCP support in recent releases, and there are community servers covering issues and merge requests. Whichever you pick, check that it boots on your GitLab version and that its token scope matches what you actually want an agent doing to your repositories.

Other dev tools servers we started

ServerVendorBootsContext tax
CircleCICircleCI~12,932 tokens
Everything (test server)Anthropic (reference)~1,913 tokens
GitAnthropic (reference)~1,477 tokens
GitHub (archived npm server)Anthropic (archived)~3,964 tokens

How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.

← All measured MCP servers