@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.
- package/README.md +236 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.js +6 -1
- package/dist/config.js.map +1 -1
- package/dist/entities/core/registry.js +53 -20
- package/dist/entities/core/registry.js.map +1 -1
- package/dist/entities/core/schema-readonly.d.ts +172 -442
- package/dist/entities/core/schema.d.ts +65 -173
- package/dist/entities/files/registry.js +42 -19
- package/dist/entities/files/registry.js.map +1 -1
- package/dist/entities/files/schema-readonly.d.ts +24 -124
- package/dist/entities/files/schema.d.ts +17 -82
- package/dist/entities/labels/registry.js +39 -6
- package/dist/entities/labels/registry.js.map +1 -1
- package/dist/entities/labels/schema-readonly.d.ts +6 -24
- package/dist/entities/labels/schema.d.ts +5 -37
- package/dist/entities/milestones/registry.js +44 -11
- package/dist/entities/milestones/registry.js.map +1 -1
- package/dist/entities/milestones/schema-readonly.d.ts +20 -100
- package/dist/entities/milestones/schema.d.ts +11 -48
- package/dist/entities/mrs/registry.js +56 -23
- package/dist/entities/mrs/registry.js.map +1 -1
- package/dist/entities/mrs/schema-readonly.d.ts +68 -243
- package/dist/entities/mrs/schema.d.ts +142 -885
- package/dist/entities/pipelines/registry.js +46 -13
- package/dist/entities/pipelines/registry.js.map +1 -1
- package/dist/entities/pipelines/schema-readonly.d.ts +115 -525
- package/dist/entities/pipelines/schema.d.ts +30 -104
- package/dist/entities/shared.d.ts +110 -787
- package/dist/entities/utils.d.ts +2 -2
- package/dist/entities/variables/registry.js +40 -7
- package/dist/entities/variables/registry.js.map +1 -1
- package/dist/entities/variables/schema-readonly.d.ts +3 -28
- package/dist/entities/variables/schema.d.ts +20 -80
- package/dist/entities/wiki/registry.js +39 -6
- package/dist/entities/wiki/registry.js.map +1 -1
- package/dist/entities/wiki/schema-readonly.d.ts +4 -35
- package/dist/entities/wiki/schema.d.ts +3 -31
- package/dist/entities/workitems/registry.js +40 -7
- package/dist/entities/workitems/registry.js.map +1 -1
- package/dist/entities/workitems/schema-readonly.d.ts +35 -32
- package/dist/entities/workitems/schema-readonly.js +1 -1
- package/dist/entities/workitems/schema-readonly.js.map +1 -1
- package/dist/entities/workitems/schema.d.ts +21 -45
- package/dist/middleware/index.d.ts +1 -0
- package/dist/middleware/index.js +8 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/oauth-auth.d.ts +4 -0
- package/dist/middleware/oauth-auth.js +135 -0
- package/dist/middleware/oauth-auth.js.map +1 -0
- package/dist/oauth/config.d.ts +19 -0
- package/dist/oauth/config.js +70 -0
- package/dist/oauth/config.js.map +1 -0
- package/dist/oauth/endpoints/authorize.d.ts +3 -0
- package/dist/oauth/endpoints/authorize.js +414 -0
- package/dist/oauth/endpoints/authorize.js.map +1 -0
- package/dist/oauth/endpoints/index.d.ts +3 -0
- package/dist/oauth/endpoints/index.js +13 -0
- package/dist/oauth/endpoints/index.js.map +1 -0
- package/dist/oauth/endpoints/metadata.d.ts +4 -0
- package/dist/oauth/endpoints/metadata.js +36 -0
- package/dist/oauth/endpoints/metadata.js.map +1 -0
- package/dist/oauth/endpoints/token.d.ts +2 -0
- package/dist/oauth/endpoints/token.js +159 -0
- package/dist/oauth/endpoints/token.js.map +1 -0
- package/dist/oauth/gitlab-device-flow.d.ts +8 -0
- package/dist/oauth/gitlab-device-flow.js +172 -0
- package/dist/oauth/gitlab-device-flow.js.map +1 -0
- package/dist/oauth/index.d.ts +8 -0
- package/dist/oauth/index.js +48 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/session-store.d.ts +37 -0
- package/dist/oauth/session-store.js +182 -0
- package/dist/oauth/session-store.js.map +1 -0
- package/dist/oauth/token-context.d.ts +8 -0
- package/dist/oauth/token-context.js +40 -0
- package/dist/oauth/token-context.js.map +1 -0
- package/dist/oauth/token-utils.d.ts +14 -0
- package/dist/oauth/token-utils.js +148 -0
- package/dist/oauth/token-utils.js.map +1 -0
- package/dist/oauth/types.d.ts +94 -0
- package/dist/oauth/types.js +3 -0
- package/dist/oauth/types.js.map +1 -0
- package/dist/server.js +147 -9
- package/dist/server.js.map +1 -1
- package/dist/structured-world-gitlab-mcp-5.8.0.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/fetch.d.ts +3 -7
- package/dist/utils/fetch.js +82 -54
- package/dist/utils/fetch.js.map +1 -1
- package/package.json +23 -23
- package/dist/structured-world-gitlab-mcp-5.7.0.tgz +0 -0
package/dist/utils/fetch.d.ts
CHANGED
|
@@ -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
|
|
7
|
-
|
|
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;
|
package/dist/utils/fetch.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
101
|
-
"
|
|
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
|
|
109
|
-
const
|
|
110
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
152
|
+
const dispatcher = getDispatcher();
|
|
140
153
|
const cookieHeader = loadCookieHeader();
|
|
141
|
-
const
|
|
142
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
package/dist/utils/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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.
|
|
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": ">=
|
|
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.
|
|
55
|
+
"@modelcontextprotocol/sdk": "^1.23.0",
|
|
56
56
|
"express": "^5.1.0",
|
|
57
|
-
"form-data": "^4.0.
|
|
58
|
-
"graphql": "^16.
|
|
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": "^
|
|
63
|
-
"pino-pretty": "^13.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
|
-
"
|
|
67
|
-
"zod
|
|
66
|
+
"undici": "^7.16.0",
|
|
67
|
+
"zod": "^4.1.13"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@eslint/js": "^9.
|
|
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": "^
|
|
75
|
-
"@semantic-release/npm": "^
|
|
76
|
-
"@types/express": "^5.0.
|
|
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": "^
|
|
79
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
80
|
-
"@typescript-eslint/parser": "^8.
|
|
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.
|
|
83
|
-
"dotenv": "^17.2.
|
|
84
|
-
"eslint": "^9.
|
|
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.
|
|
86
|
+
"jest": "^30.2.0",
|
|
87
87
|
"prettier": "^3.6.2",
|
|
88
|
-
"semantic-release": "^
|
|
89
|
-
"ts-jest": "^29.4.
|
|
88
|
+
"semantic-release": "^25.0.2",
|
|
89
|
+
"ts-jest": "^29.4.5",
|
|
90
90
|
"ts-node": "^10.9.2",
|
|
91
|
-
"typescript": "^5.9.
|
|
91
|
+
"typescript": "^5.9.3"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
Binary file
|