Manage GitLab projects, files, and repositories using the GitLab API.
🚀 MCP Server for the GitLab API, enabling project management, file operations, and more.
create_or_update_file
project_id
(string): Project ID or URL-encoded pathfile_path
(string): Path where to create/update the filecontent
(string): Content of the filecommit_message
(string): Commit messagebranch
(string): Branch to create/update the file inprevious_path
(optional string): Path of the file to move/renamepush_files
project_id
(string): Project ID or URL-encoded pathbranch
(string): Branch to push tofiles
(array): Files to push, each with file_path
and content
commit_message
(string): Commit messagesearch_repositories
search
(string): Search querypage
(optional number): Page number for paginationper_page
(optional number): Results per page (default 20)create_repository
name
(string): Project namedescription
(optional string): Project descriptionvisibility
(optional string): 'private', 'internal', or 'public'initialize_with_readme
(optional boolean): Initialize with READMEget_file_contents
project_id
(string): Project ID or URL-encoded pathfile_path
(string): Path to file/directoryref
(optional string): Branch/tag/commit to get contents fromcreate_issue
project_id
(string): Project ID or URL-encoded pathtitle
(string): Issue titledescription
(optional string): Issue descriptionassignee_ids
(optional number[]): User IDs to assignlabels
(optional string[]): Labels to addmilestone_id
(optional number): Milestone IDcreate_merge_request
project_id
(string): Project ID or URL-encoded pathtitle
(string): MR titledescription
(optional string): MR descriptionsource_branch
(string): Branch containing changestarget_branch
(string): Branch to merge intodraft
(optional boolean): Create as draft MRallow_collaboration
(optional boolean): Allow commits from upstream membersget_merge_request_raw_diff
project_id
(string): Project ID or URL-encoded pathmerge_request_id
(string): ID of the merge requestfork_repository
project_id
(string): Project ID or URL-encoded pathnamespace
(optional string): Namespace to fork tocreate_branch
project_id
(string): Project ID or URL-encoded pathbranch
(string): Name for new branchref
(optional string): Source branch/commit for new branchget_job_logs
project_id
(string): Project ID or URL-encoded pathjob_id
(string): ID of the jobCreate a GitLab Personal Access Token with appropriate permissions:
api
for full API accessread_api
for read-only accessread_repository
and write_repository
for repository operationsAdd the following to your claude_desktop_config.json
:
{
"mcpServers": {
"gitlab": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GITLAB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITLAB_API_URL",
"mcp/gitlab"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
"GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances
}
}
}
}
{
"mcpServers": {
"gitlab": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-gitlab"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
"GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances
}
}
}
}
Docker build:
docker build -t vonwig/gitlab:mcp -f src/gitlab/Dockerfile .
GITLAB_PERSONAL_ACCESS_TOKEN
: Your GitLab personal access token (required)GITLAB_API_URL
: Base URL for GitLab API (optional, defaults to https://gitlab.com/api/v4
)Manage GitHub Projects V2 using the GitHub GraphQL API.
Integrates with GitHub, allowing LLMs to interact with repositories, issues, and pull requests via the GitHub API.
A lightweight server for analyzing GitHub issues and pull requests using a Personal Access Token.
An MCP server for interacting with and automating Git repositories using Large Language Models.
Integrates with the GitLab REST API to manage repositories, issues, and merge requests.
A CLI for interacting with GitKraken APIs. Includes an MCP server via `gk mcp` that not only wraps GitKraken APIs, but also Jira, GitHub, GitLab, and more.
AI-powered GitHub project management with complete requirements traceability.
A server for GitHub project management with advanced resource management, capacity planning, and workload optimization capabilities.
Interact with GitHub repositories, issues, pull requests, and more. Requires a GitHub personal access token.
Interact with GitHub APIs for automation and repository management.