Overview
What is mcp-gitlab MCP Server?
A GitLab integration server built on the fastmcp framework, providing various GitLab RESTful API tools. It supports integration with Claude, Smithery, and other platforms. It is for developers who want to interact with GitLab via MCP.
How to use mcp-gitlab MCP Server?
Install dependencies with bun install, build with bun run build, and start with bun run start for stdio mode, or set environment variables MCP_TRANSPORT_TYPE=httpStream MCP_PORT=3000 and run bun run start for HTTP stream mode. It can also be run via npx @zephyr-mcp/gitlab for integration with Claude Desktop.
Key features of mcp-gitlab MCP Server
- Search users and their active projects by username
- Get current user's pending tasks
- Search projects and their details
- Add comments to merge requests
- Accept and merge merge requests
- Update merge request assignee, reviewers, title, description, labels
- Create new merge requests with assignee and reviewers
- Call any GitLab API with custom parameters
Use cases of mcp-gitlab MCP Server
- Automate merge request creation and review workflows
- Manage user tasks and project assignments via AI assistants
- Query GitLab projects and details without leaving your development environment
- Add comments and update merge requests programmatically
- Make custom GitLab API calls for advanced integrations
FAQ from mcp-gitlab MCP Server
What transport modes does the server support?
It supports two modes: Stdio Transport (default) for local development and HTTP Stream Transport for remote server deployment with multi-tenant support.
How do I authenticate with the GitLab API?
In stdio mode, set GITLAB_TOKEN environment variable. In HTTP stream mode, you can provide the token via Authorization: Bearer header, PRIVATE-TOKEN header, or x-gitlab-token header.
Can I run the server with Docker?
Yes, the repository includes a Dockerfile and a Docker Compose example for easy containerized deployment.
Does the server support multi-tenancy?
Yes, in HTTP stream mode, each request can use its own authentication token and GitLab instance URL via HTTP headers, allowing a single server instance to serve multiple users.
What are the runtime requirements?
The server requires Node.js (recommended version 22.14.0 based on Docker image) and Bun (for development), and the GitLab instance must be accessible