@zereight/mcp-gitlab 2.1.51 → 2.1.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +24 -7
- package/README.md +130 -101
- package/README.zh-CN.md +24 -7
- package/build/index.js +409 -19
- package/build/schemas.js +233 -0
- package/build/test/test-job-artifacts.js +13 -9
- package/build/test/test-list-group-merge-requests.js +165 -0
- package/build/test/test-pipeline-schedules.js +482 -0
- package/build/test/test-toolset-filtering.js +2 -2
- package/build/tools/registry.js +100 -1
- package/build/tools/tool-descriptions.js +12 -0
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# GitLab MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@zereight/mcp-gitlab)
|
|
4
|
+
[](vscode:mcp/install?%7B%22name%22%3A%22zereight.gitlab-mcp%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40zereight%2Fmcp-gitlab%40latest%22%5D%2C%22env%22%3A%7B%22GITLAB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agitlab-token%7D%22%2C%22GITLAB_API_URL%22%3A%22https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%22%2C%22GITLAB_PERMISSION_MODE%22%3A%22full%22%7D%7D)
|
|
5
|
+
|
|
3
6
|
[English](./README.md) | [한국어](./README.ko.md) | [简体中文](./README.zh-CN.md)
|
|
4
7
|
|
|
5
8
|
📖 **[문서 →](https://zereight.github.io/gitlab-mcp/)** 설정 가이드, 환경 변수, 전체 도구 레퍼런스는 호스팅된 문서 사이트에서 확인할 수 있습니다.
|
|
@@ -8,17 +11,31 @@
|
|
|
8
11
|
|
|
9
12
|
## @zereight/mcp-gitlab
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
**에이전트 워크플로우에 최적화된 GitLab MCP** — stdio, SSE, Streamable HTTP를 통해 프로젝트, 머지 리퀘스트, 이슈, 파이프라인, 위키, 릴리스, 마일스톤 등을 관리할 수 있습니다.
|
|
12
15
|
|
|
13
16
|
PAT, OAuth, 읽기 전용 모드, 동적 API URL, 원격 인증을 지원하며 VS Code, Claude, Cursor, Copilot 및 기타 MCP 클라이언트에서 사용할 수 있습니다.
|
|
14
17
|
|
|
15
18
|
### 왜 이 GitLab MCP를 사용하나요?
|
|
16
19
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
20
|
+
- **217개 도구 + `discover_tools`** — 작은 toolset으로 시작하고, 런타임에 카테고리 활성화
|
|
21
|
+
- **MR 2단계 리뷰** — `list_merge_request_changed_files` → 배치 `get_merge_request_file_diff`
|
|
22
|
+
- **Agent Skill 내장** — `skills/gitlab-mcp/` 워크플로우 가이드
|
|
23
|
+
- **유연한 인증** — Personal Access Token, 로컬 OAuth2 브라우저 플로우, MCP OAuth 프록시, 요청별 원격 인증
|
|
24
|
+
- **여러 전송 방식** — 로컬 클라이언트용 stdio, 레거시 클라이언트용 SSE, 최신 원격 배포용 Streamable HTTP
|
|
25
|
+
- **클라이언트 친화적 설정** — Claude Code, Codex, Antigravity, OpenCode, Copilot, Cline, Roo Code, Cursor, Kilo Code, Amp Code 예시 제공
|
|
26
|
+
- **셀프 호스팅 대응** — 커스텀 GitLab 인스턴스, 프록시 설정, 동적 API URL 라우팅 지원
|
|
27
|
+
|
|
28
|
+
### 비교 요약
|
|
29
|
+
|
|
30
|
+
| | @zereight/mcp-gitlab | GitLab MCP A (커뮤니티 CQRS형) |
|
|
31
|
+
|---|----------------------|--------------------------------|
|
|
32
|
+
| **적합한 경우** | AI 에이전트 워크플로우 | 엔터프라이즈 멀티 인스턴스 / 그룹형 도구 |
|
|
33
|
+
| **도구 모델** | ~217개 세분화 도구 + `discover_tools` | ~50–60개 `browse_*` / `manage_*` 그룹 도구 |
|
|
34
|
+
| **MR 리뷰** | 2단계 배치 diff | 서버마다 다름 |
|
|
35
|
+
| **Node.js** | >=18 | 보통 >=24 |
|
|
36
|
+
| **라이선스** | MIT | 서버마다 다름 |
|
|
37
|
+
|
|
38
|
+
[전체 비교 →](./docs/comparison/community-gitlab-mcp-a.md)
|
|
22
39
|
|
|
23
40
|
빠른 시작: 아래에서 Personal Access Token 또는 OAuth2 설정 중 하나를 선택하고 `@zereight/mcp-gitlab`을 설치한 뒤 MCP 클라이언트 설정에서 `zereight-mcp-gitlab`을 사용하세요.
|
|
24
41
|
|
|
@@ -81,7 +98,7 @@ npm install -g @zereight/mcp-gitlab
|
|
|
81
98
|
|
|
82
99
|
예시는 기존 `mcp-gitlab`보다 충돌 가능성이 낮은 `zereight-mcp-gitlab` 별칭을 사용합니다. MCP 클라이언트가 찾지 못하면 `which zereight-mcp-gitlab`의 절대 경로를 사용하세요.
|
|
83
100
|
|
|
84
|
-
전역 설치를 쓰지 않으려면 `npx -y @zereight/mcp-gitlab@2.1.
|
|
101
|
+
전역 설치를 쓰지 않으려면 `npx -y @zereight/mcp-gitlab@2.1.52`처럼 직전 안정 버전(문서가 권장하는 버전)으로 고정하세요. 항상 최신 버전을 원하면 `npx -y @zereight/mcp-gitlab@latest`를 사용하세요. 새 버전이 나오면 서버가 시작 시 stderr로 알려줍니다(`GITLAB_DISABLE_VERSION_CHECK=true`로 비활성화 가능).
|
|
85
102
|
|
|
86
103
|
#### CLI 인자 사용하기(환경 변수 문제가 있는 클라이언트용)
|
|
87
104
|
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# GitLab MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@zereight/mcp-gitlab)
|
|
4
|
+
[](vscode:mcp/install?%7B%22name%22%3A%22zereight.gitlab-mcp%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40zereight%2Fmcp-gitlab%40latest%22%5D%2C%22env%22%3A%7B%22GITLAB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agitlab-token%7D%22%2C%22GITLAB_API_URL%22%3A%22https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%22%2C%22GITLAB_PERMISSION_MODE%22%3A%22full%22%7D%7D)
|
|
3
5
|
[](https://mcptoplist.com/server/io.github.zereight%2Fgitlab-mcp) [](https://mcpindex.ai/server/io-github-zereight-gitlab-mcp)
|
|
4
6
|
|
|
5
7
|
[English](./README.md) | [한국어](./README.ko.md) | [简体中文](./README.zh-CN.md)
|
|
@@ -10,17 +12,31 @@
|
|
|
10
12
|
|
|
11
13
|
## @zereight/mcp-gitlab
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
**Agent-workflow-optimized GitLab MCP** — manage projects, merge requests, issues, pipelines, wiki, releases, tags, milestones, and more through stdio, SSE, and Streamable HTTP.
|
|
14
16
|
|
|
15
17
|
Supports PAT, OAuth, read-only mode, dynamic API URLs, and remote authorization for VS Code, Claude, Cursor, Copilot, and other MCP clients.
|
|
16
18
|
|
|
17
19
|
### Why use this GitLab MCP?
|
|
18
20
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
21
|
+
- **229 tools + `discover_tools`** — start with a small toolset; activate more at runtime without CQRS-style grouping
|
|
22
|
+
- **MR 2-step review** — `list_merge_request_changed_files` → batched `get_merge_request_file_diff`
|
|
23
|
+
- **Agent Skill built in** — workflow guidance in `skills/gitlab-mcp/`
|
|
24
|
+
- **Flexible auth** — Personal Access Token, local OAuth2 browser flow, MCP OAuth proxy, and per-request remote authorization
|
|
25
|
+
- **Multiple transports** — stdio for local clients, SSE for legacy clients, and Streamable HTTP for modern remote deployments
|
|
26
|
+
- **Client-friendly setup** — examples for Claude Code, Codex, Antigravity, OpenCode, Copilot, Cline, Roo Code, Cursor, Kilo Code, and Amp Code
|
|
27
|
+
- **Self-hosted ready** — works with custom GitLab instances, proxy settings, and dynamic API URL routing
|
|
28
|
+
|
|
29
|
+
### How we compare
|
|
30
|
+
|
|
31
|
+
| | @zereight/mcp-gitlab | GitLab MCP A (community CQRS-style) |
|
|
32
|
+
|---|----------------------|-------------------------------------|
|
|
33
|
+
| **Best for** | AI agent workflows | Enterprise multi-instance / grouped tools |
|
|
34
|
+
| **Tool model** | ~229 granular tools + `discover_tools` | ~50–60 grouped `browse_*` / `manage_*` tools |
|
|
35
|
+
| **MR review** | 2-step batched diff | Varies |
|
|
36
|
+
| **Node.js** | >=18 | Often >=24 |
|
|
37
|
+
| **License** | MIT | Varies |
|
|
38
|
+
|
|
39
|
+
[Full comparison →](./docs/comparison/community-gitlab-mcp-a.md)
|
|
24
40
|
|
|
25
41
|
Quick start: choose either Personal Access Token or OAuth2 setup below, install `@zereight/mcp-gitlab`, and use `zereight-mcp-gitlab` in your MCP client configuration.
|
|
26
42
|
|
|
@@ -83,7 +99,7 @@ npm install -g @zereight/mcp-gitlab
|
|
|
83
99
|
|
|
84
100
|
The examples use `zereight-mcp-gitlab`, a less collision-prone alias for the legacy `mcp-gitlab` binary. If your MCP client cannot find it, use the absolute path from `which zereight-mcp-gitlab`.
|
|
85
101
|
|
|
86
|
-
No global install? Pin `npx` to the previous stable release (the version these docs recommend), for example `npx -y @zereight/mcp-gitlab@2.1.
|
|
102
|
+
No global install? Pin `npx` to the previous stable release (the version these docs recommend), for example `npx -y @zereight/mcp-gitlab@2.1.52`. If you always want the newest release, use `npx -y @zereight/mcp-gitlab@latest` instead. The server prints a notice to stderr on startup when a newer version is available (disable with `GITLAB_DISABLE_VERSION_CHECK=true`).
|
|
87
103
|
|
|
88
104
|
#### Using CLI Arguments (for clients with env var issues)
|
|
89
105
|
|
|
@@ -674,100 +690,113 @@ Register the skill directory in your AI client to get optimal tool usage guidanc
|
|
|
674
690
|
121. `create_pipeline` - Create a new pipeline for a branch or tag
|
|
675
691
|
122. `retry_pipeline` - Retry a failed or canceled pipeline
|
|
676
692
|
123. `cancel_pipeline` - Cancel a running pipeline
|
|
677
|
-
124. `
|
|
678
|
-
125. `
|
|
679
|
-
126. `
|
|
680
|
-
127. `
|
|
681
|
-
128. `
|
|
682
|
-
129. `
|
|
683
|
-
130. `
|
|
684
|
-
131. `
|
|
685
|
-
132. `
|
|
686
|
-
133. `
|
|
687
|
-
134. `
|
|
688
|
-
135. `
|
|
689
|
-
136. `
|
|
690
|
-
137. `
|
|
691
|
-
138. `
|
|
692
|
-
139. `
|
|
693
|
-
140. `
|
|
694
|
-
141. `
|
|
695
|
-
142. `
|
|
696
|
-
143. `
|
|
697
|
-
144. `
|
|
698
|
-
145. `
|
|
699
|
-
146. `
|
|
700
|
-
147. `
|
|
701
|
-
148. `
|
|
702
|
-
149. `
|
|
703
|
-
150. `
|
|
704
|
-
151. `
|
|
705
|
-
152. `
|
|
706
|
-
153. `
|
|
707
|
-
154. `
|
|
708
|
-
155. `
|
|
709
|
-
156. `
|
|
710
|
-
157. `
|
|
711
|
-
158. `
|
|
712
|
-
159. `
|
|
713
|
-
160. `
|
|
714
|
-
161. `
|
|
715
|
-
162. `
|
|
716
|
-
163. `
|
|
717
|
-
164. `
|
|
718
|
-
165. `
|
|
719
|
-
166. `
|
|
720
|
-
167. `
|
|
721
|
-
168. `
|
|
722
|
-
169. `
|
|
723
|
-
170. `
|
|
724
|
-
171. `
|
|
725
|
-
172. `
|
|
726
|
-
173. `
|
|
727
|
-
174. `
|
|
728
|
-
175. `
|
|
729
|
-
176. `
|
|
730
|
-
177. `
|
|
731
|
-
178. `
|
|
732
|
-
179. `
|
|
733
|
-
180. `
|
|
734
|
-
181. `
|
|
735
|
-
182. `
|
|
736
|
-
183. `
|
|
737
|
-
184. `
|
|
738
|
-
185. `
|
|
739
|
-
186. `
|
|
740
|
-
187. `
|
|
741
|
-
188. `
|
|
742
|
-
189. `
|
|
743
|
-
190. `
|
|
744
|
-
191. `
|
|
745
|
-
192. `
|
|
746
|
-
193. `
|
|
747
|
-
194. `
|
|
748
|
-
195. `
|
|
749
|
-
196. `
|
|
750
|
-
197. `
|
|
751
|
-
198. `
|
|
752
|
-
199. `
|
|
753
|
-
200. `
|
|
754
|
-
201. `
|
|
755
|
-
202. `
|
|
756
|
-
203. `
|
|
757
|
-
204. `
|
|
758
|
-
205. `
|
|
759
|
-
206. `
|
|
760
|
-
207. `
|
|
761
|
-
208. `
|
|
762
|
-
209. `
|
|
763
|
-
210. `
|
|
764
|
-
211. `
|
|
765
|
-
212. `
|
|
766
|
-
213. `
|
|
767
|
-
214. `
|
|
768
|
-
215. `
|
|
769
|
-
216. `
|
|
770
|
-
217. `
|
|
693
|
+
124. `list_pipeline_schedules` - List pipeline schedules in a project, optionally filtered to active or inactive
|
|
694
|
+
125. `get_pipeline_schedule` - Get details of a specific pipeline schedule, including its variables and last pipeline
|
|
695
|
+
126. `list_pipeline_schedule_pipelines` - List the pipelines that a pipeline schedule has triggered
|
|
696
|
+
127. `create_pipeline_schedule` - Create a new pipeline schedule for a branch or tag
|
|
697
|
+
128. `update_pipeline_schedule` - Update an existing pipeline schedule
|
|
698
|
+
129. `delete_pipeline_schedule` - Delete a pipeline schedule
|
|
699
|
+
130. `play_pipeline_schedule` - Run a pipeline schedule immediately, without changing its next scheduled run
|
|
700
|
+
131. `take_ownership_pipeline_schedule` - Take ownership of a pipeline schedule
|
|
701
|
+
132. `get_pipeline_schedule_variable` - Get a single variable of a pipeline schedule
|
|
702
|
+
133. `create_pipeline_schedule_variable` - Create a variable for a pipeline schedule
|
|
703
|
+
134. `update_pipeline_schedule_variable` - Update a variable of a pipeline schedule
|
|
704
|
+
135. `delete_pipeline_schedule_variable` - Delete a variable from a pipeline schedule
|
|
705
|
+
136. `play_pipeline_job` - Run a manual pipeline job
|
|
706
|
+
137. `retry_pipeline_job` - Retry a failed or canceled pipeline job
|
|
707
|
+
138. `cancel_pipeline_job` - Cancel a running pipeline job
|
|
708
|
+
139. `list_job_artifacts` - List artifact files in a job's artifacts archive. Returns file names, paths, types, and sizes
|
|
709
|
+
140. `download_job_artifacts` - Download the entire artifact archive (zip) for a job to a local path. Returns the saved file path
|
|
710
|
+
141. `get_job_artifact_file` - Get the content of a single file from a job's artifacts by its path within the archive
|
|
711
|
+
142. `list_merge_requests` - List merge requests globally or in a specific GitLab project with filtering options (project_id is now optional)
|
|
712
|
+
143. `list_group_merge_requests` - List merge requests across all projects of a group and its subgroups with filtering options
|
|
713
|
+
144. `list_milestones` - List milestones in a GitLab project with filtering options
|
|
714
|
+
145. `get_milestone` - Get details of a specific milestone
|
|
715
|
+
146. `create_milestone` - Create a new milestone in a GitLab project
|
|
716
|
+
147. `edit_milestone` - Edit an existing milestone in a GitLab project
|
|
717
|
+
148. `delete_milestone` - Delete a milestone from a GitLab project
|
|
718
|
+
149. `get_milestone_issue` - Get issues associated with a specific milestone
|
|
719
|
+
150. `get_milestone_merge_requests` - Get merge requests associated with a specific milestone
|
|
720
|
+
151. `promote_milestone` - Promote a milestone to the next stage
|
|
721
|
+
152. `get_milestone_burndown_events` - Get burndown events for a specific milestone
|
|
722
|
+
153. `list_group_milestones` - List milestones in a GitLab group with filtering options
|
|
723
|
+
154. `get_group_milestone` - Get details of a specific group milestone
|
|
724
|
+
155. `create_group_milestone` - Create a new milestone in a GitLab group
|
|
725
|
+
156. `edit_group_milestone` - Edit an existing group milestone
|
|
726
|
+
157. `delete_group_milestone` - Delete a milestone from a GitLab group
|
|
727
|
+
158. `get_group_milestone_issue` - Get issues associated with a specific group milestone
|
|
728
|
+
159. `get_group_milestone_merge_requests` - Get merge requests associated with a specific group milestone
|
|
729
|
+
160. `get_group_milestone_burndown_events` - Get burndown events for a specific group milestone
|
|
730
|
+
161. `get_users` - Get GitLab user details by usernames
|
|
731
|
+
162. `get_user` - Get user details by ID
|
|
732
|
+
163. `whoami` - Get current authenticated user details
|
|
733
|
+
164. `list_commits` - List repository commits with filtering options
|
|
734
|
+
165. `get_commit` - Get details of a specific commit
|
|
735
|
+
166. `get_commit_diff` - Get changes/diffs of a specific commit
|
|
736
|
+
167. `get_file_blame` - Get git blame for a file at a given ref. Each entry maps a contiguous range of source lines to the commit that last changed them (id, author, authored_date, message). Use range_start/range_end to limit blame to specific lines.
|
|
737
|
+
168. `list_commit_statuses` - List statuses for a specific commit
|
|
738
|
+
169. `create_commit_status` - Create or update the status of a specific commit
|
|
739
|
+
170. `list_group_iterations` - List group iterations with filtering options
|
|
740
|
+
171. `upload_markdown` - Upload a file to a GitLab project for use in markdown content
|
|
741
|
+
172. `download_attachment` - Download an uploaded file from a GitLab project by secret and filename
|
|
742
|
+
173. `health_check` - Verify server status and authentication; when authenticated, reports GitLab instance version from `/api/v4/version` (`version`, `revision`, `enterprise`)
|
|
743
|
+
174. `list_events` - List all events for the currently authenticated user
|
|
744
|
+
175. `get_project_events` - List all visible events for a specified project
|
|
745
|
+
176. `list_releases` - List all releases for a project
|
|
746
|
+
177. `get_release` - Get a release by tag name
|
|
747
|
+
178. `create_release` - Create a new release in a GitLab project
|
|
748
|
+
179. `update_release` - Update an existing release in a GitLab project
|
|
749
|
+
180. `delete_release` - Delete a release from a GitLab project (does not delete the associated tag)
|
|
750
|
+
181. `create_release_evidence` - Create release evidence for an existing release (GitLab Premium/Ultimate only)
|
|
751
|
+
182. `download_release_asset` - Download a release asset file by direct asset path
|
|
752
|
+
183. `list_tags` - List repository tags with filtering and pagination support
|
|
753
|
+
184. `get_tag` - Get details of a specific repository tag
|
|
754
|
+
185. `create_tag` - Create a new tag in the repository
|
|
755
|
+
186. `delete_tag` - Delete a tag from the repository
|
|
756
|
+
187. `get_tag_signature` - Get the signature of a signed tag
|
|
757
|
+
188. `get_work_item` - Get a single work item with full details including status, hierarchy (parent/children), type, labels, assignees, and all widgets
|
|
758
|
+
189. `list_work_items` - List work items in a project with filters (type, state, search, assignees, labels). Returns items with status and hierarchy info
|
|
759
|
+
190. `create_work_item` - Create a new work item (issue, task, incident, test_case, epic, key_result, objective, requirement, ticket). Supports setting title, description, labels, assignees, weight, parent, health status, start/due dates, milestone, and confidentiality
|
|
760
|
+
191. `update_work_item` - Update a work item. Can modify title, description, labels, assignees, weight, state, status, parent hierarchy, children, health status, start/due dates, milestone, confidentiality, linked items, and custom fields
|
|
761
|
+
192. `convert_work_item_type` - Convert a work item to a different type (e.g. issue to task, task to incident)
|
|
762
|
+
193. `list_work_item_statuses` - List available statuses for a work item type in a project. Requires GitLab Premium/Ultimate with configurable statuses
|
|
763
|
+
194. `list_custom_field_definitions` - List available custom field definitions for a work item type in a project. Returns field names, types, and IDs needed for setting custom fields via update_work_item
|
|
764
|
+
195. `move_work_item` - Move a work item (issue, task, etc.) to a different project. Uses GitLab GraphQL issueMove mutation
|
|
765
|
+
196. `list_work_item_notes` - List notes and discussions on a work item. Returns threaded discussions with author, body, timestamps, and system/internal flags
|
|
766
|
+
197. `create_work_item_note` - Add a note/comment to a work item. Supports Markdown, internal notes, and threaded replies
|
|
767
|
+
198. `list_work_item_emoji_reactions` - List all emoji reactions on a work item
|
|
768
|
+
199. `list_work_item_note_emoji_reactions` - List all emoji reactions on a work item note (comment, thread, or thread reply)
|
|
769
|
+
200. `create_work_item_emoji_reaction` - Add an emoji reaction to a work item (e.g. thumbsup, rocket, eyes)
|
|
770
|
+
201. `delete_work_item_emoji_reaction` - Remove an emoji reaction from a work item
|
|
771
|
+
202. `create_work_item_note_emoji_reaction` - Add an emoji reaction to a work item note (comment, thread, or thread reply)
|
|
772
|
+
203. `delete_work_item_note_emoji_reaction` - Remove an emoji reaction from a work item note (comment, thread, or thread reply)
|
|
773
|
+
204. `get_timeline_events` - List timeline events for an incident. Returns chronological events with notes, timestamps, and tags
|
|
774
|
+
205. `create_timeline_event` - Create a timeline event on an incident. Supports tags: 'Start time', 'End time', 'Impact detected', 'Response initiated', 'Impact mitigated', 'Cause identified'
|
|
775
|
+
206. `list_webhooks` - List all configured webhooks for a GitLab project or group. Provide either project_id or group_id
|
|
776
|
+
207. `list_webhook_events` - List recent webhook events (past 7 days) for a project or group webhook. Use summary mode for overview, then get_webhook_event for full details
|
|
777
|
+
208. `get_webhook_event` - Get full details of a specific webhook event by ID, including request/response payloads
|
|
778
|
+
209. `search_code` - Search for code across all projects on the GitLab instance (requires advanced search or exact code search to be enabled)
|
|
779
|
+
210. `search_project_code` - Search for code within a specific GitLab project (requires advanced search or exact code search to be enabled)
|
|
780
|
+
211. `search_group_code` - Search for code within a specific GitLab group (requires advanced search or exact code search to be enabled)
|
|
781
|
+
212. `list_project_variables` - List CI/CD variables for a project with optional environment scope filter
|
|
782
|
+
213. `get_project_variable` - Get a single CI/CD variable from a project by key, with optional environment scope filter
|
|
783
|
+
214. `create_project_variable` - Create a new CI/CD variable in a project
|
|
784
|
+
215. `update_project_variable` - Update an existing CI/CD variable in a project, with optional filter to disambiguate by environment scope
|
|
785
|
+
216. `delete_project_variable` - Delete a CI/CD variable from a project, with optional filter to disambiguate by environment scope
|
|
786
|
+
217. `list_group_variables` - List CI/CD variables for a group with optional environment scope filter
|
|
787
|
+
218. `get_group_variable` - Get a single CI/CD variable from a group by key, with optional environment scope filter
|
|
788
|
+
219. `create_group_variable` - Create a new CI/CD variable in a group
|
|
789
|
+
220. `update_group_variable` - Update an existing CI/CD variable in a group, with optional filter to disambiguate by environment scope
|
|
790
|
+
221. `delete_group_variable` - Delete a CI/CD variable from a group, with optional filter to disambiguate by environment scope
|
|
791
|
+
222. `get_dependency_proxy_settings` - Get dependency proxy settings for a group (enabled status, blob count, total size, image prefix, TTL policy)
|
|
792
|
+
223. `update_dependency_proxy_settings` - Update dependency proxy settings for a group (enable/disable, credentials for authenticated Docker Hub pulls)
|
|
793
|
+
224. `list_dependency_proxy_blobs` - List cached dependency proxy blobs for a group with cursor-based pagination
|
|
794
|
+
225. `purge_dependency_proxy_cache` - Schedule purge of all cached dependency proxy blobs for a group
|
|
795
|
+
226. `list_project_vulnerabilities` - List vulnerabilities for a project with optional state, severity, and report type filters (GraphQL-backed, cursor pagination)
|
|
796
|
+
227. `get_vulnerability` - Get full details of a specific vulnerability
|
|
797
|
+
228. `dismiss_vulnerability` - Dismiss a vulnerability with a reason (acceptable_risk, false_positive, used_in_tests, mitigating_control, not_applicable) and optional comment
|
|
798
|
+
229. `confirm_vulnerability` - Confirm a vulnerability as a real finding requiring remediation
|
|
799
|
+
230. `discover_tools` - Discover and activate additional tool categories for this session. Available categories: merge_requests, issues, repositories, branches, projects, labels, ci, groups, pipelines, milestones, wiki, releases, tags, users, workitems, webhooks, search, variables, dependency_proxy, vulnerabilities. Already-active categories are listed in the response.
|
|
771
800
|
|
|
772
801
|
<!-- TOOLS-END -->
|
|
773
802
|
|
package/README.zh-CN.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# GitLab MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@zereight/mcp-gitlab)
|
|
4
|
+
[](vscode:mcp/install?%7B%22name%22%3A%22zereight.gitlab-mcp%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40zereight%2Fmcp-gitlab%40latest%22%5D%2C%22env%22%3A%7B%22GITLAB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agitlab-token%7D%22%2C%22GITLAB_API_URL%22%3A%22https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%22%2C%22GITLAB_PERMISSION_MODE%22%3A%22full%22%7D%7D)
|
|
5
|
+
|
|
3
6
|
[English](./README.md) | [한국어](./README.ko.md) | [简体中文](./README.zh-CN.md)
|
|
4
7
|
|
|
5
8
|
📖 **[文档 →](https://zereight.github.io/gitlab-mcp/)** 设置指南、环境变量和完整工具参考请查看托管文档站点。
|
|
@@ -8,17 +11,31 @@
|
|
|
8
11
|
|
|
9
12
|
## @zereight/mcp-gitlab
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
**面向 AI 代理工作流优化的 GitLab MCP** — 可通过 stdio、SSE 和 Streamable HTTP 管理项目、合并请求、议题、流水线、Wiki、发布、里程碑等。
|
|
12
15
|
|
|
13
16
|
支持 PAT、OAuth、只读模式、动态 API URL 和远程授权,可用于 VS Code、Claude、Cursor、Copilot 以及其他 MCP 客户端。
|
|
14
17
|
|
|
15
18
|
### 为什么使用这个 GitLab MCP?
|
|
16
19
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
20
|
+
- **217 个工具 + `discover_tools`** — 从小型 toolset 开始,运行时按需激活类别
|
|
21
|
+
- **MR 两步审查** — `list_merge_request_changed_files` → 批量 `get_merge_request_file_diff`
|
|
22
|
+
- **内置 Agent Skill** — `skills/gitlab-mcp/` 工作流指南
|
|
23
|
+
- **认证灵活** — Personal Access Token、本地 OAuth2 浏览器流程、MCP OAuth 代理、按请求远程授权
|
|
24
|
+
- **多种传输方式** — 本地客户端使用 stdio,旧客户端使用 SSE,现代远程部署使用 Streamable HTTP
|
|
25
|
+
- **客户端设置友好** — 提供 Claude Code、Codex、Antigravity、OpenCode、Copilot、Cline、Roo Code、Cursor、Kilo Code 和 Amp Code 示例
|
|
26
|
+
- **适合自托管** — 支持自定义 GitLab 实例、代理设置和动态 API URL 路由
|
|
27
|
+
|
|
28
|
+
### 对比摘要
|
|
29
|
+
|
|
30
|
+
| | @zereight/mcp-gitlab | GitLab MCP A(社区 CQRS 型) |
|
|
31
|
+
|---|----------------------|------------------------------|
|
|
32
|
+
| **更适合** | AI 代理工作流 | 企业多实例 / 分组工具 |
|
|
33
|
+
| **工具模型** | ~217 个细粒度工具 + `discover_tools` | ~50–60 个 `browse_*` / `manage_*` 分组工具 |
|
|
34
|
+
| **MR 审查** | 两步批量 diff | 因服务器而异 |
|
|
35
|
+
| **Node.js** | >=18 | 通常 >=24 |
|
|
36
|
+
| **许可证** | MIT | 因服务器而异 |
|
|
37
|
+
|
|
38
|
+
[完整对比 →](./docs/comparison/community-gitlab-mcp-a.md)
|
|
22
39
|
|
|
23
40
|
快速开始:在下面选择 Personal Access Token 或 OAuth2 设置,安装 `@zereight/mcp-gitlab`,并在 MCP 客户端配置中使用 `zereight-mcp-gitlab`。
|
|
24
41
|
|
|
@@ -81,7 +98,7 @@ npm install -g @zereight/mcp-gitlab
|
|
|
81
98
|
|
|
82
99
|
示例使用 `zereight-mcp-gitlab`,这是比旧的 `mcp-gitlab` 更不容易冲突的别名。如果 MCP 客户端找不到它,请使用 `which zereight-mcp-gitlab` 输出的绝对路径。
|
|
83
100
|
|
|
84
|
-
如果不想全局安装,请将 `npx` 固定到上一个稳定版本(即文档推荐的版本),例如 `npx -y @zereight/mcp-gitlab@2.1.
|
|
101
|
+
如果不想全局安装,请将 `npx` 固定到上一个稳定版本(即文档推荐的版本),例如 `npx -y @zereight/mcp-gitlab@2.1.52`。如果始终想使用最新版本,请改用 `npx -y @zereight/mcp-gitlab@latest`。有新版本发布时,服务器会在启动时通过 stderr 提示(可用 `GITLAB_DISABLE_VERSION_CHECK=true` 关闭)。
|
|
85
102
|
|
|
86
103
|
#### 使用 CLI 参数(适用于环境变量有问题的客户端)
|
|
87
104
|
|