Getting Started

June 1, 2026 · View on GitHub

This page helps you pick the right authentication method and the right transport for your environment.

1. Pick an authentication method

The server supports four ways to authenticate against GitLab.

MethodWhen to use itConfig
Personal Access TokenSimplest setup for local/desktop use.GITLAB_PERSONAL_ACCESS_TOKEN
OAuth2 — Local BrowserBetter security for local clients (Claude Desktop, VS Code).GITLAB_USE_OAUTH=true
OAuth2 — MCP ProxyRemote MCP clients such as Claude.ai.GITLAB_MCP_OAUTH=true
Remote AuthorizationMulti-user deployments where each caller provides their own token.REMOTE_AUTHORIZATION=true

Decision flow

!!! tip "Which one should I use?"

- **Local desktop, single user** → Personal Access Token or OAuth Local.
- **Remote single tenant (e.g., Claude.ai)** → OAuth MCP Proxy.
- **Remote multi-tenant (each user has their own GitLab token)** → Remote Authorization.
- **Docker / containers** → Personal Access Token (OAuth needs a browser).

Full guides:

2. Pick a transport

TransportWhen to use it
stdioLocal MCP clients (Claude Code, VS Code, Cursor, etc.). The default.
SSELegacy MCP clients that only speak Server-Sent Events.
Streamable HTTPModern remote deployments (recommended for hosted servers).

3. Connect your client

Jump to the guide for your client:

4. Configure feature toggles (optional)

Wiki, milestones, and pipeline tools are opt-in to keep the tool list small for clients with strict tool limits. Enable what you need with environment variables or CLI flags — see Environment Variables.

If you can't use environment variables (some clients have issues with them), use CLI Arguments instead.