@global-packages/mcp-kit 1.0.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 (142) hide show
  1. package/README.md +97 -0
  2. package/dist/commands/add.d.ts +2 -0
  3. package/dist/commands/add.d.ts.map +1 -0
  4. package/dist/commands/add.js +89 -0
  5. package/dist/commands/add.js.map +1 -0
  6. package/dist/commands/backup.d.ts +6 -0
  7. package/dist/commands/backup.d.ts.map +1 -0
  8. package/dist/commands/backup.js +35 -0
  9. package/dist/commands/backup.js.map +1 -0
  10. package/dist/commands/completion.d.ts +2 -0
  11. package/dist/commands/completion.d.ts.map +1 -0
  12. package/dist/commands/completion.js +84 -0
  13. package/dist/commands/completion.js.map +1 -0
  14. package/dist/commands/doctor.d.ts +2 -0
  15. package/dist/commands/doctor.d.ts.map +1 -0
  16. package/dist/commands/doctor.js +148 -0
  17. package/dist/commands/doctor.js.map +1 -0
  18. package/dist/commands/env-check.d.ts +6 -0
  19. package/dist/commands/env-check.d.ts.map +1 -0
  20. package/dist/commands/env-check.js +53 -0
  21. package/dist/commands/env-check.js.map +1 -0
  22. package/dist/commands/export.d.ts +5 -0
  23. package/dist/commands/export.d.ts.map +1 -0
  24. package/dist/commands/export.js +55 -0
  25. package/dist/commands/export.js.map +1 -0
  26. package/dist/commands/import.d.ts +2 -0
  27. package/dist/commands/import.d.ts.map +1 -0
  28. package/dist/commands/import.js +90 -0
  29. package/dist/commands/import.js.map +1 -0
  30. package/dist/commands/info.d.ts +6 -0
  31. package/dist/commands/info.d.ts.map +1 -0
  32. package/dist/commands/info.js +92 -0
  33. package/dist/commands/info.js.map +1 -0
  34. package/dist/commands/init.d.ts +5 -0
  35. package/dist/commands/init.d.ts.map +1 -0
  36. package/dist/commands/init.js +118 -0
  37. package/dist/commands/init.js.map +1 -0
  38. package/dist/commands/install.d.ts +2 -0
  39. package/dist/commands/install.d.ts.map +1 -0
  40. package/dist/commands/install.js +69 -0
  41. package/dist/commands/install.js.map +1 -0
  42. package/dist/commands/list.d.ts +6 -0
  43. package/dist/commands/list.d.ts.map +1 -0
  44. package/dist/commands/list.js +55 -0
  45. package/dist/commands/list.js.map +1 -0
  46. package/dist/commands/open.d.ts +2 -0
  47. package/dist/commands/open.d.ts.map +1 -0
  48. package/dist/commands/open.js +32 -0
  49. package/dist/commands/open.js.map +1 -0
  50. package/dist/commands/remove.d.ts +2 -0
  51. package/dist/commands/remove.d.ts.map +1 -0
  52. package/dist/commands/remove.js +57 -0
  53. package/dist/commands/remove.js.map +1 -0
  54. package/dist/commands/reset.d.ts +2 -0
  55. package/dist/commands/reset.d.ts.map +1 -0
  56. package/dist/commands/reset.js +61 -0
  57. package/dist/commands/reset.js.map +1 -0
  58. package/dist/commands/search.d.ts +6 -0
  59. package/dist/commands/search.d.ts.map +1 -0
  60. package/dist/commands/search.js +33 -0
  61. package/dist/commands/search.js.map +1 -0
  62. package/dist/commands/status.d.ts +6 -0
  63. package/dist/commands/status.d.ts.map +1 -0
  64. package/dist/commands/status.js +92 -0
  65. package/dist/commands/status.js.map +1 -0
  66. package/dist/commands/toggle.d.ts +3 -0
  67. package/dist/commands/toggle.d.ts.map +1 -0
  68. package/dist/commands/toggle.js +59 -0
  69. package/dist/commands/toggle.js.map +1 -0
  70. package/dist/commands/update.d.ts +2 -0
  71. package/dist/commands/update.d.ts.map +1 -0
  72. package/dist/commands/update.js +80 -0
  73. package/dist/commands/update.js.map +1 -0
  74. package/dist/commands/validate.d.ts +6 -0
  75. package/dist/commands/validate.d.ts.map +1 -0
  76. package/dist/commands/validate.js +77 -0
  77. package/dist/commands/validate.js.map +1 -0
  78. package/dist/constants.d.ts +7 -0
  79. package/dist/constants.d.ts.map +1 -0
  80. package/dist/constants.js +356 -0
  81. package/dist/constants.js.map +1 -0
  82. package/dist/core/credentials.d.ts +7 -0
  83. package/dist/core/credentials.d.ts.map +1 -0
  84. package/dist/core/credentials.js +144 -0
  85. package/dist/core/credentials.js.map +1 -0
  86. package/dist/core/detector.d.ts +8 -0
  87. package/dist/core/detector.d.ts.map +1 -0
  88. package/dist/core/detector.js +82 -0
  89. package/dist/core/detector.js.map +1 -0
  90. package/dist/core/registry.d.ts +7 -0
  91. package/dist/core/registry.d.ts.map +1 -0
  92. package/dist/core/registry.js +40 -0
  93. package/dist/core/registry.js.map +1 -0
  94. package/dist/core/validator.d.ts +6 -0
  95. package/dist/core/validator.d.ts.map +1 -0
  96. package/dist/core/validator.js +50 -0
  97. package/dist/core/validator.js.map +1 -0
  98. package/dist/core/writer.d.ts +7 -0
  99. package/dist/core/writer.d.ts.map +1 -0
  100. package/dist/core/writer.js +50 -0
  101. package/dist/core/writer.js.map +1 -0
  102. package/dist/index.d.ts +3 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +141 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/postinstall.d.ts +9 -0
  107. package/dist/postinstall.d.ts.map +1 -0
  108. package/dist/postinstall.js +100 -0
  109. package/dist/postinstall.js.map +1 -0
  110. package/dist/prompts/dev-prompts.d.ts +3 -0
  111. package/dist/prompts/dev-prompts.d.ts.map +1 -0
  112. package/dist/prompts/dev-prompts.js +40 -0
  113. package/dist/prompts/dev-prompts.js.map +1 -0
  114. package/dist/prompts/non-dev-prompts.d.ts +3 -0
  115. package/dist/prompts/non-dev-prompts.d.ts.map +1 -0
  116. package/dist/prompts/non-dev-prompts.js +43 -0
  117. package/dist/prompts/non-dev-prompts.js.map +1 -0
  118. package/dist/prompts/shared-prompts.d.ts +5 -0
  119. package/dist/prompts/shared-prompts.d.ts.map +1 -0
  120. package/dist/prompts/shared-prompts.js +59 -0
  121. package/dist/prompts/shared-prompts.js.map +1 -0
  122. package/dist/types.d.ts +79 -0
  123. package/dist/types.d.ts.map +1 -0
  124. package/dist/types.js +3 -0
  125. package/dist/types.js.map +1 -0
  126. package/dist/utils/fs.d.ts +5 -0
  127. package/dist/utils/fs.d.ts.map +1 -0
  128. package/dist/utils/fs.js +30 -0
  129. package/dist/utils/fs.js.map +1 -0
  130. package/dist/utils/logger.d.ts +13 -0
  131. package/dist/utils/logger.d.ts.map +1 -0
  132. package/dist/utils/logger.js +35 -0
  133. package/dist/utils/logger.js.map +1 -0
  134. package/dist/utils/network.d.ts +2 -0
  135. package/dist/utils/network.d.ts.map +1 -0
  136. package/dist/utils/network.js +17 -0
  137. package/dist/utils/network.js.map +1 -0
  138. package/dist/utils/spinner.d.ts +7 -0
  139. package/dist/utils/spinner.d.ts.map +1 -0
  140. package/dist/utils/spinner.js +24 -0
  141. package/dist/utils/spinner.js.map +1 -0
  142. package/package.json +74 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getMcpById = getMcpById;
7
+ exports.getMcpsForProfile = getMcpsForProfile;
8
+ exports.getMcpsByCategory = getMcpsByCategory;
9
+ exports.getLatestVersion = getLatestVersion;
10
+ exports.enrichWithVersions = enrichWithVersions;
11
+ const axios_1 = __importDefault(require("axios"));
12
+ const constants_1 = require("../constants");
13
+ function getMcpById(id) {
14
+ return constants_1.MCP_REGISTRY.find((mcp) => mcp.id === id);
15
+ }
16
+ function getMcpsForProfile(mode) {
17
+ if (mode === "dev") {
18
+ return constants_1.MCP_REGISTRY.filter((mcp) => !mcp.nonDevOnly);
19
+ }
20
+ return constants_1.MCP_REGISTRY.filter((mcp) => !mcp.devOnly);
21
+ }
22
+ function getMcpsByCategory(category) {
23
+ return constants_1.MCP_REGISTRY.filter((mcp) => mcp.category === category);
24
+ }
25
+ async function getLatestVersion(npmPackage) {
26
+ try {
27
+ const response = await axios_1.default.get(`https://registry.npmjs.org/${npmPackage}/latest`, {
28
+ timeout: 5000
29
+ });
30
+ return response.data.version || "unknown";
31
+ }
32
+ catch {
33
+ return "unknown";
34
+ }
35
+ }
36
+ async function enrichWithVersions(mcps) {
37
+ const versions = await Promise.all(mcps.map((mcp) => getLatestVersion(mcp.npmPackage)));
38
+ return mcps.map((mcp, index) => ({ ...mcp, version: versions[index] }));
39
+ }
40
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":";;;;;AAIA,gCAEC;AAED,8CAMC;AAED,8CAEC;AAED,4CASC;AAED,gDAGC;AAlCD,kDAA0B;AAC1B,4CAA4C;AAG5C,SAAgB,UAAU,CAAC,EAAU;IACnC,OAAO,wBAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAiB;IACjD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,wBAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,wBAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAqB;IACrD,OAAO,wBAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACjE,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IACvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAuB,8BAA8B,UAAU,SAAS,EAAE;YACxG,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,IAAqB;IAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { McpJsonConfig } from "../types";
2
+ export declare function validateMcpJson(config: unknown): McpJsonConfig;
3
+ export declare function checkNetworkReachability(url: string): Promise<boolean>;
4
+ export declare function checkNpmPackageExists(pkg: string): Promise<boolean>;
5
+ export declare function validateEnvVar(value: string, regex?: string): boolean;
6
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/core/validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAYzC,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAM9D;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAMrE"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateMcpJson = validateMcpJson;
7
+ exports.checkNetworkReachability = checkNetworkReachability;
8
+ exports.checkNpmPackageExists = checkNpmPackageExists;
9
+ exports.validateEnvVar = validateEnvVar;
10
+ const axios_1 = __importDefault(require("axios"));
11
+ const zod_1 = require("zod");
12
+ const mcpJsonSchema = zod_1.z.object({
13
+ servers: zod_1.z.record(zod_1.z.object({
14
+ command: zod_1.z.string(),
15
+ args: zod_1.z.array(zod_1.z.string()),
16
+ env: zod_1.z.record(zod_1.z.string()).optional()
17
+ }))
18
+ });
19
+ function validateMcpJson(config) {
20
+ const result = mcpJsonSchema.safeParse(config);
21
+ if (!result.success) {
22
+ throw new Error(`Invalid mcp.json format: ${result.error.issues.map((i) => i.message).join(", ")}`);
23
+ }
24
+ return result.data;
25
+ }
26
+ async function checkNetworkReachability(url) {
27
+ try {
28
+ const response = await axios_1.default.head(url, { timeout: 5000 });
29
+ return response.status >= 200 && response.status < 300;
30
+ }
31
+ catch {
32
+ return false;
33
+ }
34
+ }
35
+ async function checkNpmPackageExists(pkg) {
36
+ try {
37
+ const response = await axios_1.default.get(`https://registry.npmjs.org/${pkg}`, { timeout: 5000 });
38
+ return response.status === 200;
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ }
44
+ function validateEnvVar(value, regex) {
45
+ if (!regex) {
46
+ return value.trim().length > 0;
47
+ }
48
+ return new RegExp(regex).test(value);
49
+ }
50
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/core/validator.ts"],"names":[],"mappings":";;;;;AAcA,0CAMC;AAED,4DAOC;AAED,sDAOC;AAED,wCAMC;AA9CD,kDAA0B;AAC1B,6BAAwB;AAGxB,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAC,CAAC,MAAM,CACf,OAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACrC,CAAC,CACH;CACF,CAAC,CAAC;AAEH,SAAgB,eAAe,CAAC,MAAe;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACxD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACrD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,8BAA8B,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,KAAa,EAAE,KAAc;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { McpJsonConfig, McpServerEntry } from "../types";
2
+ export declare function readMcpJson(mcpJsonPath: string): Promise<McpJsonConfig>;
3
+ export declare function writeMcpJson(mcpJsonPath: string, config: McpJsonConfig): Promise<void>;
4
+ export declare function addServerToMcpJson(mcpJsonPath: string, serverId: string, entry: McpServerEntry): Promise<void>;
5
+ export declare function removeServerFromMcpJson(mcpJsonPath: string, serverId: string): Promise<void>;
6
+ export declare function mergeMcpJson(mcpJsonPath: string, incoming: McpJsonConfig): Promise<void>;
7
+ //# sourceMappingURL=writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAQ7E;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5F;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlG;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9F"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readMcpJson = readMcpJson;
7
+ exports.writeMcpJson = writeMcpJson;
8
+ exports.addServerToMcpJson = addServerToMcpJson;
9
+ exports.removeServerFromMcpJson = removeServerFromMcpJson;
10
+ exports.mergeMcpJson = mergeMcpJson;
11
+ const fs_extra_1 = __importDefault(require("fs-extra"));
12
+ const node_path_1 = __importDefault(require("node:path"));
13
+ const logger_1 = require("../utils/logger");
14
+ const validator_1 = require("./validator");
15
+ async function readMcpJson(mcpJsonPath) {
16
+ if (!(await fs_extra_1.default.pathExists(mcpJsonPath))) {
17
+ return { servers: {} };
18
+ }
19
+ const raw = await fs_extra_1.default.readFile(mcpJsonPath, "utf8");
20
+ const parsed = JSON.parse(raw);
21
+ return (0, validator_1.validateMcpJson)(parsed);
22
+ }
23
+ async function writeMcpJson(mcpJsonPath, config) {
24
+ await fs_extra_1.default.mkdirp(node_path_1.default.dirname(mcpJsonPath));
25
+ const tmpPath = `${mcpJsonPath}.tmp`;
26
+ await fs_extra_1.default.writeFile(tmpPath, JSON.stringify(config, null, 2), "utf8");
27
+ await fs_extra_1.default.rename(tmpPath, mcpJsonPath);
28
+ logger_1.log.success(`Written: ${mcpJsonPath}`);
29
+ }
30
+ async function addServerToMcpJson(mcpJsonPath, serverId, entry) {
31
+ const config = await readMcpJson(mcpJsonPath);
32
+ config.servers[serverId] = entry;
33
+ await writeMcpJson(mcpJsonPath, config);
34
+ }
35
+ async function removeServerFromMcpJson(mcpJsonPath, serverId) {
36
+ const config = await readMcpJson(mcpJsonPath);
37
+ delete config.servers[serverId];
38
+ await writeMcpJson(mcpJsonPath, config);
39
+ }
40
+ async function mergeMcpJson(mcpJsonPath, incoming) {
41
+ const existing = await readMcpJson(mcpJsonPath);
42
+ const merged = {
43
+ servers: {
44
+ ...existing.servers,
45
+ ...incoming.servers
46
+ }
47
+ };
48
+ await writeMcpJson(mcpJsonPath, merged);
49
+ }
50
+ //# sourceMappingURL=writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":";;;;;AAMA,kCAQC;AAED,oCAMC;AAED,gDAQC;AAED,0DAIC;AAED,oCASC;AAjDD,wDAA0B;AAC1B,0DAA6B;AAC7B,4CAAsC;AACtC,2CAA8C;AAGvC,KAAK,UAAU,WAAW,CAAC,WAAmB;IACnD,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAC1C,OAAO,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,MAAqB;IAC3E,MAAM,kBAAE,CAAC,MAAM,CAAC,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,MAAM,kBAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,kBAAE,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtC,YAAG,CAAC,OAAO,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;AACzC,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,QAAgB,EAChB,KAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACjC,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,WAAmB,EAAE,QAAgB;IACjF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,QAAuB;IAC7E,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE;YACP,GAAG,QAAQ,CAAC,OAAO;YACnB,GAAG,QAAQ,CAAC,OAAO;SACpB;KACF,CAAC;IACF,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,141 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const update_notifier_1 = __importDefault(require("update-notifier"));
9
+ const commander_1 = require("commander");
10
+ const logger_1 = require("./utils/logger");
11
+ const install_1 = require("./commands/install");
12
+ const init_1 = require("./commands/init");
13
+ const status_1 = require("./commands/status");
14
+ const add_1 = require("./commands/add");
15
+ const remove_1 = require("./commands/remove");
16
+ const update_1 = require("./commands/update");
17
+ const doctor_1 = require("./commands/doctor");
18
+ const list_1 = require("./commands/list");
19
+ const reset_1 = require("./commands/reset");
20
+ const export_1 = require("./commands/export");
21
+ const import_1 = require("./commands/import");
22
+ const validate_1 = require("./commands/validate");
23
+ const env_check_1 = require("./commands/env-check");
24
+ const info_1 = require("./commands/info");
25
+ const open_1 = require("./commands/open");
26
+ const search_1 = require("./commands/search");
27
+ const toggle_1 = require("./commands/toggle");
28
+ const backup_1 = require("./commands/backup");
29
+ const completion_1 = require("./commands/completion");
30
+ const packageJson = require("../package.json");
31
+ try {
32
+ (0, update_notifier_1.default)({ pkg: packageJson }).notify();
33
+ }
34
+ catch {
35
+ // update-notifier is optional; ignore failures in offline/CI.
36
+ }
37
+ const program = new commander_1.Command();
38
+ program.name("mcp-kit").description("Universal MCP Configuration CLI").version(packageJson.version);
39
+ program
40
+ .command("install")
41
+ .description("Pre-download all MCP packages to local npm cache")
42
+ .action(install_1.runInstall);
43
+ program
44
+ .command("init")
45
+ .description("Interactive wizard to configure MCP servers")
46
+ .option("--dev", "Configure developer MCP set")
47
+ .option("--non-dev", "Configure non-developer MCP set")
48
+ .option("--dry-run", "Preview what would be written without making any changes")
49
+ .action((opts) => (0, init_1.runInit)({ dev: opts.dev, nonDev: opts.nonDev }));
50
+ program
51
+ .command("status")
52
+ .description("Show all configured MCPs, versions and credential storage")
53
+ .option("--json", "Output as JSON")
54
+ .action((opts) => (0, status_1.runStatus)({ json: opts.json }));
55
+ program.command("add <mcp-id>").description("Add a single MCP to your configuration").action(add_1.runAdd);
56
+ program.command("remove <mcp-id>").description("Remove an MCP from your configuration").action(remove_1.runRemove);
57
+ program.command("update").description("Update configured MCPs to latest versions").action(update_1.runUpdate);
58
+ program.command("doctor").description("Diagnose configuration issues across all MCPs").action(doctor_1.runDoctor);
59
+ program
60
+ .command("list")
61
+ .description("List configured or available MCPs")
62
+ .option("--available", "Show all available MCPs in registry")
63
+ .option("--dev", "Filter to developer MCPs")
64
+ .option("--non-dev", "Filter to non-developer MCPs")
65
+ .option("--json", "Output as JSON")
66
+ .action((opts) => (0, list_1.runList)(opts));
67
+ program.command("reset").description("Remove all MCP configuration and credentials").action(reset_1.runReset);
68
+ program
69
+ .command("export")
70
+ .description("Export current config as shareable JSON")
71
+ .option("--output <file>", "Output file path", "mcp-kit-export.json")
72
+ .option("--no-redact", "Include real credential values")
73
+ .action((opts) => (0, export_1.runExport)({ output: opts.output, redact: opts.redact }));
74
+ program.command("import <file>").description("Import MCP config from exported JSON file").action(import_1.runImport);
75
+ program
76
+ .command("validate")
77
+ .description("Validate mcp.json against expected schema")
78
+ .option("--json", "Output result as JSON")
79
+ .action((opts) => (0, validate_1.runValidate)({ json: opts.json }));
80
+ const envCmd = program.command("env").description("Environment variable utilities");
81
+ envCmd
82
+ .command("check")
83
+ .description("Scan configured MCPs for missing required environment variables")
84
+ .option("--json", "Output as JSON")
85
+ .action((opts) => (0, env_check_1.runEnvCheck)({ json: opts.json }));
86
+ program.command("env-check").description("Alias for env check").option("--json").action((opts) => (0, env_check_1.runEnvCheck)({ json: opts.json }));
87
+ program
88
+ .command("enable <mcp-id>")
89
+ .description("Re-enable a previously disabled MCP server")
90
+ .action(toggle_1.runEnable);
91
+ program
92
+ .command("disable <mcp-id>")
93
+ .description("Disable an MCP without removing it from mcp.json")
94
+ .action(toggle_1.runDisable);
95
+ program
96
+ .command("info <mcp-id>")
97
+ .description("Show detailed information about an MCP from the registry")
98
+ .option("--json", "Output as JSON")
99
+ .action((mcpId, opts) => (0, info_1.runInfo)(mcpId, { json: opts.json }));
100
+ program.command("open").description("Open detected mcp.json in default editor").action(open_1.runOpen);
101
+ program
102
+ .command("backup")
103
+ .description("Create a timestamped backup of mcp.json")
104
+ .option("--output <file>", "Custom output path for the backup file")
105
+ .action((opts) => (0, backup_1.runBackup)({ output: opts.output }));
106
+ program
107
+ .command("search <query>")
108
+ .description("Search for MCPs in the registry by name, category or keyword")
109
+ .option("--json", "Output as JSON")
110
+ .action((query, opts) => (0, search_1.runSearch)(query, { json: opts.json }));
111
+ program
112
+ .command("completion [shell]")
113
+ .description("Print shell completion script (bash/zsh)")
114
+ .addHelpText("after", "\nUsage:\n eval \"$(mcp-kit completion zsh)\"")
115
+ .action((shell) => (0, completion_1.runCompletion)(shell ?? "zsh"));
116
+ process.on("uncaughtException", (err) => {
117
+ logger_1.log.error(`Unexpected error: ${err.message}`);
118
+ logger_1.log.muted("Run with DEBUG=1 for full stack trace");
119
+ if (process.env.DEBUG) {
120
+ console.error(err.stack);
121
+ }
122
+ process.exit(1);
123
+ });
124
+ process.on("SIGINT", () => {
125
+ console.log(`\n${chalk_1.default.yellow("⚠️ Interrupted. No changes were saved.")}`);
126
+ process.exit(0);
127
+ });
128
+ process.on("unhandledRejection", (reason) => {
129
+ const message = reason instanceof Error
130
+ ? reason.message
131
+ : typeof reason === "string"
132
+ ? reason
133
+ : JSON.stringify(reason);
134
+ logger_1.log.error(`Unhandled promise rejection: ${message}`);
135
+ if (process.env.DEBUG) {
136
+ console.error(reason);
137
+ }
138
+ process.exit(1);
139
+ });
140
+ program.parse(process.argv);
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * postinstall.ts
4
+ *
5
+ * Runs automatically after `npm install -g @global-packages/mcp-kit`.
6
+ * Prints the MCP-KIT welcome banner with a quick-start command table.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=postinstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * postinstall.ts
5
+ *
6
+ * Runs automatically after `npm install -g @global-packages/mcp-kit`.
7
+ * Prints the MCP-KIT welcome banner with a quick-start command table.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const boxen_1 = __importDefault(require("boxen"));
15
+ const table_1 = require("table");
16
+ const ASCII = `
17
+ ███╗ ███╗ ██████╗██████╗ ██╗ ██╗██╗████████╗
18
+ ████╗ ████║██╔════╝██╔══██╗ ██║ ██╔╝██║╚══██╔══╝
19
+ ██╔████╔██║██║ ██████╔╝█████╗█████╔╝ ██║ ██║
20
+ ██║╚██╔╝██║██║ ██╔═══╝ ╚════╝██╔═██╗ ██║ ██║
21
+ ██║ ╚═╝ ██║╚██████╗██║ ██║ ██╗██║ ██║
22
+ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
23
+ `;
24
+ const COMMANDS = [
25
+ ["mcp-kit init --dev", "Interactive setup for development MCPs (filesystem, git, playwright...)"],
26
+ ["mcp-kit init --non-dev", "Interactive setup for shared/team MCPs (azure, confluence, slack...)"],
27
+ ["mcp-kit install", "Pre-download MCP packages (recommended in restricted networks)"],
28
+ ["mcp-kit list", "Show configured MCPs and availability"],
29
+ ["mcp-kit status", "Show MCP versions and config health summary"],
30
+ ["mcp-kit add <id>", "Add one MCP server by ID (e.g. mcp-kit add azure)"],
31
+ ["mcp-kit remove <id>", "Remove a configured MCP server"],
32
+ ["mcp-kit update", "Refresh command args to latest package tags"],
33
+ ["mcp-kit doctor", "Diagnose env/version/path/credential issues"],
34
+ ["mcp-kit export", "Export current setup as shareable JSON"],
35
+ ["mcp-kit import <file>", "Import shared setup (prompts for redacted secrets)"],
36
+ ["mcp-kit reset", "Remove all configured MCPs and start fresh"]
37
+ ];
38
+ function render() {
39
+ if (process.env.CI || process.env.MCP_KIT_POSTINSTALL_SILENT === "1") {
40
+ console.log("✅ @global-packages/mcp-kit installed. Run: mcp-kit init --dev");
41
+ return;
42
+ }
43
+ console.log(`\n${chalk_1.default.bold.magentaBright(ASCII)}`);
44
+ const topLine = (0, boxen_1.default)(`${chalk_1.default.bold.whiteBright("Universal MCP Configuration CLI")}\n${chalk_1.default.gray("Auto-detect | Configure | Manage MCP servers - Windows | macOS | Linux")}`, {
45
+ padding: { top: 0, bottom: 0, left: 2, right: 2 },
46
+ margin: { top: 0, bottom: 1, left: 2, right: 0 },
47
+ borderColor: "magenta",
48
+ borderStyle: "round",
49
+ textAlignment: "center"
50
+ });
51
+ console.log(topLine);
52
+ console.log(chalk_1.default.bold.yellowBright(" Quickstart commands\n"));
53
+ const tableData = [
54
+ [chalk_1.default.bold.cyanBright("Command"), chalk_1.default.bold.cyanBright("Description")],
55
+ ...COMMANDS.map(([cmd, desc]) => [chalk_1.default.cyan(cmd), chalk_1.default.white(desc)])
56
+ ];
57
+ const output = (0, table_1.table)(tableData, {
58
+ border: {
59
+ topBody: chalk_1.default.gray("─"),
60
+ topJoin: chalk_1.default.gray("┬"),
61
+ topLeft: chalk_1.default.gray("┌"),
62
+ topRight: chalk_1.default.gray("┐"),
63
+ bottomBody: chalk_1.default.gray("─"),
64
+ bottomJoin: chalk_1.default.gray("┴"),
65
+ bottomLeft: chalk_1.default.gray("└"),
66
+ bottomRight: chalk_1.default.gray("┘"),
67
+ bodyLeft: chalk_1.default.gray("│"),
68
+ bodyRight: chalk_1.default.gray("│"),
69
+ bodyJoin: chalk_1.default.gray("│"),
70
+ joinBody: chalk_1.default.gray("─"),
71
+ joinLeft: chalk_1.default.gray("├"),
72
+ joinRight: chalk_1.default.gray("┤"),
73
+ joinJoin: chalk_1.default.gray("┼")
74
+ },
75
+ columns: {
76
+ 0: { width: 32, paddingLeft: 1, paddingRight: 1 },
77
+ 1: { width: 58, paddingLeft: 1, paddingRight: 1, wrapWord: true }
78
+ },
79
+ drawHorizontalLine: (lineIndex, rowCount) => lineIndex === 0 || lineIndex === 1 || lineIndex === rowCount
80
+ });
81
+ const indented = output
82
+ .split("\n")
83
+ .map((line) => ` ${line}`)
84
+ .join("\n");
85
+ console.log(indented);
86
+ console.log((0, boxen_1.default)(`${chalk_1.default.bold.greenBright("✅ Get started:")} ${chalk_1.default.whiteBright("mcp-kit init --dev")}\n${chalk_1.default.gray("or")} ${chalk_1.default.whiteBright("mcp-kit install")}\n${chalk_1.default.underline.blue("https://github.com/global-packages/mcp-kit")}`, {
87
+ padding: { top: 0, bottom: 0, left: 1, right: 1 },
88
+ margin: { top: 0, bottom: 1, left: 2, right: 0 },
89
+ borderColor: "green",
90
+ borderStyle: "double",
91
+ textAlignment: "center"
92
+ }));
93
+ }
94
+ try {
95
+ render();
96
+ }
97
+ catch {
98
+ // Never fail npm install because of postinstall formatting.
99
+ }
100
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CredentialStorage, McpDefinition } from "../types";
2
+ export declare function collectDevAnswers(mcps: McpDefinition[], _storage: CredentialStorage): Promise<Map<string, Record<string, string>>>;
3
+ //# sourceMappingURL=dev-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/dev-prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,aAAa,EAAE,EACrB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAsC9C"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.collectDevAnswers = collectDevAnswers;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const inquirer_1 = __importDefault(require("inquirer"));
9
+ async function collectDevAnswers(mcps, _storage) {
10
+ const allAnswers = new Map();
11
+ for (const mcp of mcps) {
12
+ console.log(chalk_1.default.bold.cyan(`\n⚙️ Setting up: ${mcp.name}`));
13
+ console.log(chalk_1.default.gray(mcp.description));
14
+ if (mcp.envVars.length === 0) {
15
+ console.log(chalk_1.default.green("✅ No configuration needed"));
16
+ allAnswers.set(mcp.id, {});
17
+ continue;
18
+ }
19
+ const mcpAnswers = {};
20
+ for (const envVar of mcp.envVars) {
21
+ if (envVar.hint) {
22
+ console.log(chalk_1.default.gray(` ℹ ${envVar.hint}`));
23
+ }
24
+ const response = await inquirer_1.default.prompt([
25
+ {
26
+ type: envVar.secret ? "password" : "input",
27
+ name: "value",
28
+ message: envVar.label + (envVar.required ? " *" : " (optional)"),
29
+ default: envVar.defaultValue || "",
30
+ mask: envVar.secret ? "*" : undefined,
31
+ validate: (input) => !envVar.required || input.length > 0 || "This field is required"
32
+ }
33
+ ]);
34
+ mcpAnswers[envVar.key] = response.value;
35
+ }
36
+ allAnswers.set(mcp.id, mcpAnswers);
37
+ }
38
+ return allAnswers;
39
+ }
40
+ //# sourceMappingURL=dev-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-prompts.js","sourceRoot":"","sources":["../../src/prompts/dev-prompts.ts"],"names":[],"mappings":";;;;;AAIA,8CAyCC;AA7CD,kDAA0B;AAC1B,wDAAgC;AAGzB,KAAK,UAAU,iBAAiB,CACrC,IAAqB,EACrB,QAA2B;IAE3B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACtD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAoB;gBACxD;oBACE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;oBAC1C,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;oBAChE,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;oBAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;oBACrC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,wBAAwB;iBAC9F;aACF,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1C,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CredentialStorage, McpDefinition } from "../types";
2
+ export declare function collectNonDevAnswers(mcps: McpDefinition[], _storage: CredentialStorage): Promise<Map<string, Record<string, string>>>;
3
+ //# sourceMappingURL=non-dev-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-dev-prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/non-dev-prompts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EAAE,EACrB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAyC9C"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.collectNonDevAnswers = collectNonDevAnswers;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const inquirer_1 = __importDefault(require("inquirer"));
9
+ const constants_1 = require("../constants");
10
+ async function collectNonDevAnswers(mcps, _storage) {
11
+ console.log(chalk_1.default.yellow("ℹ Ask your IT/DevOps team for these values if unsure"));
12
+ const allAnswers = new Map();
13
+ const allowed = new Set(constants_1.NON_DEV_MCP_IDS);
14
+ for (const mcp of mcps.filter((item) => allowed.has(item.id))) {
15
+ console.log(chalk_1.default.bold.cyan(`\n⚙️ Setting up: ${mcp.name}`));
16
+ console.log(chalk_1.default.gray(mcp.description));
17
+ if (mcp.envVars.length === 0) {
18
+ console.log(chalk_1.default.green("✅ No configuration needed"));
19
+ allAnswers.set(mcp.id, {});
20
+ continue;
21
+ }
22
+ const mcpAnswers = {};
23
+ for (const envVar of mcp.envVars) {
24
+ if (envVar.hint) {
25
+ console.log(chalk_1.default.gray(` ℹ ${envVar.hint}`));
26
+ }
27
+ const response = await inquirer_1.default.prompt([
28
+ {
29
+ type: envVar.secret ? "password" : "input",
30
+ name: "value",
31
+ message: `${envVar.label} (ask your IT admin)` + (envVar.required ? " *" : " (optional)"),
32
+ default: envVar.defaultValue || "",
33
+ mask: envVar.secret ? "*" : undefined,
34
+ validate: (input) => !envVar.required || input.length > 0 || "This field is required"
35
+ }
36
+ ]);
37
+ mcpAnswers[envVar.key] = response.value;
38
+ }
39
+ allAnswers.set(mcp.id, mcpAnswers);
40
+ }
41
+ return allAnswers;
42
+ }
43
+ //# sourceMappingURL=non-dev-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-dev-prompts.js","sourceRoot":"","sources":["../../src/prompts/non-dev-prompts.ts"],"names":[],"mappings":";;;;;AAKA,oDA4CC;AAjDD,kDAA0B;AAC1B,wDAAgC;AAChC,4CAA+C;AAGxC,KAAK,UAAU,oBAAoB,CACxC,IAAqB,EACrB,QAA2B;IAE3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,2BAAe,CAAC,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACtD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAoB;gBACxD;oBACE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;oBAC1C,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;oBACzF,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;oBAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;oBACrC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,wBAAwB;iBAC9F;aACF,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1C,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { CredentialStorage, McpDefinition } from "../types";
2
+ export declare function askCredentialStorage(): Promise<CredentialStorage>;
3
+ export declare function askMcpSelection(mcps: McpDefinition[], alreadyInstalled: string[]): Promise<string[]>;
4
+ export declare function askConfirm(message: string): Promise<boolean>;
5
+ //# sourceMappingURL=shared-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/shared-prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5D,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAwBvE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe1G;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUlE"}