@ttpears/gitlab-mcp-server 1.13.1 → 1.14.0

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
@@ -3,187 +3,225 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@ttpears/gitlab-mcp-server)](https://www.npmjs.com/package/@ttpears/gitlab-mcp-server)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- A community MCP server for GitLab — works with **any GitLab tier** (Free, Premium, Ultimate), no GitLab Duo required.
6
+ <img src="assets/logo.svg" width="80" align="right" alt="gitlab-mcp"/>
7
+
8
+ A community MCP server for GitLab — works with **any GitLab tier** (Free, Premium, Ultimate), no GitLab Duo required. PAT-based auth. Streamable HTTP and stdio transports.
7
9
 
8
10
  ```bash
9
11
  npx @ttpears/gitlab-mcp-server
10
12
  ```
11
13
 
12
- ## How This Differs from GitLab's Official MCP Server
13
-
14
- GitLab ships an [official MCP server](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_server/) (Beta) that requires **Premium/Ultimate** and **GitLab Duo** with beta features enabled. This community server is an alternative for teams that don't have those requirements or need different capabilities.
15
-
16
- | | This server | GitLab official |
17
- |---|---|---|
18
- | **GitLab tier** | Free, Premium, Ultimate | Premium / Ultimate only |
19
- | **GitLab Duo required** | No | Yes |
20
- | **Auth** | Personal Access Token | OAuth 2.0 Dynamic Client Registration |
21
- | **Transport** | stdio + streamable HTTP | stdio (via `mcp-remote`) + HTTP |
22
- | **Multi-client** | Claude Code, LibreChat, any MCP client | Claude Desktop, Claude Code, Cursor, VS Code |
23
- | **Multi-user auth modes** | hybrid / shared / per-user | OAuth per-user |
24
- | **GraphQL schema discovery** | Yes — introspect & run custom queries | No |
25
- | **Repository browsing & file reading** | Yes | No |
26
- | **User / group search** | Yes | No |
27
- | **Update issues & MRs** | Yes | No (create only) |
28
- | **CI/CD pipeline management** | Yes | Yes |
29
- | **MR diffs & commits** | Yes | Yes |
30
- | **Work item notes** | Yes | Yes |
31
- | **Semantic code search** | No | Yes (requires additional setup) |
32
- | **Label search** | Yes | Yes |
33
- | **Milestone tracking** | Yes | No |
34
- | **Iteration/sprint tracking** | Yes | No |
35
- | **Time tracking & timelogs** | Yes | No |
36
- | **MR reviewer & approval status** | Yes | No |
37
- | **Project statistics dashboard** | Yes | No |
38
- | **Group member listing** | Yes | No |
39
-
40
- **Choose this server** if you're on GitLab Free/Community Edition, need GraphQL flexibility, want repo browsing, or run LibreChat multi-user deployments.
41
-
42
- **Choose the official server** if you have GitLab Premium/Ultimate with Duo, need semantic code search, or prefer OAuth over PATs.
43
-
44
14
  ---
45
15
 
46
- ## Quick Start
47
-
48
- ### 1. Create a GitLab Token
16
+ ## Choose your deployment
49
17
 
50
- Go to GitLab **User Settings** → **Access Tokens** → create a token with `read_api` (read-only) or `api` (full access) scope.
51
-
52
- ### 2. Choose Your Client
53
-
54
- - [Claude Code](#claude-code) — stdio transport, single-user
55
- - [Claude Desktop](#claude-desktop) — stdio transport, single-user
56
- - [LibreChat (Docker)](#librechat-docker) — streamable HTTP, multi-user with per-user auth
18
+ | You're running | Go to |
19
+ |---|---|
20
+ | Claude Code or another IDE/AI tool, just for you | [Solo IDE](#solo-ide) |
21
+ | LibreChat for a team with a service-account read token | [LibreChat — service-account reads](#librechat--service-account-reads) |
22
+ | LibreChat where every operation should use the calling user's token | [LibreChat — strict per-user](#librechat--strict-per-user) |
57
23
 
58
24
  ---
59
25
 
60
- ## Claude Code
26
+ ## Solo IDE
61
27
 
62
- Install globally first (recommended — avoids cold-start timeouts on launch):
28
+ ### Claude Code (recommended)
63
29
 
64
30
  ```bash
65
- npm install -g @ttpears/gitlab-mcp-server
31
+ claude mcp add gitlab \
32
+ --env GITLAB_URL=https://gitlab.com \
33
+ --env GITLAB_TOKEN=glpat-your-pat \
34
+ -- npx -y @ttpears/gitlab-mcp-server
66
35
  ```
67
36
 
68
- Then add to your Claude Code settings (`.claude/settings.json` or project `.mcp.json`):
37
+ `--scope` controls where the configuration lives:
38
+
39
+ - `--scope local` (default) — only this user, only this project
40
+ - `--scope user` — shared across all of your projects
41
+ - `--scope project` — written to `.mcp.json` in the project root, intended for team check-in
42
+
43
+ For team check-in, use a `${VAR}` placeholder so the PAT itself stays out of git:
69
44
 
70
45
  ```json
71
46
  {
72
47
  "mcpServers": {
73
48
  "gitlab": {
74
- "command": "gitlab-mcp-server",
49
+ "command": "npx",
50
+ "args": ["-y", "@ttpears/gitlab-mcp-server"],
75
51
  "env": {
76
52
  "GITLAB_URL": "https://gitlab.com",
77
- "GITLAB_SHARED_ACCESS_TOKEN": "glpat-your-token-here"
53
+ "GITLAB_TOKEN": "${GITLAB_TOKEN}"
78
54
  }
79
55
  }
80
56
  }
81
57
  }
82
58
  ```
83
59
 
84
- Prefer zero-install? Swap `"command": "gitlab-mcp-server"` for `"command": "npx", "args": ["-y", "@ttpears/gitlab-mcp-server"]` but note that the first launch may time out while npm fetches the package.
60
+ Each contributor exports `GITLAB_TOKEN` in their shell; Claude Code expands it on launch.
85
61
 
86
- Restart Claude Code to load the server.
62
+ ### Cold start
87
63
 
88
- ---
89
-
90
- ## Claude Desktop
91
-
92
- See the [official guide for local MCP servers](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop).
93
-
94
- Install globally:
64
+ If launching via `npx` adds noticeable latency, install once:
95
65
 
96
66
  ```bash
97
67
  npm install -g @ttpears/gitlab-mcp-server
98
68
  ```
99
69
 
100
- Edit `claude_desktop_config.json`:
70
+ …and replace `npx -y @ttpears/gitlab-mcp-server` with `gitlab-mcp-server` in your config.
71
+
72
+ ### Claude Desktop
101
73
 
102
- - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
103
- - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
104
- - **Linux**: `~/.config/Claude/claude_desktop_config.json`
74
+ Add to `claude_desktop_config.json`:
105
75
 
106
76
  ```json
107
77
  {
108
78
  "mcpServers": {
109
79
  "gitlab": {
110
- "command": "gitlab-mcp-server",
80
+ "command": "npx",
81
+ "args": ["-y", "@ttpears/gitlab-mcp-server"],
111
82
  "env": {
112
83
  "GITLAB_URL": "https://gitlab.com",
113
- "GITLAB_SHARED_ACCESS_TOKEN": "glpat-your-token-here"
84
+ "GITLAB_TOKEN": "glpat-your-pat"
114
85
  }
115
86
  }
116
87
  }
117
88
  }
118
89
  ```
119
90
 
120
- On Windows, `command` may need to be the full path to the installed shim (e.g. `C:\\Users\\<you>\\AppData\\Roaming\\npm\\gitlab-mcp-server.cmd`) since Claude Desktop doesn't always inherit the shell `PATH`.
121
-
122
- Restart Claude Desktop to load the server.
123
-
124
91
  ---
125
92
 
126
- ## LibreChat (Docker)
93
+ ## LibreChat — service-account reads
127
94
 
128
- Runs as a sidecar container using [streamable HTTP transport](https://www.librechat.ai/docs/features/mcp) for multi-user deployments with per-user credential isolation.
95
+ A read-only service token covers reads (so anyone in the workspace can ask
96
+ questions). Each user supplies their own PAT for writes through LibreChat's
97
+ `customUserVars`.
129
98
 
130
- ### 1. Add environment variables to your LibreChat `.env`:
131
-
132
- ```bash
133
- GITLAB_URL=https://gitlab.com
134
- GITLAB_AUTH_MODE=hybrid
135
- GITLAB_SHARED_ACCESS_TOKEN=glpat-your-shared-token
136
- GITLAB_MCP_PORT=8008
137
- MCP_TRANSPORT=http
138
- ```
139
-
140
- ### 2. Add the service to `docker-compose.override.yml`:
99
+ ### docker-compose
141
100
 
142
101
  ```yaml
143
102
  services:
144
103
  gitlab-mcp:
145
- build:
146
- context: .
147
- dockerfile: Dockerfile.mcp-gitlab
148
- env_file:
149
- - .env
150
- ports:
151
- - "8008:8008"
104
+ image: ghcr.io/ttpears/gitlab-mcp:1.14.0
105
+ environment:
106
+ GITLAB_URL: https://gitlab.com
107
+ GITLAB_READ_TOKEN: ${GITLAB_READ_TOKEN} # service account, read_api scope
152
108
  networks:
153
109
  - librechat
154
- restart: unless-stopped
155
110
  ```
156
111
 
157
- Copy the Dockerfile from this repo into your LibreChat directory as `Dockerfile.mcp-gitlab`. It clones and builds from this repository automatically — no source files needed.
158
-
159
- ### 3. Configure in `librechat.yml`:
112
+ ### librechat.yaml
160
113
 
161
114
  ```yaml
162
115
  mcpServers:
163
116
  gitlab:
164
117
  type: streamable-http
165
- url: "http://gitlab-mcp:8008/"
118
+ url: http://gitlab-mcp:8008/
119
+ startup: false # don't connect until the user supplies their PAT
166
120
  headers:
167
121
  Authorization: "Bearer {{GITLAB_PAT}}"
168
- X-GitLab-Url: "{{GITLAB_URL_OVERRIDE}}"
169
122
  customUserVars:
170
123
  GITLAB_PAT:
171
124
  title: "GitLab Personal Access Token"
172
- description: "PAT with api scope"
173
- GITLAB_URL_OVERRIDE:
174
- title: "GitLab URL (optional)"
175
- description: "e.g., https://gitlab.yourdomain.com"
125
+ description: "Your GitLab PAT with api scope. Used for issues, MRs, and comments you create or edit."
176
126
  ```
177
127
 
178
- ### 4. Restart LibreChat:
128
+ > Server-side env vars use `${VAR}`. Per-user vars use `{{VAR}}`. They are not interchangeable.
179
129
 
180
- ```bash
181
- docker compose down && docker compose -f docker-compose.yml -f docker-compose.override.yml up -d
130
+ ---
131
+
132
+ ## LibreChat — strict per-user
133
+
134
+ Every call must carry a user PAT. No service-account fallback.
135
+
136
+ ### Add MCP Server (UI path — recommended)
137
+
138
+ 1. Host gitlab-mcp somewhere LibreChat can reach. The simplest setup:
139
+
140
+ ```bash
141
+ docker run -d --restart unless-stopped \
142
+ -p 8008:8008 \
143
+ --name gitlab-mcp \
144
+ ghcr.io/ttpears/gitlab-mcp:1.14.0
145
+ ```
146
+
147
+ 2. In LibreChat → **MCP Servers** → **Add MCP Server**:
148
+ - **URL:** `https://your-host/`
149
+ - **Authentication:** API Key → check **User provides key** → header format **Bearer**
150
+ - **Save**
151
+
152
+ 3. Each user fills in their PAT through the MCP Tool Select Dialog when configuring an agent.
153
+
154
+ ### librechat.yaml equivalent
155
+
156
+ ```yaml
157
+ mcpServers:
158
+ gitlab:
159
+ type: streamable-http
160
+ url: http://gitlab-mcp:8008/
161
+ startup: false
162
+ headers:
163
+ Authorization: "Bearer {{GITLAB_PAT}}"
164
+ customUserVars:
165
+ GITLAB_PAT:
166
+ title: "GitLab Personal Access Token"
167
+ description: "Your GitLab PAT with api scope."
182
168
  ```
183
169
 
170
+ The container needs no env-configured token at all in this mode.
171
+
172
+ ---
173
+
174
+ ## Hosting for a remote LibreChat
175
+
176
+ The server speaks plain HTTP. For LibreChat-as-a-service or any cross-network
177
+ deployment, terminate TLS at a reverse proxy. Common patterns:
178
+
179
+ - **Caddy** — auto-TLS via Let's Encrypt:
180
+
181
+ ```caddyfile
182
+ mcp.example.com {
183
+ reverse_proxy gitlab-mcp:8008
184
+ }
185
+ ```
186
+
187
+ - **Traefik** — Docker labels on the `gitlab-mcp` service.
188
+ - **Cloudflare Tunnel** — no public IP needed; expose `gitlab-mcp:8008` through the tunnel.
189
+
190
+ The `Authorization` and `Mcp-Session-Id` headers must pass through unchanged. Most defaults handle this fine.
191
+
192
+ ---
193
+
194
+ ## How this differs from GitLab's official MCP server
195
+
196
+ GitLab ships an [official MCP server](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_server/) (Beta) that requires **Premium/Ultimate** and **GitLab Duo**.
197
+
198
+ | | This server | GitLab official |
199
+ |---|---|---|
200
+ | **GitLab tier** | Free, Premium, Ultimate | Premium / Ultimate only |
201
+ | **GitLab Duo required** | No | Yes |
202
+ | **Auth** | Personal Access Token | OAuth 2.0 Dynamic Client Registration |
203
+ | **Transport** | stdio + streamable HTTP | stdio + HTTP |
204
+ | **Multi-user** | Per-call PAT or service-account fallback | OAuth per-user |
205
+ | **GraphQL schema discovery** | Yes — introspect & run custom queries | No |
206
+ | **Repository browsing & file reading** | Yes | No |
207
+ | **Update issues / MRs / notes** | Yes | No (create only) |
208
+ | **Delete issues / notes** | Yes | No |
209
+ | **CI/CD pipeline management** | Yes | Yes |
210
+ | **MR diffs & commits** | Yes | Yes |
211
+ | **Time tracking & timelogs** | Yes | No |
212
+ | **MR reviewer & approval status** | Yes | No |
213
+ | **Iteration / milestone tracking** | Yes | No |
214
+ | **Project statistics dashboard** | Yes | No |
215
+ | **Group member listing** | Yes | No |
216
+ | **Semantic code search** | No | Yes (requires additional setup) |
217
+
218
+ **Choose this server** for Free/CE, GraphQL flexibility, or LibreChat
219
+ multi-user. **Choose the official server** for Premium+Duo with semantic
220
+ code search, or if you prefer OAuth.
221
+
184
222
  ---
185
223
 
186
- ## Available Tools
224
+ ## Tools
187
225
 
188
226
  ### Search & Discovery
189
227
  | Tool | Description |
@@ -228,15 +266,18 @@ docker compose down && docker compose -f docker-compose.yml -f docker-compose.ov
228
266
  | `get_available_queries` | Discover available GraphQL operations |
229
267
  | `execute_custom_query` | Run custom GraphQL queries |
230
268
 
231
- ### Write Operations (requires user authentication)
269
+ ### Write Operations (require user authentication)
232
270
  | Tool | Description |
233
271
  |------|-------------|
234
272
  | `create_issue` | Create new issues |
235
273
  | `create_merge_request` | Create new merge requests |
236
274
  | `create_note` | Add a comment/note to an issue or merge request |
237
- | `manage_pipeline` | Retry or cancel a CI/CD pipeline |
238
275
  | `update_issue` | Update title, description, assignees, labels, due date |
239
276
  | `update_merge_request` | Update title, description, assignees, reviewers, labels |
277
+ | `update_note` | Edit the body of an existing comment |
278
+ | `delete_issue` | Delete an issue (issue author or maintainer required) |
279
+ | `delete_note` | Delete a comment (note author or maintainer required) |
280
+ | `manage_pipeline` | Retry or cancel a CI/CD pipeline |
240
281
  | `create_broadcast_message` | Create a broadcast message (instance admin) |
241
282
  | `update_broadcast_message` | Update a broadcast message (instance admin) |
242
283
  | `delete_broadcast_message` | Delete a broadcast message (instance admin) |
@@ -245,69 +286,64 @@ docker compose down && docker compose -f docker-compose.yml -f docker-compose.ov
245
286
 
246
287
  ## Configuration
247
288
 
248
- ### Authentication Modes
249
-
250
- | Mode | Description | Use Case |
251
- |------|-------------|----------|
252
- | **hybrid** (default) | Shared token for reads + per-user tokens for writes | Multi-user deployments |
253
- | **shared** | Single token for all operations | Single-user / trusted environments |
254
- | **per-user** | All operations require user authentication | High-security environments |
255
-
256
- ### Environment Variables
289
+ ### Environment variables
257
290
 
258
291
  | Variable | Description | Default |
259
- |----------|-------------|---------|
292
+ |---|---|---|
260
293
  | `GITLAB_URL` | GitLab instance URL | `https://gitlab.com` |
261
- | `GITLAB_AUTH_MODE` | Authentication mode (`hybrid`, `shared`, `per-user`) | `hybrid` |
262
- | `GITLAB_SHARED_ACCESS_TOKEN` | Shared token for read operations | — |
263
- | `GITLAB_MAX_PAGE_SIZE` | Maximum items per page (1-100) | `50` |
294
+ | `GITLAB_TOKEN` | Full-access fallback token (reads + writes) | |
295
+ | `GITLAB_READ_TOKEN` | Read-only fallback token (writes always rejected) | — |
296
+ | `GITLAB_MAX_PAGE_SIZE` | Maximum items per page (1100) | `50` |
264
297
  | `GITLAB_TIMEOUT` | Request timeout in milliseconds | `30000` |
265
- | `GITLAB_MCP_PORT` | HTTP server port (LibreChat mode) | `8008` |
266
- | `MCP_TRANSPORT` | Transport mode (`http` for LibreChat) | stdio |
298
+ | `GITLAB_MCP_PORT` | HTTP server port | `8008` |
299
+ | `MCP_TRANSPORT` | Transport mode (`http` for LibreChat) | `stdio` |
300
+
301
+ `GITLAB_TOKEN` and `GITLAB_READ_TOKEN` are **mutually exclusive**; setting both is a startup error.
302
+
303
+ ### Removed in 1.14.0
304
+
305
+ - `GITLAB_AUTH_MODE` — the three-way enum is gone. Pick your deployment shape by which env var you set; see [Choose your deployment](#choose-your-deployment).
306
+ - `GITLAB_SHARED_ACCESS_TOKEN` — rename to `GITLAB_TOKEN` (full access) or `GITLAB_READ_TOKEN` (read-only).
307
+
308
+ Old env vars trigger a deprecation warning at startup and are otherwise ignored.
267
309
 
268
310
  ---
269
311
 
270
312
  ## Troubleshooting
271
313
 
272
- **Connection issues with LibreChat:**
273
- - Verify `type: streamable-http` in `librechat.yml` (not `sse`)
274
- - URL should be `http://gitlab-mcp:8008/` (the Docker service name, not localhost)
275
- - Ensure both containers share the same Docker network
276
- - Check logs: `docker logs gitlab-mcp`
314
+ **"This operation requires authentication" / "Write operation requires a user token":**
315
+ - For LibreChat: check the user filled in their PAT in the MCP Tool Select Dialog (or in their `customUserVars`).
316
+ - For Claude Code: confirm `GITLAB_TOKEN` is set in the MCP server's `env` block.
317
+ - If you set `GITLAB_READ_TOKEN`, write operations against it are rejected by design — supply per-call user creds for writes.
277
318
 
278
- **Authentication errors:**
279
- - Verify token has `read_api` or `api` scope and hasn't expired
280
- - For LibreChat: check the user provided a valid PAT in the credentials UI
319
+ **Connection issues with LibreChat:**
320
+ - `type: streamable-http` (not `sse`).
321
+ - URL is the Docker service name (`http://gitlab-mcp:8008/`), not localhost, when LibreChat and gitlab-mcp share a Docker network.
322
+ - `docker logs gitlab-mcp` shows session init and request lines.
281
323
 
282
324
  **Schema introspection failed:**
283
- - Requires GitLab 12.0+ with GraphQL API enabled
284
- - Verify `GITLAB_URL` is reachable from the container
325
+ - GitLab 12.0+ with GraphQL API enabled.
326
+ - Verify `GITLAB_URL` is reachable from the container.
285
327
 
286
328
  **Debug logging:**
329
+
287
330
  ```bash
288
- NODE_ENV=development GITLAB_URL=https://your-gitlab.com npm start
331
+ NODE_ENV=development GITLAB_TOKEN=glpat-... npm start
289
332
  ```
290
333
 
291
334
  **Health check (HTTP mode):**
335
+
292
336
  ```bash
293
337
  curl http://localhost:8008/health
294
338
  ```
295
339
 
296
340
  ---
297
341
 
298
- ## Testing
299
-
300
- ```bash
301
- # Test with MCP Inspector
302
- npx @modelcontextprotocol/inspector npx @ttpears/gitlab-mcp-server
303
- ```
304
-
305
- ## Contributing
342
+ ## Changelog
306
343
 
307
- 1. Fork the repository
308
- 2. Create a feature branch
309
- 3. Submit a pull request
344
+ See [`CHANGELOG.md`](./CHANGELOG.md). Releases before 1.14.0 are in
345
+ [GitHub releases](https://github.com/ttpears/gitlab-mcp/releases).
310
346
 
311
347
  ## License
312
348
 
313
- MIT
349
+ [MIT](./LICENSE)
package/dist/config.d.ts CHANGED
@@ -1,22 +1,22 @@
1
1
  import { z } from 'zod';
2
2
  export declare const ConfigSchema: z.ZodObject<{
3
3
  gitlabUrl: z.ZodDefault<z.ZodString>;
4
- sharedAccessToken: z.ZodOptional<z.ZodString>;
4
+ token: z.ZodOptional<z.ZodString>;
5
+ readToken: z.ZodOptional<z.ZodString>;
5
6
  maxPageSize: z.ZodDefault<z.ZodNumber>;
6
7
  defaultTimeout: z.ZodDefault<z.ZodNumber>;
7
- authMode: z.ZodDefault<z.ZodEnum<["shared", "per-user", "hybrid"]>>;
8
8
  }, "strip", z.ZodTypeAny, {
9
9
  gitlabUrl: string;
10
10
  maxPageSize: number;
11
11
  defaultTimeout: number;
12
- authMode: "shared" | "per-user" | "hybrid";
13
- sharedAccessToken?: string | undefined;
12
+ token?: string | undefined;
13
+ readToken?: string | undefined;
14
14
  }, {
15
15
  gitlabUrl?: string | undefined;
16
- sharedAccessToken?: string | undefined;
16
+ token?: string | undefined;
17
+ readToken?: string | undefined;
17
18
  maxPageSize?: number | undefined;
18
19
  defaultTimeout?: number | undefined;
19
- authMode?: "shared" | "per-user" | "hybrid" | undefined;
20
20
  }>;
21
21
  export type Config = z.infer<typeof ConfigSchema>;
22
22
  export declare const UserConfigSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGlD,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wBAAgB,UAAU,IAAI,MAAM,CAUnC;AAED,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,GAAG,GAAG,UAAU,CAEnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAUvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wBAAgB,UAAU,IAAI,MAAM,CAkCnC;AAED,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,GAAG,GAAG,UAAU,CAEnE"}
package/dist/config.js CHANGED
@@ -1,25 +1,41 @@
1
1
  import { z } from 'zod';
2
2
  export const ConfigSchema = z.object({
3
3
  gitlabUrl: z.string().url().default('https://gitlab.com'),
4
- // Shared read-only token (optional - for read operations when no user token provided)
5
- sharedAccessToken: z.string().optional(),
4
+ // Full-access fallback token: usable for reads and writes when no per-call
5
+ // user credentials are provided. Mutually exclusive with readToken.
6
+ token: z.string().optional(),
7
+ // Read-only fallback token: writes against this token are always rejected.
8
+ // Mutually exclusive with token.
9
+ readToken: z.string().optional(),
6
10
  maxPageSize: z.number().min(1).max(100).default(50),
7
11
  defaultTimeout: z.number().min(1000).default(30000),
8
- // Authentication mode
9
- authMode: z.enum(['shared', 'per-user', 'hybrid']).default('hybrid'),
10
12
  });
11
- // User-specific configuration for per-user authentication
12
13
  export const UserConfigSchema = z.object({
13
14
  accessToken: z.string().min(1, 'User access token is required'),
14
- gitlabUrl: z.string().url().optional(), // Allow user to override GitLab URL if needed
15
+ gitlabUrl: z.string().url().optional(),
15
16
  });
16
17
  export function loadConfig() {
18
+ // Deprecation warnings for removed env vars (1.14.0 breaking change)
19
+ if (process.env.GITLAB_AUTH_MODE) {
20
+ console.error('[MCP] GITLAB_AUTH_MODE is removed in 1.14.0 and is being ignored. ' +
21
+ 'Use GITLAB_TOKEN (full-access) or GITLAB_READ_TOKEN (read-only) instead.');
22
+ }
23
+ if (process.env.GITLAB_SHARED_ACCESS_TOKEN) {
24
+ console.error('[MCP] GITLAB_SHARED_ACCESS_TOKEN is removed in 1.14.0 and is being ignored. ' +
25
+ 'Rename to GITLAB_TOKEN (if it grants writes) or GITLAB_READ_TOKEN (if read-only).');
26
+ }
27
+ const token = process.env.GITLAB_TOKEN || undefined;
28
+ const readToken = process.env.GITLAB_READ_TOKEN || undefined;
29
+ if (token && readToken) {
30
+ throw new Error('Configuration error: GITLAB_TOKEN and GITLAB_READ_TOKEN are mutually exclusive. ' +
31
+ 'Set exactly one (or neither, to require per-call user credentials for every request).');
32
+ }
17
33
  const config = {
18
34
  gitlabUrl: process.env.GITLAB_URL || 'https://gitlab.com',
19
- sharedAccessToken: process.env.GITLAB_SHARED_ACCESS_TOKEN || undefined,
35
+ token,
36
+ readToken,
20
37
  maxPageSize: parseInt(process.env.GITLAB_MAX_PAGE_SIZE || '50'),
21
38
  defaultTimeout: parseInt(process.env.GITLAB_TIMEOUT || '30000'),
22
- authMode: process.env.GITLAB_AUTH_MODE || 'hybrid',
23
39
  };
24
40
  return ConfigSchema.parse(config);
25
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACzD,sFAAsF;IACtF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACnD,sBAAsB;IACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CACrE,CAAC,CAAC;AAIH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,8CAA8C;CACvF,CAAC,CAAC;AAIH,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,oBAAoB;QACzD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,SAAS;QACtE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC;QAC/D,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC;QAC/D,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,gBAAqD,IAAI,QAAQ;KACzF,CAAC;IAEF,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,eAAoB;IACrD,OAAO,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACzD,2EAA2E;IAC3E,oEAAoE;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,2EAA2E;IAC3E,iCAAiC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACpD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;IAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH,MAAM,UAAU,UAAU;IACxB,qEAAqE;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CACX,oEAAoE;YACpE,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CACX,8EAA8E;YAC9E,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAE7D,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kFAAkF;YAClF,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,oBAAoB;QACzD,KAAK;QACL,SAAS;QACT,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC;QAC/D,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC;KAChE,CAAC;IAEF,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,eAAoB;IACrD,OAAO,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACjD,CAAC"}
@@ -45,7 +45,8 @@ export interface PaginatedResult<T> {
45
45
  pageInfo: PageInfo;
46
46
  }
47
47
  export declare class GitLabGraphQLClient {
48
- private baseClient;
48
+ private fullAccessClient?;
49
+ private readClient?;
49
50
  private config;
50
51
  private schema;
51
52
  private userClients;
@@ -130,6 +131,30 @@ export declare class GitLabGraphQLClient {
130
131
  getMergeRequestCommits(projectPath: string, iid: string, first?: number, after?: string, fetchAll?: boolean, userConfig?: UserConfig): Promise<any>;
131
132
  getNotes(projectPath: string, noteableType: 'issue' | 'merge_request', iid: string, first?: number, after?: string, fetchAll?: boolean, userConfig?: UserConfig): Promise<any>;
132
133
  createNote(projectPath: string, noteableType: 'issue' | 'merge_request', iid: string, body: string, internal?: boolean, userConfig?: UserConfig): Promise<any>;
134
+ /**
135
+ * Destroy an issue. Maps to GitLab GraphQL `destroyIssue` mutation.
136
+ * Requires a user token (or GITLAB_TOKEN if configured as the env fallback).
137
+ */
138
+ destroyIssue(projectPath: string, iid: string, userConfig?: UserConfig): Promise<{
139
+ errors: string[];
140
+ }>;
141
+ /**
142
+ * Destroy a note (issue or MR comment). Maps to GraphQL `destroyNote`.
143
+ */
144
+ destroyNote(noteId: string, userConfig?: UserConfig): Promise<{
145
+ errors: string[];
146
+ }>;
147
+ /**
148
+ * Update a note's body. Maps to GraphQL `updateNote`.
149
+ */
150
+ updateNote(noteId: string, body: string, userConfig?: UserConfig): Promise<{
151
+ note: {
152
+ id: string;
153
+ body: string;
154
+ updatedAt: string;
155
+ };
156
+ errors: string[];
157
+ }>;
133
158
  listMilestones(fullPath: string, isProject: boolean, state?: string, search?: string, includeAncestors?: boolean, first?: number, after?: string, fetchAll?: boolean, userConfig?: UserConfig): Promise<any>;
134
159
  listIterations(groupPath: string, state?: string, first?: number, after?: string, fetchAll?: boolean, userConfig?: UserConfig): Promise<any>;
135
160
  getTimeTracking(projectPath: string, resourceType: 'issue' | 'merge_request', iid: string, includeTimelogs?: boolean, first?: number, after?: string, userConfig?: UserConfig): Promise<any>;
@@ -139,7 +164,7 @@ export declare class GitLabGraphQLClient {
139
164
  searchLabels(fullPath: string, isProject: boolean, search?: string, first?: number, after?: string, fetchAll?: boolean, userConfig?: UserConfig): Promise<any>;
140
165
  /**
141
166
  * Resolve the GitLab base URL and access token for a REST call, honoring
142
- * per-request user credentials and falling back to the shared token.
167
+ * per-request user credentials and falling back to the configured env token.
143
168
  */
144
169
  private resolveRestAuth;
145
170
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab-client.d.ts","sourceRoot":"","sources":["../src/gitlab-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitlab-client.d.ts","sourceRoot":"","sources":["../src/gitlab-client.ts"],"names":[],"mappings":"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"}