Custom GitLab MCP Server
by chris-miaskowski
This is a custom implementation of the GitLab MCP (Model Context Protocol) server designed for integration with Claude and other MCP-compliant AI assistants. It fixes schema validation issues present in the standard GitLab MCP server implementation.
Last updated: N/A
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
- Clone this repository
- Install dependencies:
npm install
- 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 accessread_api
for read-only accessread_repository
andwrite_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