@structured-world/gitlab-mcp 5.7.0 → 5.8.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.
Files changed (92) hide show
  1. package/README.md +236 -1
  2. package/dist/config.d.ts +5 -0
  3. package/dist/config.js +6 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/entities/core/registry.js +53 -20
  6. package/dist/entities/core/registry.js.map +1 -1
  7. package/dist/entities/core/schema-readonly.d.ts +172 -442
  8. package/dist/entities/core/schema.d.ts +65 -173
  9. package/dist/entities/files/registry.js +42 -19
  10. package/dist/entities/files/registry.js.map +1 -1
  11. package/dist/entities/files/schema-readonly.d.ts +24 -124
  12. package/dist/entities/files/schema.d.ts +17 -82
  13. package/dist/entities/labels/registry.js +39 -6
  14. package/dist/entities/labels/registry.js.map +1 -1
  15. package/dist/entities/labels/schema-readonly.d.ts +6 -24
  16. package/dist/entities/labels/schema.d.ts +5 -37
  17. package/dist/entities/milestones/registry.js +44 -11
  18. package/dist/entities/milestones/registry.js.map +1 -1
  19. package/dist/entities/milestones/schema-readonly.d.ts +20 -100
  20. package/dist/entities/milestones/schema.d.ts +11 -48
  21. package/dist/entities/mrs/registry.js +56 -23
  22. package/dist/entities/mrs/registry.js.map +1 -1
  23. package/dist/entities/mrs/schema-readonly.d.ts +68 -243
  24. package/dist/entities/mrs/schema.d.ts +142 -885
  25. package/dist/entities/pipelines/registry.js +46 -13
  26. package/dist/entities/pipelines/registry.js.map +1 -1
  27. package/dist/entities/pipelines/schema-readonly.d.ts +115 -525
  28. package/dist/entities/pipelines/schema.d.ts +30 -104
  29. package/dist/entities/shared.d.ts +110 -787
  30. package/dist/entities/utils.d.ts +2 -2
  31. package/dist/entities/variables/registry.js +40 -7
  32. package/dist/entities/variables/registry.js.map +1 -1
  33. package/dist/entities/variables/schema-readonly.d.ts +3 -28
  34. package/dist/entities/variables/schema.d.ts +20 -80
  35. package/dist/entities/wiki/registry.js +39 -6
  36. package/dist/entities/wiki/registry.js.map +1 -1
  37. package/dist/entities/wiki/schema-readonly.d.ts +4 -35
  38. package/dist/entities/wiki/schema.d.ts +3 -31
  39. package/dist/entities/workitems/registry.js +40 -7
  40. package/dist/entities/workitems/registry.js.map +1 -1
  41. package/dist/entities/workitems/schema-readonly.d.ts +35 -32
  42. package/dist/entities/workitems/schema-readonly.js +1 -1
  43. package/dist/entities/workitems/schema-readonly.js.map +1 -1
  44. package/dist/entities/workitems/schema.d.ts +21 -45
  45. package/dist/middleware/index.d.ts +1 -0
  46. package/dist/middleware/index.js +8 -0
  47. package/dist/middleware/index.js.map +1 -0
  48. package/dist/middleware/oauth-auth.d.ts +4 -0
  49. package/dist/middleware/oauth-auth.js +135 -0
  50. package/dist/middleware/oauth-auth.js.map +1 -0
  51. package/dist/oauth/config.d.ts +19 -0
  52. package/dist/oauth/config.js +70 -0
  53. package/dist/oauth/config.js.map +1 -0
  54. package/dist/oauth/endpoints/authorize.d.ts +3 -0
  55. package/dist/oauth/endpoints/authorize.js +414 -0
  56. package/dist/oauth/endpoints/authorize.js.map +1 -0
  57. package/dist/oauth/endpoints/index.d.ts +3 -0
  58. package/dist/oauth/endpoints/index.js +13 -0
  59. package/dist/oauth/endpoints/index.js.map +1 -0
  60. package/dist/oauth/endpoints/metadata.d.ts +4 -0
  61. package/dist/oauth/endpoints/metadata.js +36 -0
  62. package/dist/oauth/endpoints/metadata.js.map +1 -0
  63. package/dist/oauth/endpoints/token.d.ts +2 -0
  64. package/dist/oauth/endpoints/token.js +159 -0
  65. package/dist/oauth/endpoints/token.js.map +1 -0
  66. package/dist/oauth/gitlab-device-flow.d.ts +8 -0
  67. package/dist/oauth/gitlab-device-flow.js +172 -0
  68. package/dist/oauth/gitlab-device-flow.js.map +1 -0
  69. package/dist/oauth/index.d.ts +8 -0
  70. package/dist/oauth/index.js +48 -0
  71. package/dist/oauth/index.js.map +1 -0
  72. package/dist/oauth/session-store.d.ts +37 -0
  73. package/dist/oauth/session-store.js +182 -0
  74. package/dist/oauth/session-store.js.map +1 -0
  75. package/dist/oauth/token-context.d.ts +8 -0
  76. package/dist/oauth/token-context.js +40 -0
  77. package/dist/oauth/token-context.js.map +1 -0
  78. package/dist/oauth/token-utils.d.ts +14 -0
  79. package/dist/oauth/token-utils.js +148 -0
  80. package/dist/oauth/token-utils.js.map +1 -0
  81. package/dist/oauth/types.d.ts +94 -0
  82. package/dist/oauth/types.js +3 -0
  83. package/dist/oauth/types.js.map +1 -0
  84. package/dist/server.js +147 -9
  85. package/dist/server.js.map +1 -1
  86. package/dist/structured-world-gitlab-mcp-5.8.0.tgz +0 -0
  87. package/dist/tsconfig.build.tsbuildinfo +1 -1
  88. package/dist/utils/fetch.d.ts +3 -7
  89. package/dist/utils/fetch.js +82 -54
  90. package/dist/utils/fetch.js.map +1 -1
  91. package/package.json +23 -23
  92. package/dist/structured-world-gitlab-mcp-5.7.0.tgz +0 -0
@@ -1,9 +1,5 @@
1
- import * as https from "https";
2
- import { HttpProxyAgent } from "http-proxy-agent";
3
- import { HttpsProxyAgent } from "https-proxy-agent";
4
- import { SocksProxyAgent } from "socks-proxy-agent";
5
1
  export declare const DEFAULT_HEADERS: Record<string, string>;
6
- export declare function createFetchOptions(): RequestInit & {
7
- agent?: HttpProxyAgent<string> | HttpsProxyAgent<string> | SocksProxyAgent | https.Agent;
8
- };
2
+ export declare function getAuthorizationHeader(): string | undefined;
3
+ export declare function createFetchOptions(): Record<string, unknown>;
9
4
  export declare function enhancedFetch(url: string, options?: RequestInit): Promise<Response>;
5
+ export declare function resetDispatcherCache(): void;
@@ -34,15 +34,15 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.DEFAULT_HEADERS = void 0;
37
+ exports.getAuthorizationHeader = getAuthorizationHeader;
37
38
  exports.createFetchOptions = createFetchOptions;
38
39
  exports.enhancedFetch = enhancedFetch;
39
- const https = __importStar(require("https"));
40
+ exports.resetDispatcherCache = resetDispatcherCache;
40
41
  const fs = __importStar(require("fs"));
41
- const http_proxy_agent_1 = require("http-proxy-agent");
42
- const https_proxy_agent_1 = require("https-proxy-agent");
43
- const socks_proxy_agent_1 = require("socks-proxy-agent");
44
42
  const logger_1 = require("../logger");
45
43
  const config_1 = require("../config");
44
+ const index_1 = require("../oauth/index");
45
+ const undici = require("undici");
46
46
  function loadCookieHeader() {
47
47
  if (!config_1.GITLAB_AUTH_COOKIE_PATH) {
48
48
  return null;
@@ -68,21 +68,6 @@ function loadCookieHeader() {
68
68
  return null;
69
69
  }
70
70
  }
71
- function getProxyAgent() {
72
- const proxyUrl = config_1.HTTPS_PROXY ?? config_1.HTTP_PROXY;
73
- if (!proxyUrl) {
74
- return undefined;
75
- }
76
- if (proxyUrl.startsWith("socks4://") || proxyUrl.startsWith("socks5://")) {
77
- return new socks_proxy_agent_1.SocksProxyAgent(proxyUrl);
78
- }
79
- else if (proxyUrl.startsWith("https://")) {
80
- return new https_proxy_agent_1.HttpsProxyAgent(proxyUrl);
81
- }
82
- else {
83
- return new http_proxy_agent_1.HttpProxyAgent(proxyUrl);
84
- }
85
- }
86
71
  function loadCACertificate() {
87
72
  if (!config_1.GITLAB_CA_CERT_PATH) {
88
73
  return undefined;
@@ -97,26 +82,14 @@ function loadCACertificate() {
97
82
  return undefined;
98
83
  }
99
84
  }
100
- exports.DEFAULT_HEADERS = {
101
- "User-Agent": "GitLab MCP Server",
102
- "Content-Type": "application/json",
103
- Accept: "application/json",
104
- };
105
- if (config_1.GITLAB_TOKEN) {
106
- exports.DEFAULT_HEADERS.Authorization = `Bearer ${config_1.GITLAB_TOKEN}`;
85
+ function isSocksProxy(url) {
86
+ return url.startsWith("socks4://") || url.startsWith("socks5://") || url.startsWith("socks://");
107
87
  }
108
- function createFetchOptions() {
109
- const options = {};
110
- const proxyAgent = getProxyAgent();
111
- if (proxyAgent) {
112
- options.agent = proxyAgent;
113
- logger_1.logger.info(`Using proxy: ${config_1.HTTPS_PROXY ?? config_1.HTTP_PROXY}`);
114
- }
88
+ function createDispatcher() {
89
+ const proxyUrl = config_1.HTTPS_PROXY ?? config_1.HTTP_PROXY;
90
+ const tlsOptions = {};
115
91
  if (config_1.SKIP_TLS_VERIFY || config_1.NODE_TLS_REJECT_UNAUTHORIZED === "0") {
116
- const agent = new https.Agent({
117
- rejectUnauthorized: false,
118
- });
119
- options.agent = agent;
92
+ tlsOptions.rejectUnauthorized = false;
120
93
  if (config_1.SKIP_TLS_VERIFY) {
121
94
  logger_1.logger.warn("TLS certificate verification disabled via SKIP_TLS_VERIFY");
122
95
  }
@@ -126,27 +99,78 @@ function createFetchOptions() {
126
99
  }
127
100
  const ca = loadCACertificate();
128
101
  if (ca) {
129
- if (!options.agent) {
130
- options.agent = new https.Agent({ ca });
131
- }
132
- else if (options.agent instanceof https.Agent) {
133
- options.agent.options.ca = ca;
134
- }
102
+ tlsOptions.ca = ca;
135
103
  }
136
- return options;
104
+ const hasTlsConfig = Object.keys(tlsOptions).length > 0;
105
+ if (proxyUrl && isSocksProxy(proxyUrl)) {
106
+ logger_1.logger.info(`Using SOCKS proxy: ${proxyUrl}`);
107
+ logger_1.logger.warn("SOCKS proxy not supported with native fetch. Consider HTTP/HTTPS proxy.");
108
+ return undefined;
109
+ }
110
+ if (proxyUrl) {
111
+ logger_1.logger.info(`Using proxy: ${proxyUrl}`);
112
+ return new undici.ProxyAgent({
113
+ uri: proxyUrl,
114
+ requestTls: hasTlsConfig ? tlsOptions : undefined,
115
+ });
116
+ }
117
+ if (hasTlsConfig) {
118
+ return new undici.Agent({ connect: tlsOptions });
119
+ }
120
+ return undefined;
121
+ }
122
+ let cachedDispatcher;
123
+ let dispatcherInitialized = false;
124
+ function getDispatcher() {
125
+ if (!dispatcherInitialized) {
126
+ cachedDispatcher = createDispatcher();
127
+ dispatcherInitialized = true;
128
+ }
129
+ return cachedDispatcher;
130
+ }
131
+ exports.DEFAULT_HEADERS = {
132
+ "User-Agent": "GitLab MCP Server",
133
+ "Content-Type": "application/json",
134
+ Accept: "application/json",
135
+ };
136
+ function getGitLabToken() {
137
+ if ((0, index_1.isOAuthEnabled)()) {
138
+ const context = (0, index_1.getTokenContext)();
139
+ return context?.gitlabToken;
140
+ }
141
+ return config_1.GITLAB_TOKEN;
142
+ }
143
+ function getAuthorizationHeader() {
144
+ const token = getGitLabToken();
145
+ return token ? `Bearer ${token}` : undefined;
146
+ }
147
+ function createFetchOptions() {
148
+ const dispatcher = getDispatcher();
149
+ return dispatcher ? { dispatcher } : {};
137
150
  }
138
151
  async function enhancedFetch(url, options = {}) {
139
- const fetchOptions = createFetchOptions();
152
+ const dispatcher = getDispatcher();
140
153
  const cookieHeader = loadCookieHeader();
141
- const headers = {
142
- ...exports.DEFAULT_HEADERS,
143
- };
154
+ const isFormData = options.body instanceof FormData;
155
+ const baseHeaders = isFormData
156
+ ? { "User-Agent": exports.DEFAULT_HEADERS["User-Agent"], Accept: exports.DEFAULT_HEADERS.Accept }
157
+ : { ...exports.DEFAULT_HEADERS };
158
+ const headers = { ...baseHeaders };
159
+ const authHeader = getAuthorizationHeader();
160
+ if (authHeader) {
161
+ headers.Authorization = authHeader;
162
+ }
144
163
  if (options.headers) {
145
164
  if (options.headers instanceof Headers) {
146
165
  options.headers.forEach((value, key) => {
147
166
  headers[key] = value;
148
167
  });
149
168
  }
169
+ else if (Array.isArray(options.headers)) {
170
+ for (const [key, value] of options.headers) {
171
+ headers[key] = value;
172
+ }
173
+ }
150
174
  else {
151
175
  Object.assign(headers, options.headers);
152
176
  }
@@ -155,17 +179,17 @@ async function enhancedFetch(url, options = {}) {
155
179
  headers.Cookie = cookieHeader;
156
180
  }
157
181
  const controller = new AbortController();
158
- const timeoutId = setTimeout(() => {
159
- controller.abort();
160
- }, config_1.API_TIMEOUT_MS);
161
- const mergedOptions = {
162
- ...fetchOptions,
182
+ const timeoutId = setTimeout(() => controller.abort(), config_1.API_TIMEOUT_MS);
183
+ const fetchOptions = {
163
184
  ...options,
164
185
  headers,
165
186
  signal: controller.signal,
166
187
  };
188
+ if (dispatcher) {
189
+ fetchOptions.dispatcher = dispatcher;
190
+ }
167
191
  try {
168
- const response = await fetch(url, mergedOptions);
192
+ const response = await fetch(url, fetchOptions);
169
193
  clearTimeout(timeoutId);
170
194
  return response;
171
195
  }
@@ -177,4 +201,8 @@ async function enhancedFetch(url, options = {}) {
177
201
  throw error;
178
202
  }
179
203
  }
204
+ function resetDispatcherCache() {
205
+ cachedDispatcher = undefined;
206
+ dispatcherInitialized = false;
207
+ }
180
208
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@structured-world/gitlab-mcp",
3
- "version": "5.7.0",
3
+ "version": "5.8.0",
4
4
  "description": "MCP server for using the GitLab API",
5
5
  "license": "MIT",
6
6
  "author": "Dmitry Prudnikov <mail@polaz.com>",
@@ -27,7 +27,7 @@
27
27
  "url": "https://github.com/structured-world/gitlab-mcp/issues"
28
28
  },
29
29
  "engines": {
30
- "node": ">=18"
30
+ "node": ">=24"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "tsc -p tsconfig.build.json",
@@ -52,42 +52,42 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@graphql-typed-document-node/core": "^3.2.0",
55
- "@modelcontextprotocol/sdk": "^1.18.0",
55
+ "@modelcontextprotocol/sdk": "^1.23.0",
56
56
  "express": "^5.1.0",
57
- "form-data": "^4.0.4",
58
- "graphql": "^16.11.0",
57
+ "form-data": "^4.0.5",
58
+ "graphql": "^16.12.0",
59
59
  "graphql-tag": "^2.12.6",
60
60
  "http-proxy-agent": "^7.0.2",
61
61
  "https-proxy-agent": "^7.0.6",
62
- "pino": "^9.9.5",
63
- "pino-pretty": "^13.1.1",
62
+ "pino": "^10.1.0",
63
+ "pino-pretty": "^13.1.2",
64
64
  "socks-proxy-agent": "^8.0.5",
65
65
  "transliteration": "^2.3.5",
66
- "zod": "^3.23.8",
67
- "zod-to-json-schema": "^3.24.6"
66
+ "undici": "^7.16.0",
67
+ "zod": "^4.1.13"
68
68
  },
69
69
  "devDependencies": {
70
- "@eslint/js": "^9.35.0",
70
+ "@eslint/js": "^9.39.1",
71
71
  "@semantic-release/changelog": "^6.0.3",
72
72
  "@semantic-release/exec": "^7.1.0",
73
73
  "@semantic-release/git": "^10.0.1",
74
- "@semantic-release/github": "^11.0.6",
75
- "@semantic-release/npm": "^12.0.2",
76
- "@types/express": "^5.0.3",
74
+ "@semantic-release/github": "^12.0.2",
75
+ "@semantic-release/npm": "^13.1.2",
76
+ "@types/express": "^5.0.5",
77
77
  "@types/jest": "^30.0.0",
78
- "@types/node": "^22.18.3",
79
- "@typescript-eslint/eslint-plugin": "^8.43.0",
80
- "@typescript-eslint/parser": "^8.43.0",
78
+ "@types/node": "^24.10.1",
79
+ "@typescript-eslint/eslint-plugin": "^8.48.0",
80
+ "@typescript-eslint/parser": "^8.48.0",
81
81
  "auto-changelog": "^2.5.0",
82
- "cross-env": "^10.0.0",
83
- "dotenv": "^17.2.2",
84
- "eslint": "^9.35.0",
82
+ "cross-env": "^10.1.0",
83
+ "dotenv": "^17.2.3",
84
+ "eslint": "^9.39.1",
85
85
  "eslint-plugin-prettier": "^5.5.4",
86
- "jest": "^30.1.3",
86
+ "jest": "^30.2.0",
87
87
  "prettier": "^3.6.2",
88
- "semantic-release": "^24.2.8",
89
- "ts-jest": "^29.4.1",
88
+ "semantic-release": "^25.0.2",
89
+ "ts-jest": "^29.4.5",
90
90
  "ts-node": "^10.9.2",
91
- "typescript": "^5.9.2"
91
+ "typescript": "^5.9.3"
92
92
  }
93
93
  }