GitLab MCP server
- Tier: Premium, Ultimate
- Add-on: GitLab Duo Core, Pro, or Enterprise
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
- Status: Beta
To provide feedback on this feature, leave a comment on issue 561564.
With the GitLab Model Context Protocol (MCP) server, you can securely connect AI tools and applications to your GitLab instance. AI assistants like Claude Desktop, Claude Code, Cursor, and other MCP-compatible tools can then access your GitLab data and perform actions on your behalf.
The GitLab MCP server provides a standardized way for AI tools to:
- Access GitLab project information.
- Retrieve issue and merge request data.
- Interact with GitLab APIs securely.
- Perform GitLab-specific operations through AI assistants.
The GitLab MCP server supports OAuth 2.0 Dynamic Client Registration, which enables AI tools to register themselves with your GitLab instance. When an AI tool connects to your GitLab MCP server for the first time, it:
- Registers itself as an OAuth application.
- Requests authorization to access your GitLab data.
- Receives an access token for secure API access.
For a click-through demo, see GitLab Duo Agent Platform - GitLab MCP server.
Prerequisites
- Have GitLab Duo Core and beta and experimental features turned on.
Connect a client to the GitLab MCP server
The GitLab MCP server supports two transport types:
- HTTP transport (recommended): Direct connection without additional dependencies.
- stdio transport with
mcp-remote: Connection through a proxy (requires Node.js).
Common AI tools support the JSON configuration format for the mcpServers key
and provide different methods to configure the GitLab MCP server settings.
HTTP transport (recommended)
To configure the GitLab MCP server by using HTTP transport, use this format:
- Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
{
"mcpServers": {
"GitLab": {
"type": "http",
"url": "https://<gitlab.example.com>/api/v4/mcp"
}
}
}stdio transport with mcp-remote
Prerequisites:
- Install Node.js version 20 or later.
To configure the GitLab MCP server by using stdio transport, use this format:
- For the
"command":parameter, ifnpxis installed locally instead of globally, provide the full path tonpx. - Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
{
"mcpServers": {
"GitLab": {
"command": "npx",
"args": [
"mcp-remote",
"https://<gitlab.example.com>/api/v4/mcp"
]
}
}
}Connect Cursor to the GitLab MCP server
Cursor uses HTTP transport for direct connection without additional dependencies. To configure the GitLab MCP server in Cursor:
In Cursor, go to Settings > Cursor Settings > Tools & MCP.
Under Installed MCP Servers, select New MCP Server.
Add this definition to the
mcpServerskey in the openedmcp.jsonfile:- Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
{ "mcpServers": { "GitLab": { "type": "http", "url": "https://<gitlab.example.com>/api/v4/mcp" } } }- Replace
Save the file, and wait for your browser to open the OAuth authorization page.
If this does not happen, close and restart Cursor.
In your browser, review and approve the authorization request.
You can now start a new chat and ask a question depending on the available tools.
You’re responsible for guarding against prompt injection when you use these tools. Exercise extreme caution or use MCP tools only on GitLab objects you trust.
Connect Claude Code to the GitLab MCP server
Claude Code uses HTTP transport for direct connection without additional dependencies. To configure the GitLab MCP server in Claude Code:
In your terminal, add the GitLab MCP server with the CLI:
- Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
claude mcp add --transport http GitLab https://<gitlab.example.com>/api/v4/mcp- Replace
Start Claude Code:
claudeAuthenticate with the GitLab MCP server:
- In the chat, type
/mcp. - From the list, select your GitLab server.
- In your browser, review and approve the authorization request.
- In the chat, type
Optional. To verify the connection, type
/mcpagain. Your GitLab server should appear as connected.
You can now start a new chat and ask a question depending on the available tools.
You’re responsible for guarding against prompt injection when you use these tools. Exercise extreme caution or use MCP tools only on GitLab objects you trust.
Connect Claude Desktop to the GitLab MCP server
Prerequisites:
- Install Node.js version 20 or later.
- Ensure Node.js is available globally in the
PATHenvironment variable (which -a node).
To configure the GitLab MCP server in Claude Desktop:
Open Claude Desktop.
Edit the configuration file. You can do either of the following:
- In Claude Desktop, go to Settings > Developer > Edit Config.
- On macOS, open the
~/Library/Application Support/Claude/claude_desktop_config.jsonfile.
Add this entry for the GitLab MCP server, editing as needed:
- For the
"command":parameter, ifnpxis installed locally instead of globally, provide the full path tonpx. - Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
GitLab.com.
{ "mcpServers": { "GitLab": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<gitlab.example.com>/api/v4/mcp" ] } } }- For the
Save the configuration and restart Claude Desktop.
On first connect, Claude Desktop opens a browser window for OAuth. Review and approve the request.
Go to Settings > Developer and verify the new GitLab MCP configuration.
Go to Settings > Connectors and inspect the connected GitLab MCP server.
You can now start a new chat and ask a question depending on the available tools.
You’re responsible for guarding against prompt injection when you use these tools. Exercise extreme caution or use MCP tools only on GitLab objects you trust.
Connect Gemini Code Assist and Gemini CLI to the GitLab MCP server
Gemini Code Assist and Gemini CLI use HTTP transport for direct connection without additional dependencies. To configure the GitLab MCP server in Gemini Code Assist or Gemini CLI:
Edit
~/.gemini/settings.jsonand add the GitLab MCP server.- Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
{ "mcpServers": { "GitLab": { "httpUrl": "https://<gitlab.example.com>/api/v4/mcp" } } }- Replace
In Gemini Code Assist or Gemini CLI, run the
/mcp auth GitLabcommand.The OAuth authorization page should appear. Otherwise, restart Gemini Code Assist or Gemini CLI.
In your browser, review and approve the authorization request.
You can now start a new chat and ask a question depending on the available tools.
You’re responsible for guarding against prompt injection when you use these tools. Exercise extreme caution or use MCP tools only on GitLab objects you trust.
Connect GitHub Copilot in VS Code to the GitLab MCP server
GitHub Copilot uses HTTP transport for direct connection without additional dependencies. To configure the GitLab MCP server in GitHub Copilot in VS Code:
In VS Code, open the Command Palette:
- On macOS, press Command+ShiftP.
- On Windows or Linux, press Control+ShiftP.
Type
MCP: Add Serverand press Enter.For the server type, select HTTP.
For the server URL, enter
https://<gitlab.example.com>/api/v4/mcp.- Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
- Replace
For the server ID, enter
GitLab.Save the configuration globally or in the
vscode/mcp.jsonworkspace.The OAuth authorization page should appear. Otherwise, open the Command Palette and search for MCP: List Servers to check the status or restart the server.
In your browser, review and approve the authorization request.
You can now start a new chat and ask a question depending on the available tools.
You’re responsible for guarding against prompt injection when you use these tools. Exercise extreme caution or use MCP tools only on GitLab objects you trust.
Connect OpenAI Codex to the GitLab MCP server
OpenAI Codex uses HTTP transport for direct connection without additional dependencies. To configure the GitLab MCP server in OpenAI Codex:
- In your terminal, add the GitLab MCP server with the CLI:
- Replace
<gitlab.example.com>with:- On GitLab Self-Managed, your GitLab instance URL.
- On GitLab.com,
gitlab.com.
- Replace
codex mcp add --url "https://<gitlab.example.com>/api/v4/mcp" GitLabEdit
~/.codex/config.tomland, in the[features]section, enable thermcp_clientfeature flag.[features] "rmcp_client" = true [mcp_servers.GitLab] url = "https://<gitlab.example.com>/api/v4/mcp"Run the login flow and authenticate with the GitLab instance.
codex mcp login GitLabIn your browser, review and approve the authorization request.
You can now start a new chat and ask a question depending on the available tools.
You’re responsible for guarding against prompt injection when you use these tools. Exercise extreme caution or use MCP tools only on GitLab objects you trust.