- Home
- MCP servers
- GitLab
GitLab
- python
0
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"skmprb-gitlab-clone-mcp-server": {
"command": "gitlab-mcp",
"args": [
"stdio"
],
"env": {
"GITLAB_URL": "https://gitlab.com",
"GITLAB_TOKEN": "YOUR_TOKEN"
}
}
}
}You can run a focused MCP server that speaks GitLab’s API to Claude Desktop and other MCP clients. It lets you manage projects, issues, CI/CD, and repository operations through natural language commands, with zero-config initial setup and flexible transport options.
How to use
Launch the MCP server locally using the standard input/output (stdio) transport and connect your MCP client to it. Once running, you can ask for high-level GitLab actions like creating projects, listing repositories, viewing pipelines, or managing issues. You control GitLab directly from conversational prompts, and the server translates your requests into GitLab API calls.
How to install
Prerequisites you need on your machine are a supported runtime for the MCP tool you choose to use (for this server, a Python-based setup is available) and the MCP runner you will use to host the server. You will also need a GitLab Personal Access Token with API scopes.
Step 1: Install the MCP server runner using the recommended installer.
Step 2: Start the server using the stdio transport command.
Step 3: Provide authentication details so the server can access your GitLab instance.
Configuration and setup notes
Configure the server connection in your MCP client to point at the stdio-based server command. If you plan to use a remote HTTP transport, you would provide the HTTP URL for your MCP endpoint and include the access token in the request headers.
Security and tokens
Store your GitLab Personal Access Token securely as an environment variable or in a secure vault. Do not hard-code tokens in scripts or configuration files. The token should have at least api, read_repository, write_repository, and read_user scopes for full functionality.
Troubleshooting tips
If you encounter authentication errors, verify that your GITLAB_TOKEN is valid and has the required scopes. If the MCP server cannot reach GitLab, check the GITLAB_URL and network connectivity. Ensure you are using the stdio transport command or the correct HTTP endpoint if you switch transports.
Usage examples
Examples of what you can accomplish with natural language prompts include creating a new private project named “microservice-api,” listing all repositories in a group, or triggering a pipeline for a project.
Available tools
create_project
Create new GitLab projects with custom settings
delete_project
Permanently delete GitLab projects
update_project
Modify project name, description, or visibility
fork_project
Fork projects to a different namespace
archive_project
Archive projects for long-term storage
unarchive_project
Restore archived projects
list_projects
List accessible projects with filters
search_projects
Search projects by name or keywords
get_project_milestones
View project milestones and deadlines
get_project_labels
List project labels and colors
list_project_hooks
View configured webhooks
get_current_user
Get current user information and permissions
get_project_issues
List issues with state filtering
create_issue
Create new issues with descriptions
update_issue
Modify issue title, description, or state
close_issue
Close specific issues
get_merge_requests
List merge requests by state
create_merge_request
Create new merge requests
merge_merge_request
Merge approved merge requests
create_file
Create new files with content
update_file
Modify existing file content
delete_file
Remove files from repository
get_file_content
Read file contents
get_repository_files
Browse directory structures
get_project_branches
List repository branches
create_branch
Create new branches from any reference
delete_branch
Remove branches safely
get_commits
View commit history
create_commit
Create commits with multiple file changes
compare_branches
Compare differences between branches
revert_commit
Revert specific commits
cherry_pick_commit
Cherry-pick commits between branches
get_repository_tags
List repository tags
create_tag
Create release tags
delete_tag
Remove tags
clone_repository
Clone a single repository locally
clone_group_repositories
Batch clone all group repositories
get_pipelines
Monitor pipeline status
get_pipeline_jobs
View individual pipeline job details
trigger_pipeline
Start new pipeline runs