Skip to content

Setup Wizard

The setup wizard installs and configures GitLab MCP Server for stdio MCP clients. Use it for local developer setups where your AI client starts the server process directly, such as VS Code, Claude Desktop, Claude Code, Cursor, Windsurf, Copilot CLI, OpenCode, Crush, or Zed.

Run the wizard with automatic UI selection:

Terminal window
gitlab-mcp-server --setup

Auto mode tries the richest available interface first: Web UI, then TUI, then plain CLI.

Use --setup-mode when you want a specific interface:

Terminal window
gitlab-mcp-server --setup --setup-mode web

The Web wizard starts a temporary local server on 127.0.0.1, opens your browser, and waits until configuration is complete. It is the best choice for first-time setup because advanced options include inline help tooltips.

  1. Selects the install path for the gitlab-mcp-server binary.
  2. Collects your GitLab URL and Personal Access Token.
  3. Loads any existing wizard configuration so you can keep or change previous values.
  4. Lets you choose supported MCP clients to configure.
  5. Writes the shared stdio environment file and selected client configuration files.

The wizard keeps secrets out of client JSON files.

FilePurpose
~/.gitlab-mcp-server.envStores GITLAB_URL, GITLAB_TOKEN, TLS, catalog, safety, upload, rate-limit, auto-update, and logging options. On Unix, it is written with 0600 permissions.
Client configuration filesStore the MCP server entry for each selected client. Where supported, they reference the env file instead of embedding secrets.

VS Code gets an envFile reference to ~/.gitlab-mcp-server.env. JetBrains IDEs are display-only in the wizard: it prints the JSON snippet for you to paste into the IDE.

When ~/.gitlab-mcp-server.env already exists, the wizard loads it before showing the form or prompts. Existing values are preselected for GitLab URL, token, catalog mode, safety flags, auto-update, rate limits, log level, and other advanced options.

Leave the token field empty to keep the existing token. Enter a new token only when you want to rotate it.

The wizard can configure these stdio clients:

ClientBehavior
VS Code (GitHub Copilot)Writes an MCP server entry and references the env file. Selected by default.
Claude DesktopWrites the desktop MCP configuration file.
Claude Code (CLI)Writes the Claude Code MCP configuration file.
CursorWrites Cursor’s MCP configuration file.
Windsurf (Codeium)Writes Windsurf’s MCP configuration file.
JetBrains IDEsPrints JSON for manual copy.
Copilot CLIWrites the Copilot CLI MCP configuration file. Selected by default.
OpenCodeWrites OpenCode’s MCP configuration file.
Crush (Charm)Writes Crush’s MCP configuration file.
ZedWrites Zed’s MCP configuration file.

Advanced options map to stdio environment variables written to ~/.gitlab-mcp-server.env.

Wizard optionEnvironment variableDescription
Skip TLS verificationGITLAB_SKIP_TLS_VERIFYAllows self-signed or private CA GitLab certificates.
Tool surfaceTOOL_SURFACEChooses meta, individual, dynamic, dynamic-2, or dynamic-3.
Capability surfaceCAPABILITY_SURFACEChooses full resources/prompts or minimal startup context.
Meta parameter schemaMETA_PARAM_SCHEMAControls meta-tool input schema detail.
Enterprise/Premium catalogGITLAB_ENTERPRISEEnables Premium/Ultimate tools in stdio mode.
Read-only modeGITLAB_READ_ONLYRegisters only non-mutating tools.
Safe mode previewsGITLAB_SAFE_MODEReturns previews for mutating calls instead of executing them.
Embedded resourcesEMBEDDED_RESOURCESAdds canonical MCP resource links to get-style results.
Ignore PAT scopesGITLAB_IGNORE_SCOPESSkips token scope detection and registers all tools.
Excluded toolsEXCLUDE_TOOLSOmits comma-separated tool names from registration.
Upload max file sizeUPLOAD_MAX_FILE_SIZESets the maximum accepted upload/file size.
Auto-update modeAUTO_UPDATEApplies, checks, or disables pre-start updates.
Auto-update repositoryAUTO_UPDATE_REPOSelects the GitHub release repository used for update checks.
Auto-update timeoutAUTO_UPDATE_TIMEOUTLimits time spent on the pre-start update check.
Rate limit RPSRATE_LIMIT_RPSSets the stdio tool-call rate limit; 0 disables it.
Rate limit burstRATE_LIMIT_BURSTSets token-bucket burst size when rate limiting is enabled.
YOLO modeYOLO_MODESkips selected local safety confirmations. Use carefully.
Log levelLOG_LEVELSets debug, info, warn, or error logging.

HTTP-only server options, such as OAuth mode, session timeout, max HTTP clients, and HTTP auto-update interval, do not appear in the wizard because those belong to the long-running HTTP server process.

Run the wizard again at any time:

Terminal window
gitlab-mcp-server --setup

The wizard loads the existing env file first, so you can change only the values you need.