@godrix/mcp-gitlab-utils
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_TOKEN | Yes | GitLab Personal Access Token with api and read_repository scopes | |
| WORKTREE_DIR | No | Worktree directory path (default: /tmp/referencia_ao_mcp_worktree) | |
| GITLAB_BASE_URL | Yes | Base URL of the GitLab instance (e.g. https://gitlab.example.com) | |
| GITLAB_READ_ONLY | No | Set to 'true' to enable read-only mode (default: false) | |
| GITLAB_PROJECT_ID | No | Fallback project ID (group/repo or numeric ID) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gitlab_resolve_contextA | Discovers project_id, current branch, and merge_request_iid from repo_path. Use before other tools when working in a local clone. |
| gitlab_search_projectsA | Lists projects accessible by the token, with optional name or path filter. |
| gitlab_get_merge_requestA | Returns MR metadata: title, state, branches, reviewers, labels, head pipeline, approvals, and URL. |
| gitlab_get_mr_contextA | Returns MR changes/diff and optionally failed job traces and review discussions. |
| gitlab_get_mr_discussionsA | Lists review threads, inline comments, and general MR notes. |
| gitlab_get_mr_merge_statusA | Summarizes whether the MR can be merged: conflicts, draft, pipeline, approvals, blocking discussions, and actionable blockers. |
| gitlab_add_mr_inline_commentA | Creates a review thread on a specific diff line (file + new_line or old_line). Requires write permissions. |
| gitlab_manage_merge_requestsC | List, create, update, approve, merge, close, reopen, draft/ready, or comment on merge requests. |
| gitlab_list_pipelinesA | Lists recent project pipelines, filtering by ref (branch/tag), MR, or status. |
| gitlab_get_pipelineA | Returns pipeline state and job list with summary (name, stage, status, duration). |
| gitlab_get_job_traceA | Returns the trace (full or truncated log) for a job by job_id. |
| gitlab_control_pipelineC | Lists jobs, plays manual jobs, retries job/pipeline, or cancels pipeline. |
| gitlab_get_fileA | Returns file content at a ref (branch, tag, or commit SHA). Useful for .gitlab-ci.yml or configs without a local clone. |
| gitlab_compareA | Diff between two refs (branches, tags, or SHAs). Returns commits and file diffs. |
| gitlab_prepare_reviewA | Creates a worktree from local repo (repo_path) or shallow HTTPS clone with token. Runs npm ci or composer install by default. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_merge_request | Agent workflow to review an MR: context, diff, discussions, and quality checklist. |
| fix_failed_ci | Workflow to diagnose and fix failed jobs on the MR or branch pipeline. |
| create_mr_from_branch | Open a merge request with title and description from branch work. |
| triage_open_mrs | List and prioritize open merge requests for the project or branch. |
| merge_merge_request | Workflow to validate mergeability and merge (or schedule merge_when_pipeline_succeeds). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| gitlab_agent_guide | Tool reference, context resolution, and recommended workflows. |
TDQS
Scored across 15 tools
Each tool has a clearly distinct purpose. Even related MR tools (get_merge_request, get_mr_context, get_mr_discussions, get_mr_merge_status) are well-differentiated by their descriptions and scope.
All tools follow the consistent pattern 'gitlab_verb_noun' in snake_case, with verbs like get, list, add, control, manage, prepare, resolve, search. No mixing of conventions.
With 15 tools, the set is well-scoped for a GitLab utilities server covering MR, pipeline, file, and project operations. Neither too sparse nor too overwhelming.
The tool surface covers core MR and pipeline workflows, file retrieval, comparison, and local repository setup. Minor gaps like lack of explicit pipeline creation or branch listing are acceptable for the domain.