# GitLab MCP server

> Enables AI clients to interact with GitLab repositories, issues, merge requests, and CI/CD pipelines via the GitLab REST API.

- Repository: https://github.com/ralscha/gitlab-mcp
- Page: https://hostedmcp.org/servers/ralscha/gitlab-mcp
- Transport: —
- Stars: 1
- License: MIT

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `GITLAB_BASE_URL` | no | no |  |
| `GITLAB_MODE` | no | no |  |
| `GITLAB_TOKEN` | no | no |  |

## Tools (33)

- `gitlab_get_metadata`
- `gitlab_get_current_user`
- `gitlab_list_projects`
- `gitlab_get_project`
- `gitlab_list_issues`
- `gitlab_get_issue`
- `gitlab_list_issue_notes`
- `gitlab_list_merge_requests`
- `gitlab_get_merge_request`
- `gitlab_list_merge_request_diffs`
- `gitlab_list_merge_request_notes`
- `gitlab_list_repository_tree`
- `gitlab_get_file`
- `gitlab_list_branches`
- `gitlab_list_commits`
- `gitlab_get_commit`
- `gitlab_list_pipelines`
- `gitlab_get_pipeline`
- `gitlab_list_pipeline_jobs`
- `gitlab_get_job`
- `gitlab_get_job_trace`
- `gitlab_search`
- `gitlab_create_issue`
- `gitlab_update_issue`
- `gitlab_add_issue_note`
- `gitlab_create_merge_request`
- `gitlab_update_merge_request`
- `gitlab_add_merge_request_note`
- `gitlab_accept_merge_request`
- `gitlab_create_branch`
- `gitlab_create_commit`
- `gitlab_create_pipeline`
- `gitlab_retry_pipeline`

## FAQ

### Does this server support self-managed GitLab instances?

Yes, it supports both GitLab.com and GitLab Self-Managed instances.

### Can I use this server to modify GitLab data?

Yes, but you must explicitly set the mode to 'readwrite' to enable write tools like creating issues or merge requests.

### What happens if a GitLab job log is very large?

If a job log exceeds 1 MiB, the server returns a size-limit error instead of a partial log.

### How does the server handle API rate limits?

The server automatically retries rate-limited 429 responses up to three times.
