# GitLab MCP Server

An MCP server for GitLab with 261 granular tools covering projects, merge requests, issues, pipelines, wikis, releases and more, supporting self-hosted GitLab instances, multiple auth modes, and JMESPath filtering to shrink tool results.

GitLab MCP Server is a Model Context Protocol server built specifically for agent workflows against GitLab, exposing 261 granular tools alongside a discover_tools mechanism that starts an agent with a small toolset and activates more at runtime rather than grouping everything up front. It supports stdio, SSE and Streamable HTTP transports, so it can serve local clients as well as modern remote deployments and legacy clients side by side.

Merge request review is optimized as a two-step flow, first listing changed files and then fetching batched file diffs, and a built-in Agent Skill provides workflow guidance alongside the raw tools. Authentication is flexible, covering personal access tokens, a local OAuth2 browser flow, an MCP OAuth proxy, and per-request remote authorization, and results can be filtered with an optional JMESPath expression to shrink JSON responses without changing the underlying GitLab API calls.

It works with self-hosted GitLab instances through proxy settings and dynamic API URL routing, requires Node.js 18.17 or newer, and is released under the MIT license.

Website: https://zereight.github.io/gitlab-mcp/
