The GitLab MCP Server is a TypeScript-based Model Context Protocol server that provides comprehensive GitLab integration for AI assistants, enabling management of projects, issues, merge requests, pipelines, and repositories through natural language commands.
Projects: List and search projects with filtering by ownership, visibility, and search terms; get detailed project information with optional simplified views for token efficiency
Issues: List, view, and create issues with filtering by state, scope, labels, author, and assignee; search by title and description; manage descriptions and milestones
Merge Requests: Complete lifecycle management including listing, creating, and updating MRs; filter by state, author, assignee, scope, and branches; manage title, description, labels, assignees, reviewers, and state (close/reopen); set merge options (auto-merge when pipeline succeeds, squash commits, remove source branch); mark as draft or ready for review
Code Review: Create comments, threaded discussions, and inline code comments; resolve/unresolve discussions
CI/CD Pipelines: List, create, retry, cancel, and delete pipelines with filtering by status, branch, SHA, username, and dates; manage pipeline variables
Jobs & Logs: List jobs within pipelines with status filtering; retrieve full job logs and traces with advanced options (partial logs, tail mode, line limits, raw format)
Repository: List branches with search capability; get commit history with filtering by date range, author, and branch/tag
User Management: Retrieve current authenticated user information
Additional Features: Supports both GitLab.com and self-hosted instances; fully typed TypeScript implementation; pagination support; token-optimized responses
Provides comprehensive integration with GitLab's REST API, enabling interaction with projects, issues, merge requests, pipelines, jobs, branches, commits, and user information. Allows listing, creating, and managing GitLab resources with complete type safety.
GitLab MCP Server
A fully typed TypeScript Model Context Protocol (MCP) server for comprehensive GitLab integration.
Quick Start
1. Get a GitLab Token
Create a GitLab Personal Access Token with api, read_user, and read_repository scopes.
2. Add to Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
3. Start Using
Ask Claude things like:
"List my GitLab projects"
"Show me open issues in myproject"
"Create a merge request from feature-branch to main"
"Comment on MR #42 in myproject"
"Show me MRs where I'm assigned as reviewer"
"Mark MR #15 as ready for review"
"Get the logs for job #123"
Related MCP server: https://github.com/owayo/gitlab-mcp-server
Features
Projects: List, get details
Issues: List, get, create
Merge Requests: List, get, create, update with full review workflow support
Comments & Discussions: Create notes, threaded discussions, inline code comments
Review Management: Resolve/unresolve discussions, mark as draft/ready
Filtering: Filter by reviewer, assignee, author
Templates: Use GitLab MR templates for descriptions
Pipelines: List, get, create, retry, cancel, delete
Jobs: List jobs, get logs with advanced trace options
Repository: List branches, get commits
User: Get current user info
TypeScript: Fully typed with comprehensive type definitions
Documentation
Installation Guide - Detailed installation options and setup
Available Tools - Complete list of tools and parameters
Configuration - Optional configuration file setup
Usage Examples - Real-world usage examples and workflows
TypeScript Guide - TypeScript usage and type definitions
Development - Contributing and development setup
Self-Hosted GitLab
For self-hosted GitLab instances, add your base URL:
Support
Issues: GitHub Issues
GitLab API: GitLab API Documentation
MCP Protocol: Model Context Protocol
License
MIT License