@zereight/mcp-gitlab 2.0.2 → 2.0.4

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.md CHANGED
@@ -1,4 +1,6 @@
1
- # Better GitLab MCP Server
1
+ # GitLab MCP Server
2
+
3
+ [![Star History Chart](https://api.star-history.com/svg?repos=zereight/gitlab-mcp&type=Date)](https://www.star-history.com/#zereight/gitlab-mcp&Date)
2
4
 
3
5
  ## @zereight/mcp-gitlab
4
6
 
@@ -10,7 +12,7 @@ GitLab MCP(Model Context Protocol) Server. **Includes bug fixes and improvements
10
12
 
11
13
  ## Usage
12
14
 
13
- ### Using with Claude App, Cline, Roo Code, Cursor
15
+ ### Using with Claude App, Cline, Roo Code, Cursor, Kilo Code
14
16
 
15
17
  When using with the Claude App, you need to set up your API key and URLs directly.
16
18
 
@@ -19,7 +21,7 @@ When using with the Claude App, you need to set up your API key and URLs directl
19
21
  ```json
20
22
  {
21
23
  "mcpServers": {
22
- "GitLab communication server": {
24
+ "gitlab": {
23
25
  "command": "npx",
24
26
  "args": ["-y", "@zereight/mcp-gitlab"],
25
27
  "env": {
@@ -72,7 +74,7 @@ When using with the Claude App, you need to set up your API key and URLs directl
72
74
  ```json
73
75
  {
74
76
  "mcpServers": {
75
- "GitLab communication server": {
77
+ "gitlab": {
76
78
  "command": "docker",
77
79
  "args": [
78
80
  "run",
@@ -110,7 +112,7 @@ When using with the Claude App, you need to set up your API key and URLs directl
110
112
  ```shell
111
113
  docker run -i --rm \
112
114
  -e GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token \
113
- -e GITLAB_API_URL= "https://gitlab.com/api/v4"\
115
+ -e GITLAB_API_URL="https://gitlab.com/api/v4" \
114
116
  -e GITLAB_READ_ONLY_MODE=true \
115
117
  -e USE_GITLAB_WIKI=true \
116
118
  -e USE_MILESTONE=true \
@@ -123,7 +125,7 @@ docker run -i --rm \
123
125
  ```json
124
126
  {
125
127
  "mcpServers": {
126
- "GitLab communication server": {
128
+ "gitlab": {
127
129
  "type": "sse",
128
130
  "url": "http://localhost:3333/sse"
129
131
  }
@@ -131,10 +133,8 @@ docker run -i --rm \
131
133
  }
132
134
  ```
133
135
 
134
-
135
136
  - streamable-http
136
137
 
137
-
138
138
  ```shell
139
139
  docker run -i --rm \
140
140
  -e GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token \
@@ -151,20 +151,14 @@ docker run -i --rm \
151
151
  ```json
152
152
  {
153
153
  "mcpServers": {
154
- "GitLab communication server": {
154
+ "gitlab": {
155
+ "type": "streamable-http",
155
156
  "url": "http://localhost:3333/mcp"
156
157
  }
157
158
  }
158
159
  }
159
160
  ```
160
161
 
161
-
162
- #### Docker Image Push
163
-
164
- ```shell
165
- $ sh scripts/image_push.sh docker_user_name
166
- ```
167
-
168
162
  ### Environment Variables
169
163
 
170
164
  - `GITLAB_PERSONAL_ACCESS_TOKEN`: Your GitLab personal access token.
@@ -174,6 +168,7 @@ $ sh scripts/image_push.sh docker_user_name
174
168
  - Single value `123`: MCP server can only access project 123 and uses it as default
175
169
  - Multiple values `123,456,789`: MCP server can access projects 123, 456, and 789 but requires explicit project ID in requests
176
170
  - `GITLAB_READ_ONLY_MODE`: When set to 'true', restricts the server to only expose read-only operations. Useful for enhanced security or when write access is not needed. Also useful for using with Cursor and it's 40 tool limit.
171
+ - `GITLAB_DENIED_TOOLS_REGEX`: When set as a regular expression, it excludes the matching tools.
177
172
  - `USE_GITLAB_WIKI`: When set to 'true', enables the wiki-related tools (list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page). By default, wiki features are disabled.
178
173
  - `USE_MILESTONE`: When set to 'true', enables the milestone-related tools (list_milestones, get_milestone, create_milestone, edit_milestone, delete_milestone, get_milestone_issue, get_milestone_merge_requests, promote_milestone, get_milestone_burndown_events). By default, milestone features are disabled.
179
174
  - `USE_PIPELINE`: When set to 'true', enables the pipeline-related tools (list_pipelines, get_pipeline, list_pipeline_jobs, get_pipeline_job, get_pipeline_job_output, create_pipeline, retry_pipeline, cancel_pipeline). By default, pipeline features are disabled.
@@ -181,11 +176,13 @@ $ sh scripts/image_push.sh docker_user_name
181
176
  - `SSE`: When set to 'true', enables the Server-Sent Events transport.
182
177
  - `STREAMABLE_HTTP`: When set to 'true', enables the Streamable HTTP transport. If both **SSE** and **STREAMABLE_HTTP** are set to 'true', the server will prioritize Streamable HTTP over SSE transport.
183
178
 
184
- [![Star History Chart](https://api.star-history.com/svg?repos=zereight/gitlab-mcp&type=Date)](https://www.star-history.com/#zereight/gitlab-mcp&Date)
185
-
186
179
  ## Tools 🛠️
187
180
 
188
- +<!-- TOOLS-START -->
181
+ <details>
182
+ <summary>Click to expand</summary>
183
+
184
+ <!-- TOOLS-START -->
185
+
189
186
  1. `merge_merge_request` - Merge a merge request in a GitLab project
190
187
  2. `create_or_update_file` - Create or update a single file in a GitLab project
191
188
  3. `search_repositories` - Search for GitLab projects
@@ -270,3 +267,5 @@ $ sh scripts/image_push.sh docker_user_name
270
267
  82. `upload_markdown` - Upload a file to a GitLab project for use in markdown content
271
268
  83. `download_attachment` - Download an uploaded file from a GitLab project by secret and filename
272
269
  <!-- TOOLS-END -->
270
+
271
+ </details>
@@ -1,5 +1,17 @@
1
1
  import { z } from "zod";
2
+ import { pino } from 'pino';
2
3
  const DEFAULT_NULL = process.env.DEFAULT_NULL === "true";
4
+ const logger = pino({
5
+ level: process.env.LOG_LEVEL || 'info',
6
+ transport: {
7
+ target: 'pino-pretty',
8
+ options: {
9
+ colorize: true,
10
+ levelFirst: true,
11
+ destination: 2,
12
+ },
13
+ },
14
+ });
3
15
  export const flexibleBoolean = z.preprocess(val => {
4
16
  if (typeof val === "boolean") {
5
17
  return val;