@structured-world/gitlab-mcp 6.28.0 → 6.29.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/dist/src/cli/docker/docker-command.d.ts +15 -0
- package/dist/src/cli/docker/docker-command.js +411 -0
- package/dist/src/cli/docker/docker-command.js.map +1 -0
- package/dist/src/cli/docker/docker-utils.d.ts +24 -0
- package/dist/src/cli/docker/docker-utils.js +356 -0
- package/dist/src/cli/docker/docker-utils.js.map +1 -0
- package/dist/src/cli/docker/index.d.ts +3 -0
- package/dist/src/cli/docker/index.js +23 -0
- package/dist/src/cli/docker/index.js.map +1 -0
- package/dist/src/cli/docker/types.d.ts +71 -0
- package/dist/src/cli/docker/types.js +21 -0
- package/dist/src/cli/docker/types.js.map +1 -0
- package/dist/src/cli/install/backup.d.ts +4 -0
- package/dist/src/cli/install/backup.js +63 -0
- package/dist/src/cli/install/backup.js.map +1 -0
- package/dist/src/cli/install/detector.d.ts +9 -0
- package/dist/src/cli/install/detector.js +126 -0
- package/dist/src/cli/install/detector.js.map +1 -0
- package/dist/src/cli/install/index.d.ts +5 -0
- package/dist/src/cli/install/index.js +27 -0
- package/dist/src/cli/install/index.js.map +1 -0
- package/dist/src/cli/install/install-command.d.ts +19 -0
- package/dist/src/cli/install/install-command.js +288 -0
- package/dist/src/cli/install/install-command.js.map +1 -0
- package/dist/src/cli/install/installers.d.ts +12 -0
- package/dist/src/cli/install/installers.js +439 -0
- package/dist/src/cli/install/installers.js.map +1 -0
- package/dist/src/cli/install/types.d.ts +52 -0
- package/dist/src/cli/install/types.js +87 -0
- package/dist/src/cli/install/types.js.map +1 -0
- package/dist/src/cli/utils/index.d.ts +1 -0
- package/dist/src/cli/utils/index.js +6 -0
- package/dist/src/cli/utils/index.js.map +1 -0
- package/dist/src/cli/utils/path-utils.d.ts +1 -0
- package/dist/src/cli/utils/path-utils.js +18 -0
- package/dist/src/cli/utils/path-utils.js.map +1 -0
- package/dist/src/cli-utils.d.ts +4 -0
- package/dist/src/cli-utils.js +18 -3
- package/dist/src/cli-utils.js.map +1 -1
- package/dist/src/main.js +12 -0
- package/dist/src/main.js.map +1 -1
- package/dist/structured-world-gitlab-mcp-6.29.0.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/structured-world-gitlab-mcp-6.28.0.tgz +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expandPath = void 0;
|
|
4
|
+
exports.getConfigPath = getConfigPath;
|
|
5
|
+
exports.commandExists = commandExists;
|
|
6
|
+
exports.isAlreadyConfigured = isAlreadyConfigured;
|
|
7
|
+
exports.detectClient = detectClient;
|
|
8
|
+
exports.detectAllClients = detectAllClients;
|
|
9
|
+
exports.getDetectedClients = getDetectedClients;
|
|
10
|
+
exports.getConfiguredClients = getConfiguredClients;
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const child_process_1 = require("child_process");
|
|
13
|
+
const types_1 = require("./types");
|
|
14
|
+
const path_utils_js_1 = require("../utils/path-utils.js");
|
|
15
|
+
var path_utils_js_2 = require("../utils/path-utils.js");
|
|
16
|
+
Object.defineProperty(exports, "expandPath", { enumerable: true, get: function () { return path_utils_js_2.expandPath; } });
|
|
17
|
+
function getConfigPath(client) {
|
|
18
|
+
const metadata = types_1.CLIENT_METADATA[client];
|
|
19
|
+
const platform = process.platform;
|
|
20
|
+
return metadata.configPaths[platform];
|
|
21
|
+
}
|
|
22
|
+
function commandExists(command) {
|
|
23
|
+
try {
|
|
24
|
+
const result = (0, child_process_1.spawnSync)(process.platform === "win32" ? "where" : "which", [command], {
|
|
25
|
+
stdio: "pipe",
|
|
26
|
+
encoding: "utf8",
|
|
27
|
+
});
|
|
28
|
+
return result.status === 0;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function appBundleExists(bundleId) {
|
|
35
|
+
if (process.platform !== "darwin") {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const result = (0, child_process_1.spawnSync)("mdfind", [`kMDItemCFBundleIdentifier == "${bundleId}"`], {
|
|
40
|
+
stdio: "pipe",
|
|
41
|
+
encoding: "utf8",
|
|
42
|
+
});
|
|
43
|
+
return result.status === 0 && result.stdout.trim().length > 0;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function isAlreadyConfigured(configPath) {
|
|
50
|
+
try {
|
|
51
|
+
const expanded = (0, path_utils_js_1.expandPath)(configPath);
|
|
52
|
+
if (!(0, fs_1.existsSync)(expanded)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const content = (0, fs_1.readFileSync)(expanded, "utf8");
|
|
56
|
+
const config = JSON.parse(content);
|
|
57
|
+
const mcpServers = config.mcpServers;
|
|
58
|
+
if (mcpServers) {
|
|
59
|
+
return "gitlab" in mcpServers || "gitlab-mcp" in mcpServers;
|
|
60
|
+
}
|
|
61
|
+
const servers = config.servers;
|
|
62
|
+
if (servers) {
|
|
63
|
+
return "gitlab" in servers || "gitlab-mcp" in servers;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function detectClient(client) {
|
|
72
|
+
const metadata = types_1.CLIENT_METADATA[client];
|
|
73
|
+
const configPath = getConfigPath(client);
|
|
74
|
+
const expandedPath = configPath ? (0, path_utils_js_1.expandPath)(configPath) : undefined;
|
|
75
|
+
const result = {
|
|
76
|
+
client,
|
|
77
|
+
detected: false,
|
|
78
|
+
method: metadata.detectionMethod,
|
|
79
|
+
};
|
|
80
|
+
if (configPath) {
|
|
81
|
+
result.configPath = expandedPath;
|
|
82
|
+
}
|
|
83
|
+
switch (metadata.detectionMethod) {
|
|
84
|
+
case "cli-command":
|
|
85
|
+
if (metadata.cliCommand && commandExists(metadata.cliCommand)) {
|
|
86
|
+
result.detected = true;
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
89
|
+
case "app-bundle":
|
|
90
|
+
if (metadata.appBundleId && appBundleExists(metadata.appBundleId)) {
|
|
91
|
+
result.detected = true;
|
|
92
|
+
}
|
|
93
|
+
if (!result.detected && expandedPath) {
|
|
94
|
+
const configDir = expandedPath.replace(/\/[^/]+$/, "");
|
|
95
|
+
if ((0, fs_1.existsSync)(configDir)) {
|
|
96
|
+
result.detected = true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
case "config-file":
|
|
101
|
+
if (expandedPath) {
|
|
102
|
+
const configDir = expandedPath.replace(/\/[^/]+$/, "");
|
|
103
|
+
if ((0, fs_1.existsSync)(configDir)) {
|
|
104
|
+
result.detected = true;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
if (expandedPath) {
|
|
110
|
+
result.configExists = (0, fs_1.existsSync)(expandedPath);
|
|
111
|
+
if (result.configExists) {
|
|
112
|
+
result.alreadyConfigured = isAlreadyConfigured(expandedPath);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
function detectAllClients() {
|
|
118
|
+
return types_1.INSTALLABLE_CLIENTS.map(client => detectClient(client));
|
|
119
|
+
}
|
|
120
|
+
function getDetectedClients() {
|
|
121
|
+
return detectAllClients().filter(result => result.detected);
|
|
122
|
+
}
|
|
123
|
+
function getConfiguredClients() {
|
|
124
|
+
return detectAllClients().filter(result => result.alreadyConfigured);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../../src/cli/install/detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.buildServerConfigFromEnv = exports.parseInstallFlags = exports.runInstallCommand = exports.runInstallWizard = void 0;
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./detector"), exports);
|
|
20
|
+
__exportStar(require("./backup"), exports);
|
|
21
|
+
__exportStar(require("./installers"), exports);
|
|
22
|
+
var install_command_1 = require("./install-command");
|
|
23
|
+
Object.defineProperty(exports, "runInstallWizard", { enumerable: true, get: function () { return install_command_1.runInstallWizard; } });
|
|
24
|
+
Object.defineProperty(exports, "runInstallCommand", { enumerable: true, get: function () { return install_command_1.runInstallCommand; } });
|
|
25
|
+
Object.defineProperty(exports, "parseInstallFlags", { enumerable: true, get: function () { return install_command_1.parseInstallFlags; } });
|
|
26
|
+
Object.defineProperty(exports, "buildServerConfigFromEnv", { enumerable: true, get: function () { return install_command_1.buildServerConfigFromEnv; } });
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/install/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB;AACzB,+CAA6B;AAC7B,qDAK2B;AAJzB,mHAAA,gBAAgB,OAAA;AAChB,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AACjB,2HAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { InstallableClient, InstallResult } from "./types";
|
|
2
|
+
import { McpServerConfig } from "../init/types";
|
|
3
|
+
export interface InstallFlags {
|
|
4
|
+
claudeDesktop?: boolean;
|
|
5
|
+
claudeCode?: boolean;
|
|
6
|
+
cursor?: boolean;
|
|
7
|
+
vscode?: boolean;
|
|
8
|
+
cline?: boolean;
|
|
9
|
+
rooCode?: boolean;
|
|
10
|
+
windsurf?: boolean;
|
|
11
|
+
all?: boolean;
|
|
12
|
+
show?: boolean;
|
|
13
|
+
force?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function parseInstallFlags(args: string[]): InstallFlags;
|
|
16
|
+
export declare function getClientsFromFlags(flags: InstallFlags): InstallableClient[];
|
|
17
|
+
export declare function runInstallWizard(serverConfig: McpServerConfig, flags?: InstallFlags): Promise<InstallResult[]>;
|
|
18
|
+
export declare function runInstallCommand(serverConfig: McpServerConfig, flags: InstallFlags): Promise<InstallResult[]>;
|
|
19
|
+
export declare function buildServerConfigFromEnv(): McpServerConfig;
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parseInstallFlags = parseInstallFlags;
|
|
37
|
+
exports.getClientsFromFlags = getClientsFromFlags;
|
|
38
|
+
exports.runInstallWizard = runInstallWizard;
|
|
39
|
+
exports.runInstallCommand = runInstallCommand;
|
|
40
|
+
exports.buildServerConfigFromEnv = buildServerConfigFromEnv;
|
|
41
|
+
const p = __importStar(require("@clack/prompts"));
|
|
42
|
+
const types_1 = require("./types");
|
|
43
|
+
const detector_1 = require("./detector");
|
|
44
|
+
const installers_1 = require("./installers");
|
|
45
|
+
function parseInstallFlags(args) {
|
|
46
|
+
const flags = {};
|
|
47
|
+
for (const arg of args) {
|
|
48
|
+
switch (arg) {
|
|
49
|
+
case "--claude-desktop":
|
|
50
|
+
flags.claudeDesktop = true;
|
|
51
|
+
break;
|
|
52
|
+
case "--claude-code":
|
|
53
|
+
flags.claudeCode = true;
|
|
54
|
+
break;
|
|
55
|
+
case "--cursor":
|
|
56
|
+
flags.cursor = true;
|
|
57
|
+
break;
|
|
58
|
+
case "--vscode":
|
|
59
|
+
flags.vscode = true;
|
|
60
|
+
break;
|
|
61
|
+
case "--cline":
|
|
62
|
+
flags.cline = true;
|
|
63
|
+
break;
|
|
64
|
+
case "--roo-code":
|
|
65
|
+
flags.rooCode = true;
|
|
66
|
+
break;
|
|
67
|
+
case "--windsurf":
|
|
68
|
+
flags.windsurf = true;
|
|
69
|
+
break;
|
|
70
|
+
case "--all":
|
|
71
|
+
flags.all = true;
|
|
72
|
+
break;
|
|
73
|
+
case "--show":
|
|
74
|
+
flags.show = true;
|
|
75
|
+
break;
|
|
76
|
+
case "--force":
|
|
77
|
+
flags.force = true;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return flags;
|
|
82
|
+
}
|
|
83
|
+
function getClientsFromFlags(flags) {
|
|
84
|
+
const clients = [];
|
|
85
|
+
if (flags.claudeDesktop)
|
|
86
|
+
clients.push("claude-desktop");
|
|
87
|
+
if (flags.claudeCode)
|
|
88
|
+
clients.push("claude-code");
|
|
89
|
+
if (flags.cursor)
|
|
90
|
+
clients.push("cursor");
|
|
91
|
+
if (flags.vscode)
|
|
92
|
+
clients.push("vscode-copilot");
|
|
93
|
+
if (flags.cline)
|
|
94
|
+
clients.push("cline");
|
|
95
|
+
if (flags.rooCode)
|
|
96
|
+
clients.push("roo-code");
|
|
97
|
+
if (flags.windsurf)
|
|
98
|
+
clients.push("windsurf");
|
|
99
|
+
return clients;
|
|
100
|
+
}
|
|
101
|
+
function formatDetectionResult(result) {
|
|
102
|
+
const metadata = types_1.CLIENT_METADATA[result.client];
|
|
103
|
+
let status = result.detected ? "✓" : "✗";
|
|
104
|
+
if (result.alreadyConfigured) {
|
|
105
|
+
status = "⚙";
|
|
106
|
+
}
|
|
107
|
+
let hint = "";
|
|
108
|
+
if (result.alreadyConfigured) {
|
|
109
|
+
hint = " (already configured)";
|
|
110
|
+
}
|
|
111
|
+
else if (result.detected && result.configExists) {
|
|
112
|
+
hint = " (config exists)";
|
|
113
|
+
}
|
|
114
|
+
else if (result.detected) {
|
|
115
|
+
hint = " (detected)";
|
|
116
|
+
}
|
|
117
|
+
return `${status} ${metadata.name}${hint}`;
|
|
118
|
+
}
|
|
119
|
+
async function runInstallWizard(serverConfig, flags = {}) {
|
|
120
|
+
if (flags.show) {
|
|
121
|
+
p.intro("GitLab MCP Configuration Preview");
|
|
122
|
+
const specifiedClients = getClientsFromFlags(flags);
|
|
123
|
+
const targetClient = specifiedClients[0] ?? "claude-desktop";
|
|
124
|
+
const preview = (0, installers_1.generateConfigPreview)(targetClient, serverConfig);
|
|
125
|
+
p.note(preview, `Configuration for ${types_1.CLIENT_METADATA[targetClient].name}`);
|
|
126
|
+
p.outro("Use these settings to configure your MCP client manually.");
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
p.intro("Install GitLab MCP to your AI coding assistants");
|
|
130
|
+
const spinner = p.spinner();
|
|
131
|
+
spinner.start("Detecting installed MCP clients...");
|
|
132
|
+
const detectionResults = (0, detector_1.detectAllClients)();
|
|
133
|
+
const detectedClients = detectionResults.filter(r => r.detected);
|
|
134
|
+
spinner.stop(`Found ${detectedClients.length} MCP clients`);
|
|
135
|
+
if (detectedClients.length === 0) {
|
|
136
|
+
p.log.warn("No MCP clients detected on this system.");
|
|
137
|
+
p.note("Supported clients:\n" +
|
|
138
|
+
types_1.INSTALLABLE_CLIENTS.map(c => ` - ${types_1.CLIENT_METADATA[c].name}`).join("\n"), "Install one of these clients first:");
|
|
139
|
+
p.outro("Setup cancelled.");
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
p.log.info("Detected clients:");
|
|
143
|
+
for (const result of detectionResults) {
|
|
144
|
+
if (result.detected) {
|
|
145
|
+
console.log(` ${formatDetectionResult(result)}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
let targetClients;
|
|
149
|
+
const specifiedClients = getClientsFromFlags(flags);
|
|
150
|
+
if (flags.all) {
|
|
151
|
+
targetClients = detectedClients.map(r => r.client);
|
|
152
|
+
}
|
|
153
|
+
else if (specifiedClients.length > 0) {
|
|
154
|
+
targetClients = specifiedClients.filter(c => detectedClients.some(d => d.client === c));
|
|
155
|
+
const undetected = specifiedClients.filter(c => !detectedClients.some(d => d.client === c));
|
|
156
|
+
if (undetected.length > 0) {
|
|
157
|
+
p.log.warn(`Skipping undetected clients: ${undetected.map(c => types_1.CLIENT_METADATA[c].name).join(", ")}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
const selectedClients = await p.multiselect({
|
|
162
|
+
message: "Select clients to install to:",
|
|
163
|
+
options: detectedClients.map(result => ({
|
|
164
|
+
value: result.client,
|
|
165
|
+
label: types_1.CLIENT_METADATA[result.client].name,
|
|
166
|
+
hint: result.alreadyConfigured ? "already configured" : undefined,
|
|
167
|
+
})),
|
|
168
|
+
required: true,
|
|
169
|
+
});
|
|
170
|
+
if (p.isCancel(selectedClients)) {
|
|
171
|
+
p.cancel("Installation cancelled");
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
174
|
+
targetClients = selectedClients;
|
|
175
|
+
}
|
|
176
|
+
if (targetClients.length === 0) {
|
|
177
|
+
p.log.warn("No clients selected for installation.");
|
|
178
|
+
p.outro("Setup cancelled.");
|
|
179
|
+
return [];
|
|
180
|
+
}
|
|
181
|
+
const alreadyConfigured = targetClients.filter(c => detectionResults.find(r => r.client === c)?.alreadyConfigured);
|
|
182
|
+
if (alreadyConfigured.length > 0 && !flags.force) {
|
|
183
|
+
p.log.warn(`Some clients already have gitlab-mcp configured: ${alreadyConfigured.map(c => types_1.CLIENT_METADATA[c].name).join(", ")}`);
|
|
184
|
+
const overwrite = await p.confirm({
|
|
185
|
+
message: "Overwrite existing configurations?",
|
|
186
|
+
initialValue: false,
|
|
187
|
+
});
|
|
188
|
+
if (p.isCancel(overwrite)) {
|
|
189
|
+
p.cancel("Installation cancelled");
|
|
190
|
+
return [];
|
|
191
|
+
}
|
|
192
|
+
if (!overwrite) {
|
|
193
|
+
targetClients = targetClients.filter(c => !alreadyConfigured.includes(c));
|
|
194
|
+
if (targetClients.length === 0) {
|
|
195
|
+
p.log.info("No new clients to configure.");
|
|
196
|
+
p.outro("Setup complete.");
|
|
197
|
+
return [];
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
spinner.start("Installing configuration...");
|
|
202
|
+
const results = (0, installers_1.installToClients)(targetClients, serverConfig, flags.force ?? alreadyConfigured.length > 0);
|
|
203
|
+
spinner.stop("Installation complete!");
|
|
204
|
+
const successful = results.filter(r => r.success);
|
|
205
|
+
const failed = results.filter(r => !r.success);
|
|
206
|
+
if (successful.length > 0) {
|
|
207
|
+
p.log.success(`Installed to ${successful.length} clients:`);
|
|
208
|
+
for (const result of successful) {
|
|
209
|
+
const metadata = types_1.CLIENT_METADATA[result.client];
|
|
210
|
+
let info = ` ✓ ${metadata.name}`;
|
|
211
|
+
if (result.configPath) {
|
|
212
|
+
info += ` (${result.configPath})`;
|
|
213
|
+
}
|
|
214
|
+
if (result.backupPath) {
|
|
215
|
+
info += `\n Backup: ${result.backupPath}`;
|
|
216
|
+
}
|
|
217
|
+
console.log(info);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (failed.length > 0) {
|
|
221
|
+
p.log.error(`Failed for ${failed.length} clients:`);
|
|
222
|
+
for (const result of failed) {
|
|
223
|
+
const metadata = types_1.CLIENT_METADATA[result.client];
|
|
224
|
+
console.log(` ✗ ${metadata.name}: ${result.error}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
p.outro(successful.length > 0
|
|
228
|
+
? "Installation complete! Restart your MCP clients to apply changes."
|
|
229
|
+
: "Installation failed.");
|
|
230
|
+
return results;
|
|
231
|
+
}
|
|
232
|
+
async function runInstallCommand(serverConfig, flags) {
|
|
233
|
+
const specifiedClients = getClientsFromFlags(flags);
|
|
234
|
+
if (flags.show) {
|
|
235
|
+
const targetClient = specifiedClients[0] ?? "claude-desktop";
|
|
236
|
+
const preview = (0, installers_1.generateConfigPreview)(targetClient, serverConfig);
|
|
237
|
+
console.log(`Configuration for ${types_1.CLIENT_METADATA[targetClient].name}:\n`);
|
|
238
|
+
console.log(preview);
|
|
239
|
+
return [];
|
|
240
|
+
}
|
|
241
|
+
if (specifiedClients.length > 0 || flags.all) {
|
|
242
|
+
const detected = (0, detector_1.getDetectedClients)();
|
|
243
|
+
let targetClients;
|
|
244
|
+
if (flags.all) {
|
|
245
|
+
targetClients = detected.map(r => r.client);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
targetClients = specifiedClients.filter(c => detected.some(d => d.client === c));
|
|
249
|
+
}
|
|
250
|
+
if (targetClients.length === 0) {
|
|
251
|
+
console.error("No supported MCP clients detected.");
|
|
252
|
+
return [];
|
|
253
|
+
}
|
|
254
|
+
const results = (0, installers_1.installToClients)(targetClients, serverConfig, flags.force ?? false);
|
|
255
|
+
for (const result of results) {
|
|
256
|
+
const metadata = types_1.CLIENT_METADATA[result.client];
|
|
257
|
+
if (result.success) {
|
|
258
|
+
console.log(`✓ Installed to ${metadata.name}`);
|
|
259
|
+
if (result.backupPath) {
|
|
260
|
+
console.log(` Backup created: ${result.backupPath}`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
console.error(`✗ Failed for ${metadata.name}: ${result.error}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return results;
|
|
268
|
+
}
|
|
269
|
+
return runInstallWizard(serverConfig, flags);
|
|
270
|
+
}
|
|
271
|
+
function buildServerConfigFromEnv() {
|
|
272
|
+
const instanceUrl = process.env.GITLAB_URL ?? "https://gitlab.com";
|
|
273
|
+
const token = process.env.GITLAB_TOKEN ?? "";
|
|
274
|
+
const preset = process.env.GITLAB_MCP_PRESET;
|
|
275
|
+
const env = {
|
|
276
|
+
GITLAB_URL: instanceUrl,
|
|
277
|
+
GITLAB_TOKEN: token,
|
|
278
|
+
};
|
|
279
|
+
if (preset) {
|
|
280
|
+
env.GITLAB_MCP_PRESET = preset;
|
|
281
|
+
}
|
|
282
|
+
return {
|
|
283
|
+
command: "npx",
|
|
284
|
+
args: ["-y", "@structured-world/gitlab-mcp"],
|
|
285
|
+
env,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=install-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-command.js","sourceRoot":"","sources":["../../../../src/cli/install/install-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,8CAuCC;AAKD,kDAYC;AA4BD,4CA2KC;AAKD,8CAmDC;AAKD,4DAmBC;AA9WD,kDAAoC;AACpC,mCAMiB;AACjB,yCAAkE;AAClE,6CAAuE;AAsBvE,SAAgB,iBAAiB,CAAC,IAAc;IAC9C,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,kBAAkB;gBACrB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC3B,MAAM;YACR,KAAK,eAAe;gBAClB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,UAAU;gBACb,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,UAAU;gBACb,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,SAAS;gBACZ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,KAAK,YAAY;gBACf,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,YAAY;gBACf,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,QAAQ;gBACX,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,KAAK,SAAS;gBACZ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAKD,SAAgB,mBAAmB,CAAC,KAAmB;IACrD,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAKD,SAAS,qBAAqB,CAAC,MAA6B;IAC1D,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEzC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;IAED,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,IAAI,GAAG,uBAAuB,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAClD,IAAI,GAAG,kBAAkB,CAAC;IAC5B,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;AAC7C,CAAC;AAKM,KAAK,UAAU,gBAAgB,CACpC,YAA6B,EAC7B,QAAsB,EAAE;IAGxB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAG5C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QAE7D,MAAM,OAAO,GAAG,IAAA,kCAAqB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,uBAAe,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,CAAC,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,CAAC,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAG3D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEpD,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEjE,OAAO,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,MAAM,cAAc,CAAC,CAAC;IAE5D,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,CAAC,CAAC,IAAI,CACJ,sBAAsB;YACpB,2BAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,uBAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3E,qCAAqC,CACtC,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAGD,IAAI,aAAkC,CAAC;IACvC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEpD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QAEd,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAEvC,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QAGxF,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,gCAAgC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QAEN,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;YAC1C,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtC,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,KAAK,EAAE,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI;gBAC1C,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;YACH,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,aAAa,GAAG,eAAiD,CAAC;IACpE,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,iBAAiB,CACnE,CAAC;IAEF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,oDAAoD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrH,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,oCAAoC;YAC7C,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YAEf,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAGD,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAC9B,aAAa,EACb,YAAY,EACZ,KAAK,CAAC,KAAK,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAC5C,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAGvC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC;QAC5D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,IAAI,IAAI,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC;YACpC,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,IAAI,IAAI,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,CAAC,CAAC,KAAK,CACL,UAAU,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,mEAAmE;QACrE,CAAC,CAAC,sBAAsB,CAC3B,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAKM,KAAK,UAAU,iBAAiB,CACrC,YAA6B,EAC7B,KAAmB;IAEnB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAGpD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAA,kCAAqB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,qBAAqB,uBAAe,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,6BAAkB,GAAE,CAAC;QACtC,IAAI,aAAkC,CAAC;QAEvC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAGpF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD,OAAO,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAKD,SAAgB,wBAAwB;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,oBAAoB,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAE7C,MAAM,GAAG,GAA2B;QAClC,UAAU,EAAE,WAAW;QACvB,YAAY,EAAE,KAAK;KACpB,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,8BAA8B,CAAC;QAC5C,GAAG;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InstallableClient, InstallResult } from "./types";
|
|
2
|
+
import { McpServerConfig } from "../init/types";
|
|
3
|
+
export declare function installClaudeDesktop(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
4
|
+
export declare function installClaudeCode(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
5
|
+
export declare function installCursor(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
6
|
+
export declare function installVSCodeCopilot(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
7
|
+
export declare function installWindsurf(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
8
|
+
export declare function installCline(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
9
|
+
export declare function installRooCode(serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
10
|
+
export declare function installToClient(client: InstallableClient, serverConfig: McpServerConfig, force?: boolean): InstallResult;
|
|
11
|
+
export declare function installToClients(clients: InstallableClient[], serverConfig: McpServerConfig, force?: boolean): InstallResult[];
|
|
12
|
+
export declare function generateConfigPreview(client: InstallableClient, serverConfig: McpServerConfig): string;
|