GitLab
About
Integrates with GitLab repositories to enable searching, file management, issue creation, merge requests, forking, and branch creation through Node.js with robust Zod schema validation.
Details
- Author
- chris-miaskowski
- Repository
- chris-miaskowski/custom-gitlab-mcp-server
- Downloads
- 346
- Categories
- Developer Tools, Other, Project Management, Design, File Management, AI, Search, Infrastructure, Frontend
- Tags
- #integration
Jump to
- Search GitLab repositories
- Fetch file or directory contents
- Create or update single files
- Push multiple files in a single commit
- Create new GitLab projects
- Create issues and merge requests
- Fork repositories and create branches
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
GitLabCommand (node, npx, python, etc.)nodeArguments-
Argument 1
/path/to/custom-gitlab-server/index.js
Environment-
GITLAB_API_URL
https://your-gitlab-instance/api/v4 -
GITLAB_PERSONAL_ACCESS_TOKEN
your-gitlab-token
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. Clone this repository
2. Install dependencies:
npm install
3. Configure in your Claude settings file or Claude Desktop config file:
{
"mcpServers": {
"github.com/modelcontextprotocol/servers/tree/main/src/gitlab": {
"command": "node",
"args": [
"/path/to/custom-gitlab-server/index.js"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token",
"GITLAB_API_URL": "https://your-gitlab-instance/api/v4"
}
}
}
}
search_repositories
Search for GitLab projects.
get_file_contents
Get contents of a file or directory.
create_or_update_file
Create or update a single file.
push_files
Push multiple files in a single commit.
create_repository
Create a new GitLab project.
create_issue
Create a new issue.
create_merge_request
Create a new merge request.
fork_repository
Fork a project.
create_branch
Create a new branch.
| Tool Name | Description |
|-----------|-------------|
| search_repositories | Search for GitLab projects |
| get_file_contents | Get contents of a file or directory |
| create_or_update_file | Create or update a single file |
| push_files | Push multiple files in a single commit |
| create_repository | Create a new GitLab project |
| create_issue | Create a new issue |
| create_merge_request | Create a new merge request |
| fork_repository | Fork a project |
| create_branch | Create a new branch |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"gitlab": {
"env": {
"GITLAB_API_URL": "https://your-gitlab-instance/api/v4",
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token"
},
"args": [
"/path/to/custom-gitlab-server/index.js"
],
"command": "node"
}
}
}
Linux
{
"env": {
"GITLAB_API_URL": "https://your-gitlab-instance/api/v4",
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token"
},
"args": [
"/path/to/custom-gitlab-server/index.js"
],
"command": "node"
}
Macos
{
"env": {
"GITLAB_API_URL": "https://your-gitlab-instance/api/v4",
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token"
},
"args": [
"/path/to/custom-gitlab-server/index.js"
],
"command": "node"
}
Windows
{
"env": {
"GITLAB_API_URL": "https://your-gitlab-instance/api/v4",
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token"
},
"args": [
"/path/to/custom-gitlab-server/index.js"
],
"command": "node"
}
Custom GitLab MCP Server
A custom implementation of the GitLab MCP (Model Context Protocol) server for integration with Claude and other MCP-compliant AI assistants.
Overview
This MCP server provides seamless integration with GitLab repositories, allowing AI assistants to:
- Search GitLab repositories
- Fetch file contents
- Create or update files
- Push multiple files in a single commit
- Create issues and merge requests
- Fork repositories
- Create branches
Fixed Implementation
This custom implementation fixes issues with schema validation that were present in the standard GitLab MCP server implementation, specifically for the search_repositories tool.
Installation
1. Clone this repository
2. Install dependencies:
npm install
3. Configure in your Claude settings file or Claude Desktop config file:
{
"mcpServers": {
"github.com/modelcontextprotocol/servers/tree/main/src/gitlab": {
"command": "node",
"args": [
"/path/to/custom-gitlab-server/index.js"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token",
"GITLAB_API_URL": "https://your-gitlab-instance/api/v4"
}
}
}
}
Prerequisites
- Node.js (v14 or higher)
- GitLab Personal Access Token with appropriate scopes:
- api for full API access
- read_api for read-only access
- read_repository and write_repository for repository operations
Available Tools
| Tool Name | Description |
|-----------|-------------|
| search_repositories | Search for GitLab projects |
| get_file_contents | Get contents of a file or directory |
| create_or_update_file | Create or update a single file |
| push_files | Push multiple files in a single commit |
| create_repository | Create a new GitLab project |
| create_issue | Create a new issue |
| create_merge_request | Create a new merge request |
| fork_repository | Fork a project |
| create_branch | Create a new branch |
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





