gitlab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Profile to determine which tool groups to load (e.g., all, project, mr, pipeline). If omitted, uses config.yaml settings. | |
| config-dir | No | Absolute path to the config directory containing instances.yaml and config.yaml. Required for non-default locations. | ./config |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_groupsC | 그룹 목록 조회 (검색·페이징) |
| get_groupC | 그룹 상세 조회 |
| list_group_projectsC | 그룹 하위 프로젝트 목록 |
| list_subgroupsC | 서브그룹 목록 조회 |
| list_group_membersB | 그룹 멤버 목록 조회 |
| list_projectsC | 프로젝트 목록 조회 (검색·페이징) |
| get_projectB | 프로젝트 상세 조회 |
| create_projectC | 프로젝트 생성 |
| list_namespacesC | 네임스페이스 목록 조회 |
| list_issuesB | 이슈 목록 조회 (상태·레이블·담당자 필터) |
| get_issueC | 이슈 상세 조회 |
| create_issueD | 이슈 생성 |
| update_issueB | 이슈 수정 (제목·설명·상태·레이블) |
| list_issue_notesC | 이슈 코멘트 목록 조회 |
| create_issue_noteD | 이슈 코멘트 작성 |
| list_merge_requestsA | MR 목록 조회 (상태·브랜치 필터) |
| get_merge_requestB | MR 상세 조회 (diff_refs 포함) |
| get_mr_diffB | MR diff 조회 (/diffs, 파일 단위 분할) |
| list_mr_notesC | MR 코멘트 목록 조회 |
| create_mr_noteC | MR 일반 코멘트 작성 |
| list_mr_discussionsC | MR Discussion 목록 조회 |
| create_mr_discussionC | MR 인라인 코멘트(Discussion) 작성 |
| reply_mr_discussionC | Discussion 답글 작성 |
| resolve_mr_discussionD | Discussion 해결(resolved) 처리 |
| approve_mrC | MR 승인 (EE 전용) |
| unapprove_mrB | MR 승인 취소 (EE 전용) |
| create_merge_requestD | MR 생성 |
| update_merge_requestC | MR 상태 변경 (merge/close) |
| get_mr_participantsC | MR 참여자 목록 조회 |
| compare_refsC | 두 ref 간 diff 비교 (브랜치/태그/커밋) |
| get_commitB | 단일 커밋 상세 조회 |
| get_commit_diffC | 단일 커밋 변경 내용 조회 (parent 기준) |
| list_commit_commentsC | 커밋 코멘트 목록 조회 |
| create_commit_commentC | 커밋 일반 코멘트 작성 |
| create_commit_discussionC | 커밋 라인 단위 인라인 코멘트 작성 |
| gitlab_auth_startA | 인스턴스 토큰 등록 플로우 시작 (콜백 서버 기동 + 브라우저 안내) |
| gitlab_auth_statusA | 저장된 인스턴스 토큰 목록 및 진행 중인 등록 세션 확인 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 37 tools
Each tool targets a distinct resource and action: groups, projects, issues, merge requests, commits, and authentication. There is no overlap; even within merge requests, tools differentiate between notes, discussions, diffs, and approvals.
All tools follow a consistent verb_noun pattern (e.g., list_groups, get_project, create_issue_note). The authentication tools use a separate prefix (gitlab_auth_) but remain internally consistent.
37 tools is above the typical range but justified by the breadth of GitLab's API coverage. The count is not excessive; each tool serves a clear purpose without redundancy.
The tool surface covers full CRUD for groups, projects, issues, and merge requests, including notes, discussions, diffs, and approvals. Commit operations and authentication are also included, leaving no obvious gaps for common workflows.