gitlab-mcp 1.2.0 → 1.2.1
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 +12 -1
- package/dist/config/dotenv.d.ts +2 -0
- package/dist/config/dotenv.js +40 -0
- package/dist/config/dotenv.js.map +1 -0
- package/dist/config/env.d.ts +0 -1
- package/dist/config/env.js +2 -1
- package/dist/config/env.js.map +1 -1
- package/dist/tools/mr-code-context.d.ts +1 -1
- package/docs/architecture.md +10 -10
- package/docs/configuration.md +6 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -275,7 +275,7 @@ docker run -d \
|
|
|
275
275
|
|
|
276
276
|
- `GITLAB_PROJECT_ID` is not a supported environment variable in this repository.
|
|
277
277
|
- To set an effective default project, use `GITLAB_ALLOWED_PROJECT_IDS` with one project ID, or pass `project_id` in tool arguments.
|
|
278
|
-
- CLI argument overrides such as `--token` or `--api-url` are not implemented.
|
|
278
|
+
- CLI argument overrides such as `--token` or `--api-url` are not implemented (`--env-file` is supported).
|
|
279
279
|
- JSON config files do not support comments (`//`).
|
|
280
280
|
|
|
281
281
|
## MCP Server Configuration
|
|
@@ -292,6 +292,10 @@ pnpm start
|
|
|
292
292
|
|
|
293
293
|
# streamable HTTP server (http://127.0.0.1:3333/mcp)
|
|
294
294
|
pnpm start:http
|
|
295
|
+
|
|
296
|
+
# optional: load a specific env file
|
|
297
|
+
pnpm start -- --env-file .env.local
|
|
298
|
+
pnpm start:http -- --env-file .env.local
|
|
295
299
|
```
|
|
296
300
|
|
|
297
301
|
### Transport and entrypoint
|
|
@@ -361,6 +365,13 @@ USE_GITLAB_WIKI=false
|
|
|
361
365
|
|
|
362
366
|
All configuration is done through environment variables. Key settings:
|
|
363
367
|
|
|
368
|
+
For file-based loading, `.env` is loaded by default. You can override it with:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
node dist/index.js --env-file .env.local
|
|
372
|
+
node dist/http.js --env-file=.env.production
|
|
373
|
+
```
|
|
374
|
+
|
|
364
375
|
| Area | Variable | Default | Description |
|
|
365
376
|
| --------------- | ----------------------------------------- | --------------------------- | ----------------------------------------------------------------------------------- |
|
|
366
377
|
| GitLab API | `GITLAB_API_URL` | `https://gitlab.com/api/v4` | Base API URL. Supports comma-separated multi-instance URLs. |
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { config } from "dotenv";
|
|
2
|
+
const ENV_FILE_FLAG = "--env-file";
|
|
3
|
+
export function resolveEnvFilePathFromArgv(argv) {
|
|
4
|
+
let envFilePath;
|
|
5
|
+
for (let index = 2; index < argv.length; index += 1) {
|
|
6
|
+
const arg = argv[index];
|
|
7
|
+
if (!arg) {
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
if (arg === ENV_FILE_FLAG) {
|
|
11
|
+
const next = argv[index + 1];
|
|
12
|
+
if (!next) {
|
|
13
|
+
throw new Error(`${ENV_FILE_FLAG} requires a file path`);
|
|
14
|
+
}
|
|
15
|
+
envFilePath = next;
|
|
16
|
+
index += 1;
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if (arg.startsWith(`${ENV_FILE_FLAG}=`)) {
|
|
20
|
+
const value = arg.slice(ENV_FILE_FLAG.length + 1).trim();
|
|
21
|
+
if (!value) {
|
|
22
|
+
throw new Error(`${ENV_FILE_FLAG} requires a file path`);
|
|
23
|
+
}
|
|
24
|
+
envFilePath = value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return envFilePath;
|
|
28
|
+
}
|
|
29
|
+
export function loadDotenvFromArgv(argv = process.argv, processEnv = process.env) {
|
|
30
|
+
const envFilePath = resolveEnvFilePathFromArgv(argv);
|
|
31
|
+
if (!envFilePath) {
|
|
32
|
+
config({ processEnv, quiet: true });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const result = config({ path: envFilePath, processEnv, quiet: true });
|
|
36
|
+
if (result.error) {
|
|
37
|
+
throw new Error(`Failed to load ${ENV_FILE_FLAG} '${envFilePath}': ${result.error.message}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=dotenv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotenv.js","sourceRoot":"","sources":["../../src/config/dotenv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,UAAU,0BAA0B,CAAC,IAAuB;IAChE,IAAI,WAA+B,CAAC;IAEpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,uBAAuB,CAAC,CAAC;YAC3D,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,uBAAuB,CAAC,CAAC;YAC3D,CAAC;YACD,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA0B,OAAO,CAAC,IAAI,EACtC,aAAgC,OAAO,CAAC,GAAG;IAE3C,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAErD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,KAAK,WAAW,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC"}
|
package/dist/config/env.d.ts
CHANGED
package/dist/config/env.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import "dotenv/config";
|
|
2
1
|
import { readFileSync } from "node:fs";
|
|
3
2
|
import { z } from "zod";
|
|
3
|
+
import { loadDotenvFromArgv } from "./dotenv.js";
|
|
4
|
+
loadDotenvFromArgv();
|
|
4
5
|
const logLevelSchema = z.enum(["fatal", "error", "warn", "info", "debug", "trace", "silent"]);
|
|
5
6
|
const DEFAULT_SERVER_VERSION = resolveDefaultServerVersion();
|
|
6
7
|
const responseModeSchema = z.enum(["json", "compact-json", "yaml"]);
|
package/dist/config/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@ export declare const mergeRequestCodeContextSchema: {
|
|
|
16
16
|
fullfile: "fullfile";
|
|
17
17
|
}>>;
|
|
18
18
|
readonly sort: z.ZodDefault<z.ZodEnum<{
|
|
19
|
-
changed_lines: "changed_lines";
|
|
20
19
|
path: "path";
|
|
20
|
+
changed_lines: "changed_lines";
|
|
21
21
|
file_size: "file_size";
|
|
22
22
|
}>>;
|
|
23
23
|
readonly list_only: z.ZodDefault<z.ZodBoolean>;
|
package/docs/architecture.md
CHANGED
|
@@ -9,7 +9,7 @@ gitlab-mcp is structured as a layered MCP server with clear separation between t
|
|
|
9
9
|
```
|
|
10
10
|
┌──────────────────────────────────────────────────────┐
|
|
11
11
|
│ Transport Layer │
|
|
12
|
-
│ index.ts (stdio) │ http.ts (HTTP/SSE)
|
|
12
|
+
│ index.ts (stdio) │ http.ts (HTTP/SSE) │
|
|
13
13
|
└─────────┬──────────┴──────────┬──────────────────────┘
|
|
14
14
|
│ │
|
|
15
15
|
│ ┌────────────────▼────────────────────┐
|
|
@@ -21,20 +21,20 @@ gitlab-mcp is structured as a layered MCP server with clear separation between t
|
|
|
21
21
|
│ └────────────────┬────────────────────┘
|
|
22
22
|
│ │
|
|
23
23
|
┌─────────▼─────────────────────▼──────────────────────┐
|
|
24
|
-
│ MCP Server Factory
|
|
25
|
-
│ build-server.ts
|
|
24
|
+
│ MCP Server Factory │
|
|
25
|
+
│ build-server.ts │
|
|
26
26
|
│ ┌──────────────────────────────────────────────┐ │
|
|
27
|
-
│ │ registerHealthTool()
|
|
28
|
-
│ │ registerGitLabTools() ──▶ Policy filtering
|
|
27
|
+
│ │ registerHealthTool() │ │
|
|
28
|
+
│ │ registerGitLabTools() ──▶ Policy filtering │ │
|
|
29
29
|
│ └──────────────────────────────────────────────┘ │
|
|
30
30
|
└───────────────────────┬──────────────────────────────┘
|
|
31
31
|
│
|
|
32
32
|
┌───────────────────────▼──────────────────────────────┐
|
|
33
|
-
│ AppContext
|
|
34
|
-
│ ┌──────────┐ ┌───────────┐ ┌──────────────────┐
|
|
35
|
-
│ │ env │ │ logger │ │ gitlab (Client)
|
|
36
|
-
│ │ (AppEnv) │ │ (Pino) │ │
|
|
37
|
-
│ └──────────┘ └───────────┘ └──────────────────┘
|
|
33
|
+
│ AppContext │
|
|
34
|
+
│ ┌──────────┐ ┌───────────┐ ┌──────────────────┐ │
|
|
35
|
+
│ │ env │ │ logger │ │ gitlab (Client) │ │
|
|
36
|
+
│ │ (AppEnv) │ │ (Pino) │ │ │ │
|
|
37
|
+
│ └──────────┘ └───────────┘ └──────────────────┘ │
|
|
38
38
|
│ ┌──────────────────┐ ┌─────────────────────────┐ │
|
|
39
39
|
│ │ policy (Engine) │ │ formatter (Output) │ │
|
|
40
40
|
│ └──────────────────┘ └─────────────────────────┘ │
|
package/docs/configuration.md
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All configuration is done through environment variables. The server validates all values at startup using [Zod](https://zod.dev/) schemas and will fail fast with descriptive errors if any value is invalid.
|
|
4
4
|
|
|
5
|
-
You can set variables in a `.env` file (loaded automatically via `dotenv`) or pass them directly as environment variables.
|
|
5
|
+
You can set variables in a `.env` file (loaded automatically via `dotenv`) or pass them directly as environment variables. To load a different file, use `--env-file`:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
node dist/index.js --env-file .env.local
|
|
9
|
+
node dist/http.js --env-file=.env.production
|
|
10
|
+
```
|
|
6
11
|
|
|
7
12
|
## Core Settings
|
|
8
13
|
|