gitlab-mcp-server
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides tools for interacting with GitLab repositories, including searching, creating, and forking repositories; reading, creating, and updating files; managing branches; handling issues and merge requests; accessing project events and commit history.
GitLab MCP Server
A Model Context Protocol (MCP) server for GitLab integration, providing tools to interact with GitLab repositories, issues, merge requests, and more.
Features
- Support for both stdio and SSE transports
- Strict TypeScript typing with the MCP SDK
- Comprehensive GitLab API integration
- Repository operations (search, create, fork)
- File operations (read, create, update)
- Branch operations (create)
- Issue management (create, list, filter)
- Merge request handling (create, list, filter)
- Group projects listing
- Project events retrieval
- Commit history access
Installation
From npm (Recommended)
From Source
Configuration
Environment Variables
The server requires the following environment variables when running directly:
GITLAB_PERSONAL_ACCESS_TOKEN
(required): Your GitLab personal access tokenGITLAB_API_URL
(optional): The GitLab API URL (defaults to 'https://gitlab.com/api/v4')PORT
(optional): The port to use for SSE transport (defaults to 3000)USE_SSE
(optional): Set to 'true' to use SSE transport instead of stdio (defaults to 'false')
MCP Settings Configuration
You can add the GitLab MCP server to your MCP settings file (e.g., cline_mcp_settings.json
or claude_desktop_config.json
):
Usage
Running with stdio transport (default)
Running with SSE transport
Running with npx
Available Tools
The server provides the following tools:
Repository Operations
search_repositories
: Search for GitLab projectsCopycreate_repository
: Create a new GitLab projectCopyfork_repository
: Fork a GitLab projectCopylist_group_projects
: List all projects within a specific GitLab groupCopy
File Operations
get_file_contents
: Get the contents of a file from a GitLab projectCopycreate_or_update_file
: Create or update a single file in a GitLab projectCopypush_files
: Push multiple files to a GitLab project in a single commitCopy
Branch Operations
create_branch
: Create a new branch in a GitLab projectCopy
Issue Operations
create_issue
: Create a new issue in a GitLab projectCopylist_issues
: Get issues for a GitLab project with filteringCopy
Merge Request Operations
create_merge_request
: Create a new merge request in a GitLab projectCopylist_merge_requests
: Get merge requests for a GitLab project with filteringCopy
Project Activity
get_project_events
: Get recent events/activities for a GitLab projectCopylist_commits
: Get commit history for a GitLab projectCopy
Development
Building the Project
Running Tests
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
NPM Package
This package is available on npm: https://www.npmjs.com/package/@yoda.digital/gitlab-mcp-server
This server cannot be installed
GitLab MCP Server (with activity tracking and group projects listing features)
This server is based on the original GitLab MCP server with Group Projects Listing and Activity Tracking enhancements