@ttpears/gitlab-mcp-server 2.0.1 → 2.1.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 +5 -0
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +9 -1
- package/dist/analytics.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -0
- package/dist/config.js.map +1 -1
- package/dist/gitlab-client.d.ts +25 -0
- package/dist/gitlab-client.d.ts.map +1 -1
- package/dist/gitlab-client.js +93 -45
- package/dist/gitlab-client.js.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/oauth.d.ts +67 -7
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +189 -68
- package/dist/oauth.js.map +1 -1
- package/package.json +2 -1
package/dist/oauth.js
CHANGED
|
@@ -13,13 +13,16 @@ import { InvalidGrantError, InvalidTokenError, ServerError, } from '@modelcontex
|
|
|
13
13
|
* never passing the client's MCP token through to GitLab (per the MCP security
|
|
14
14
|
* best-practices: no token passthrough).
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* Broker state (clients, pending flows, codes, tokens) lives behind a {@link KvStore}.
|
|
17
|
+
* With REDIS_URL set it is Redis-backed, so the connector survives redeploys and
|
|
18
|
+
* can run more than one replica; otherwise it falls back to in-process memory
|
|
19
|
+
* (fine for stdio/single-instance).
|
|
18
20
|
*/
|
|
19
21
|
const AUTH_FLOW_TTL_MS = 10 * 60 * 1000; // pending-auth and one-time codes live 10 min
|
|
20
22
|
const DEFAULT_TOKEN_TTL_MS = 2 * 60 * 60 * 1000; // fallback when GitLab omits expires_in
|
|
21
23
|
const REFRESH_TOKEN_TTL_MS = 30 * 24 * 60 * 60 * 1000; // cap idle refresh tokens at 30 days
|
|
22
|
-
const
|
|
24
|
+
const CLIENT_TTL_MS = 90 * 24 * 60 * 60 * 1000; // DCR client registrations
|
|
25
|
+
const SWEEP_INTERVAL_MS = 5 * 60 * 1000;
|
|
23
26
|
function base64url(buf) {
|
|
24
27
|
return buf.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
25
28
|
}
|
|
@@ -29,30 +32,103 @@ function randomToken() {
|
|
|
29
32
|
function pkceChallenge(verifier) {
|
|
30
33
|
return base64url(createHash('sha256').update(verifier).digest());
|
|
31
34
|
}
|
|
32
|
-
/** In-
|
|
33
|
-
class
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.
|
|
35
|
+
/** In-process store with lazy expiry on read plus a periodic sweep. */
|
|
36
|
+
export class InMemoryKvStore {
|
|
37
|
+
map = new Map();
|
|
38
|
+
prefix;
|
|
39
|
+
sweep;
|
|
40
|
+
constructor(prefix = 'gitlab-mcp') {
|
|
41
|
+
this.prefix = prefix;
|
|
42
|
+
this.sweep = setInterval(() => {
|
|
43
|
+
const now = Date.now();
|
|
44
|
+
for (const [k, v] of this.map)
|
|
45
|
+
if (v.expiresAt < now)
|
|
46
|
+
this.map.delete(k);
|
|
47
|
+
}, SWEEP_INTERVAL_MS);
|
|
48
|
+
this.sweep.unref?.();
|
|
49
|
+
}
|
|
50
|
+
async get(key) {
|
|
51
|
+
const entry = this.map.get(this.prefix + key);
|
|
52
|
+
if (!entry)
|
|
53
|
+
return undefined;
|
|
54
|
+
if (entry.expiresAt < Date.now()) {
|
|
55
|
+
this.map.delete(this.prefix + key);
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
return entry.value;
|
|
59
|
+
}
|
|
60
|
+
async set(key, value, ttlMs) {
|
|
61
|
+
this.map.set(this.prefix + key, { value, expiresAt: Date.now() + ttlMs });
|
|
62
|
+
}
|
|
63
|
+
async del(key) {
|
|
64
|
+
this.map.delete(this.prefix + key);
|
|
65
|
+
}
|
|
66
|
+
dispose() {
|
|
67
|
+
if (this.sweep)
|
|
68
|
+
clearInterval(this.sweep);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Redis-backed store. TTL is enforced by Redis (PX), so no sweep needed. */
|
|
72
|
+
export class RedisKvStore {
|
|
73
|
+
client;
|
|
74
|
+
prefix;
|
|
75
|
+
constructor(client, prefix) {
|
|
76
|
+
this.client = client;
|
|
77
|
+
this.prefix = prefix;
|
|
78
|
+
}
|
|
79
|
+
async get(key) {
|
|
80
|
+
const raw = await this.client.get(this.prefix + key);
|
|
81
|
+
return raw == null ? undefined : JSON.parse(raw);
|
|
82
|
+
}
|
|
83
|
+
async set(key, value, ttlMs) {
|
|
84
|
+
await this.client.set(this.prefix + key, JSON.stringify(value), 'PX', Math.max(1, Math.floor(ttlMs)));
|
|
85
|
+
}
|
|
86
|
+
async del(key) {
|
|
87
|
+
await this.client.del(this.prefix + key);
|
|
88
|
+
}
|
|
89
|
+
dispose() {
|
|
90
|
+
void this.client.quit();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Build the OAuth state store. When `redisUrl` is set, connects ioredis (loaded
|
|
95
|
+
* lazily so non-Redis deployments don't pay for it); otherwise in-memory.
|
|
96
|
+
* `keyPrefix` should include the issuer so co-tenant MCPs don't collide while
|
|
97
|
+
* replicas of the same issuer DO share state.
|
|
98
|
+
*/
|
|
99
|
+
export async function createOAuthStore(opts) {
|
|
100
|
+
const prefix = `${opts.keyPrefix}:`;
|
|
101
|
+
if (opts.redisUrl) {
|
|
102
|
+
const mod = await import('ioredis');
|
|
103
|
+
const Redis = mod.default || mod;
|
|
104
|
+
const client = new Redis(opts.redisUrl, { maxRetriesPerRequest: 2, lazyConnect: false });
|
|
105
|
+
return new RedisKvStore(client, prefix);
|
|
106
|
+
}
|
|
107
|
+
return new InMemoryKvStore(prefix);
|
|
108
|
+
}
|
|
109
|
+
/** Dynamic Client Registration store backed by the KvStore. */
|
|
110
|
+
class KvClientsStore {
|
|
111
|
+
store;
|
|
112
|
+
constructor(store) {
|
|
113
|
+
this.store = store;
|
|
114
|
+
}
|
|
115
|
+
async getClient(clientId) {
|
|
116
|
+
return this.store.get(`client:${clientId}`);
|
|
117
|
+
}
|
|
118
|
+
async registerClient(client) {
|
|
119
|
+
await this.store.set(`client:${client.client_id}`, client, CLIENT_TTL_MS);
|
|
40
120
|
return client;
|
|
41
121
|
}
|
|
42
122
|
}
|
|
123
|
+
// --- provider ----------------------------------------------------------------
|
|
43
124
|
export class GitLabOAuthProvider {
|
|
44
125
|
opts;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
accessTokens = new Map();
|
|
49
|
-
refreshTokens = new Map();
|
|
50
|
-
cleanupTimer;
|
|
51
|
-
constructor(opts) {
|
|
126
|
+
store;
|
|
127
|
+
clients;
|
|
128
|
+
constructor(opts, store = new InMemoryKvStore()) {
|
|
52
129
|
this.opts = opts;
|
|
53
|
-
this.
|
|
54
|
-
|
|
55
|
-
this.cleanupTimer.unref?.();
|
|
130
|
+
this.store = store;
|
|
131
|
+
this.clients = new KvClientsStore(store);
|
|
56
132
|
}
|
|
57
133
|
get clientsStore() {
|
|
58
134
|
return this.clients;
|
|
@@ -72,7 +148,7 @@ export class GitLabOAuthProvider {
|
|
|
72
148
|
// allow, so record those — not the client's requested scopes — to keep
|
|
73
149
|
// AuthInfo.scopes honest about the token's real capability.
|
|
74
150
|
const grantedScopes = this.opts.scopes.split(/[\s,]+/).filter(Boolean);
|
|
75
|
-
this.
|
|
151
|
+
await this.store.set(`pending:${brokerState}`, {
|
|
76
152
|
clientId: client.client_id,
|
|
77
153
|
clientRedirectUri: params.redirectUri,
|
|
78
154
|
clientState: params.state,
|
|
@@ -80,14 +156,13 @@ export class GitLabOAuthProvider {
|
|
|
80
156
|
scopes: grantedScopes,
|
|
81
157
|
resource: params.resource?.toString(),
|
|
82
158
|
gitlabCodeVerifier,
|
|
83
|
-
|
|
84
|
-
});
|
|
159
|
+
}, AUTH_FLOW_TTL_MS);
|
|
85
160
|
const authUrl = new URL(`${this.opts.gitlabBaseUrl.replace(/\/$/, '')}/oauth/authorize`);
|
|
86
161
|
authUrl.searchParams.set('client_id', this.opts.clientId);
|
|
87
162
|
authUrl.searchParams.set('redirect_uri', this.callbackUrl);
|
|
88
163
|
authUrl.searchParams.set('response_type', 'code');
|
|
89
164
|
authUrl.searchParams.set('state', brokerState);
|
|
90
|
-
authUrl.searchParams.set('scope',
|
|
165
|
+
authUrl.searchParams.set('scope', grantedScopes.join(' '));
|
|
91
166
|
authUrl.searchParams.set('code_challenge', pkceChallenge(gitlabCodeVerifier));
|
|
92
167
|
authUrl.searchParams.set('code_challenge_method', 'S256');
|
|
93
168
|
res.redirect(authUrl.toString());
|
|
@@ -113,13 +188,12 @@ export class GitLabOAuthProvider {
|
|
|
113
188
|
res.status(400).type('text/plain').send('Missing code or state from GitLab callback');
|
|
114
189
|
return;
|
|
115
190
|
}
|
|
116
|
-
const pending = this.
|
|
117
|
-
if (!pending
|
|
118
|
-
this.pending.delete(brokerState);
|
|
191
|
+
const pending = await this.store.get(`pending:${brokerState}`);
|
|
192
|
+
if (!pending) {
|
|
119
193
|
res.status(400).type('text/plain').send('Authorization request expired or unknown. Please restart sign-in.');
|
|
120
194
|
return;
|
|
121
195
|
}
|
|
122
|
-
this.
|
|
196
|
+
await this.store.del(`pending:${brokerState}`);
|
|
123
197
|
let tokens;
|
|
124
198
|
try {
|
|
125
199
|
tokens = await this.gitlabTokenRequest({
|
|
@@ -133,8 +207,30 @@ export class GitLabOAuthProvider {
|
|
|
133
207
|
res.status(502).type('text/plain').send(`Failed to exchange code with GitLab: ${err.message}`);
|
|
134
208
|
return;
|
|
135
209
|
}
|
|
210
|
+
// Access allow-list: reject users who aren't a member of any configured group
|
|
211
|
+
// before we mint anything. Return the OAuth error to the client's redirect URI
|
|
212
|
+
// (access_denied) so the MCP client surfaces a proper "not authorized" message.
|
|
213
|
+
if (this.opts.allowedGroups.length > 0) {
|
|
214
|
+
let allowed;
|
|
215
|
+
try {
|
|
216
|
+
allowed = await this.userIsInAllowedGroup(tokens.access_token);
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
res.status(502).type('text/plain').send(`Failed to verify group membership: ${err.message}`);
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (!allowed) {
|
|
223
|
+
const denied = new URL(pending.clientRedirectUri);
|
|
224
|
+
denied.searchParams.set('error', 'access_denied');
|
|
225
|
+
denied.searchParams.set('error_description', 'Your GitLab account is not a member of a group permitted to use this connector.');
|
|
226
|
+
if (pending.clientState)
|
|
227
|
+
denied.searchParams.set('state', pending.clientState);
|
|
228
|
+
res.redirect(denied.toString());
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
136
232
|
const mcpCode = randomToken();
|
|
137
|
-
this.
|
|
233
|
+
await this.store.set(`code:${mcpCode}`, {
|
|
138
234
|
clientId: pending.clientId,
|
|
139
235
|
clientCodeChallenge: pending.clientCodeChallenge,
|
|
140
236
|
redirectUri: pending.clientRedirectUri,
|
|
@@ -143,8 +239,7 @@ export class GitLabOAuthProvider {
|
|
|
143
239
|
gitlabAccessToken: tokens.access_token,
|
|
144
240
|
gitlabRefreshToken: tokens.refresh_token,
|
|
145
241
|
gitlabExpiresAt: Date.now() + (tokens.expires_in ? tokens.expires_in * 1000 : DEFAULT_TOKEN_TTL_MS),
|
|
146
|
-
|
|
147
|
-
});
|
|
242
|
+
}, AUTH_FLOW_TTL_MS);
|
|
148
243
|
const redirect = new URL(pending.clientRedirectUri);
|
|
149
244
|
redirect.searchParams.set('code', mcpCode);
|
|
150
245
|
if (pending.clientState)
|
|
@@ -153,27 +248,27 @@ export class GitLabOAuthProvider {
|
|
|
153
248
|
}
|
|
154
249
|
/** SDK calls this to validate the MCP client's PKCE verifier at token exchange. */
|
|
155
250
|
async challengeForAuthorizationCode(_client, authorizationCode) {
|
|
156
|
-
const record = this.
|
|
157
|
-
if (!record
|
|
251
|
+
const record = await this.store.get(`code:${authorizationCode}`);
|
|
252
|
+
if (!record) {
|
|
158
253
|
throw new InvalidGrantError('Authorization code is invalid or expired');
|
|
159
254
|
}
|
|
160
255
|
return record.clientCodeChallenge;
|
|
161
256
|
}
|
|
162
257
|
/** Step 3: client exchanges the one-time MCP code for an MCP bearer token. */
|
|
163
258
|
async exchangeAuthorizationCode(client, authorizationCode) {
|
|
164
|
-
const record = this.
|
|
165
|
-
if (!record
|
|
259
|
+
const record = await this.store.get(`code:${authorizationCode}`);
|
|
260
|
+
if (!record) {
|
|
166
261
|
throw new InvalidGrantError('Authorization code is invalid or expired');
|
|
167
262
|
}
|
|
168
263
|
// One-time use.
|
|
169
|
-
this.
|
|
264
|
+
await this.store.del(`code:${authorizationCode}`);
|
|
170
265
|
if (record.clientId !== client.client_id) {
|
|
171
266
|
throw new InvalidGrantError('Authorization code was issued to a different client');
|
|
172
267
|
}
|
|
173
268
|
return this.mintTokens(record);
|
|
174
269
|
}
|
|
175
270
|
async exchangeRefreshToken(client, refreshToken) {
|
|
176
|
-
const record = this.
|
|
271
|
+
const record = await this.store.get(`rt:${refreshToken}`);
|
|
177
272
|
if (!record) {
|
|
178
273
|
throw new InvalidGrantError('Refresh token is invalid');
|
|
179
274
|
}
|
|
@@ -192,8 +287,8 @@ export class GitLabOAuthProvider {
|
|
|
192
287
|
}
|
|
193
288
|
// Rotate: drop the old refresh token and revoke its paired access token so a
|
|
194
289
|
// stolen access token can't outlive a refresh.
|
|
195
|
-
this.
|
|
196
|
-
this.
|
|
290
|
+
await this.store.del(`rt:${refreshToken}`);
|
|
291
|
+
await this.store.del(`at:${record.accessToken}`);
|
|
197
292
|
return this.mintTokens({
|
|
198
293
|
clientId: record.clientId,
|
|
199
294
|
clientCodeChallenge: '',
|
|
@@ -203,16 +298,15 @@ export class GitLabOAuthProvider {
|
|
|
203
298
|
gitlabAccessToken: tokens.access_token,
|
|
204
299
|
gitlabRefreshToken: tokens.refresh_token ?? record.gitlabRefreshToken,
|
|
205
300
|
gitlabExpiresAt: Date.now() + (tokens.expires_in ? tokens.expires_in * 1000 : DEFAULT_TOKEN_TTL_MS),
|
|
206
|
-
expiresAt: 0,
|
|
207
301
|
});
|
|
208
302
|
}
|
|
209
303
|
async verifyAccessToken(token) {
|
|
210
|
-
const record = this.
|
|
304
|
+
const record = await this.store.get(`at:${token}`);
|
|
211
305
|
if (!record) {
|
|
212
306
|
throw new InvalidTokenError('Unknown or revoked access token');
|
|
213
307
|
}
|
|
214
308
|
if (record.expiresAt * 1000 < Date.now()) {
|
|
215
|
-
this.
|
|
309
|
+
await this.store.del(`at:${token}`);
|
|
216
310
|
throw new InvalidTokenError('Access token has expired');
|
|
217
311
|
}
|
|
218
312
|
return {
|
|
@@ -227,35 +321,33 @@ export class GitLabOAuthProvider {
|
|
|
227
321
|
};
|
|
228
322
|
}
|
|
229
323
|
async revokeToken(_client, request) {
|
|
230
|
-
this.
|
|
231
|
-
this.
|
|
324
|
+
await this.store.del(`at:${request.token}`);
|
|
325
|
+
await this.store.del(`rt:${request.token}`);
|
|
232
326
|
}
|
|
233
327
|
dispose() {
|
|
234
|
-
|
|
235
|
-
clearInterval(this.cleanupTimer);
|
|
328
|
+
this.store.dispose();
|
|
236
329
|
}
|
|
237
330
|
// --- internals -----------------------------------------------------------
|
|
238
|
-
mintTokens(record) {
|
|
331
|
+
async mintTokens(record) {
|
|
239
332
|
const accessToken = randomToken();
|
|
240
333
|
const refreshToken = randomToken();
|
|
241
334
|
const ttlMs = Math.max(0, record.gitlabExpiresAt - Date.now()) || DEFAULT_TOKEN_TTL_MS;
|
|
242
335
|
const expiresAtSec = Math.floor((Date.now() + ttlMs) / 1000);
|
|
243
|
-
this.
|
|
336
|
+
await this.store.set(`at:${accessToken}`, {
|
|
244
337
|
clientId: record.clientId,
|
|
245
338
|
scopes: record.scopes,
|
|
246
339
|
resource: record.resource,
|
|
247
340
|
gitlabAccessToken: record.gitlabAccessToken,
|
|
248
341
|
expiresAt: expiresAtSec,
|
|
249
|
-
});
|
|
342
|
+
}, ttlMs);
|
|
250
343
|
if (record.gitlabRefreshToken) {
|
|
251
|
-
this.
|
|
344
|
+
await this.store.set(`rt:${refreshToken}`, {
|
|
252
345
|
clientId: record.clientId,
|
|
253
346
|
scopes: record.scopes,
|
|
254
347
|
resource: record.resource,
|
|
255
348
|
gitlabRefreshToken: record.gitlabRefreshToken,
|
|
256
349
|
accessToken,
|
|
257
|
-
|
|
258
|
-
});
|
|
350
|
+
}, REFRESH_TOKEN_TTL_MS);
|
|
259
351
|
}
|
|
260
352
|
return {
|
|
261
353
|
access_token: accessToken,
|
|
@@ -265,6 +357,49 @@ export class GitLabOAuthProvider {
|
|
|
265
357
|
...(record.gitlabRefreshToken ? { refresh_token: refreshToken } : {}),
|
|
266
358
|
};
|
|
267
359
|
}
|
|
360
|
+
/**
|
|
361
|
+
* Is the GitLab user (identified by their freshly-issued token) a member of any
|
|
362
|
+
* configured allowed group, or a subgroup thereof? Pages through the user's
|
|
363
|
+
* member groups and matches each allowed full-path as an exact or ancestor path
|
|
364
|
+
* (so allowing "team" admits members of "team/backend"). Case-insensitive.
|
|
365
|
+
*/
|
|
366
|
+
async userIsInAllowedGroup(gitlabAccessToken) {
|
|
367
|
+
const allowed = this.opts.allowedGroups.map((g) => g.toLowerCase().replace(/^\/+|\/+$/g, ''));
|
|
368
|
+
if (allowed.length === 0)
|
|
369
|
+
return true;
|
|
370
|
+
// Up to 10 pages × 100 = 1000 groups; min_access_level=10 (Guest) = any membership.
|
|
371
|
+
for (let page = 1; page <= 10; page++) {
|
|
372
|
+
const resp = await this.gitlabApiGet(`/groups?min_access_level=10&per_page=100&page=${page}`, gitlabAccessToken);
|
|
373
|
+
if (!resp.ok) {
|
|
374
|
+
throw new Error(`GitLab group membership lookup returned ${resp.status}`);
|
|
375
|
+
}
|
|
376
|
+
const groups = (await resp.json());
|
|
377
|
+
for (const g of groups) {
|
|
378
|
+
const fp = (g.full_path || '').toLowerCase();
|
|
379
|
+
if (!fp)
|
|
380
|
+
continue;
|
|
381
|
+
if (allowed.some((a) => fp === a || fp.startsWith(a + '/')))
|
|
382
|
+
return true;
|
|
383
|
+
}
|
|
384
|
+
if (groups.length < 100)
|
|
385
|
+
break; // last page reached
|
|
386
|
+
}
|
|
387
|
+
return false;
|
|
388
|
+
}
|
|
389
|
+
/** Authenticated GET against the GitLab REST API as the user, with timeout. */
|
|
390
|
+
async gitlabApiGet(path, gitlabAccessToken) {
|
|
391
|
+
const controller = new AbortController();
|
|
392
|
+
const timeoutId = setTimeout(() => controller.abort(), this.opts.timeoutMs);
|
|
393
|
+
try {
|
|
394
|
+
return await fetch(`${this.opts.gitlabBaseUrl.replace(/\/$/, '')}/api/v4${path}`, {
|
|
395
|
+
headers: { Authorization: `Bearer ${gitlabAccessToken}`, Accept: 'application/json' },
|
|
396
|
+
signal: controller.signal,
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
finally {
|
|
400
|
+
clearTimeout(timeoutId);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
268
403
|
async gitlabTokenRequest(params) {
|
|
269
404
|
const body = new URLSearchParams({
|
|
270
405
|
...params,
|
|
@@ -300,21 +435,6 @@ export class GitLabOAuthProvider {
|
|
|
300
435
|
clearTimeout(timeoutId);
|
|
301
436
|
}
|
|
302
437
|
}
|
|
303
|
-
purgeExpired() {
|
|
304
|
-
const now = Date.now();
|
|
305
|
-
for (const [k, v] of this.pending)
|
|
306
|
-
if (v.expiresAt < now)
|
|
307
|
-
this.pending.delete(k);
|
|
308
|
-
for (const [k, v] of this.codes)
|
|
309
|
-
if (v.expiresAt < now)
|
|
310
|
-
this.codes.delete(k);
|
|
311
|
-
for (const [k, v] of this.accessTokens)
|
|
312
|
-
if (v.expiresAt * 1000 < now)
|
|
313
|
-
this.accessTokens.delete(k);
|
|
314
|
-
for (const [k, v] of this.refreshTokens)
|
|
315
|
-
if (v.expiresAt < now)
|
|
316
|
-
this.refreshTokens.delete(k);
|
|
317
|
-
}
|
|
318
438
|
}
|
|
319
439
|
/**
|
|
320
440
|
* Validate and assemble GitLab OAuth options from config/env. Throws a clear
|
|
@@ -346,6 +466,7 @@ export function buildOAuthOptions(input) {
|
|
|
346
466
|
clientSecret: input.clientSecret || undefined,
|
|
347
467
|
scopes: input.scopes && input.scopes.trim() ? input.scopes.trim() : 'api',
|
|
348
468
|
callbackPath: input.callbackPath && input.callbackPath.startsWith('/') ? input.callbackPath : '/gitlab/callback',
|
|
469
|
+
allowedGroups: (input.allowedGroups || '').split(/[\s,]+/).map((s) => s.trim()).filter(Boolean),
|
|
349
470
|
timeoutMs: input.timeoutMs,
|
|
350
471
|
};
|
|
351
472
|
}
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttpears/gitlab-mcp-server",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "GitLab MCP Server with GraphQL discovery",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "./src/index.ts",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"express": "^5.1.0",
|
|
40
40
|
"graphql": "^16.8.1",
|
|
41
41
|
"graphql-request": "^6.1.0",
|
|
42
|
+
"ioredis": "^5.11.1",
|
|
42
43
|
"zod": "^3.22.4",
|
|
43
44
|
"zod-to-json-schema": "^3.24.6"
|
|
44
45
|
},
|