@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.
- package/README.md +97 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +89 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/backup.d.ts +6 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +35 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/completion.d.ts +2 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +84 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +148 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/env-check.d.ts +6 -0
- package/dist/commands/env-check.d.ts.map +1 -0
- package/dist/commands/env-check.js +53 -0
- package/dist/commands/env-check.js.map +1 -0
- package/dist/commands/export.d.ts +5 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +55 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +2 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +90 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/info.d.ts +6 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +92 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +118 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +2 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +69 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +6 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +55 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/open.d.ts +2 -0
- package/dist/commands/open.d.ts.map +1 -0
- package/dist/commands/open.js +32 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/remove.d.ts +2 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +57 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/reset.d.ts +2 -0
- package/dist/commands/reset.d.ts.map +1 -0
- package/dist/commands/reset.js +61 -0
- package/dist/commands/reset.js.map +1 -0
- package/dist/commands/search.d.ts +6 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +33 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/status.d.ts +6 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +92 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/toggle.d.ts +3 -0
- package/dist/commands/toggle.d.ts.map +1 -0
- package/dist/commands/toggle.js +59 -0
- package/dist/commands/toggle.js.map +1 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +80 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate.d.ts +6 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +77 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +356 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/credentials.d.ts +7 -0
- package/dist/core/credentials.d.ts.map +1 -0
- package/dist/core/credentials.js +144 -0
- package/dist/core/credentials.js.map +1 -0
- package/dist/core/detector.d.ts +8 -0
- package/dist/core/detector.d.ts.map +1 -0
- package/dist/core/detector.js +82 -0
- package/dist/core/detector.js.map +1 -0
- package/dist/core/registry.d.ts +7 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +40 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/validator.d.ts +6 -0
- package/dist/core/validator.d.ts.map +1 -0
- package/dist/core/validator.js +50 -0
- package/dist/core/validator.js.map +1 -0
- package/dist/core/writer.d.ts +7 -0
- package/dist/core/writer.d.ts.map +1 -0
- package/dist/core/writer.js +50 -0
- package/dist/core/writer.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +141 -0
- package/dist/index.js.map +1 -0
- package/dist/postinstall.d.ts +9 -0
- package/dist/postinstall.d.ts.map +1 -0
- package/dist/postinstall.js +100 -0
- package/dist/postinstall.js.map +1 -0
- package/dist/prompts/dev-prompts.d.ts +3 -0
- package/dist/prompts/dev-prompts.d.ts.map +1 -0
- package/dist/prompts/dev-prompts.js +40 -0
- package/dist/prompts/dev-prompts.js.map +1 -0
- package/dist/prompts/non-dev-prompts.d.ts +3 -0
- package/dist/prompts/non-dev-prompts.d.ts.map +1 -0
- package/dist/prompts/non-dev-prompts.js +43 -0
- package/dist/prompts/non-dev-prompts.js.map +1 -0
- package/dist/prompts/shared-prompts.d.ts +5 -0
- package/dist/prompts/shared-prompts.d.ts.map +1 -0
- package/dist/prompts/shared-prompts.js +59 -0
- package/dist/prompts/shared-prompts.js.map +1 -0
- package/dist/types.d.ts +79 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/fs.d.ts +5 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +30 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +35 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/network.d.ts +2 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +17 -0
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/spinner.d.ts +7 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/spinner.js +24 -0
- package/dist/utils/spinner.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAUA,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C5D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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.runRemove = runRemove;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const credentials_1 = require("../core/credentials");
|
|
10
|
+
const detector_1 = require("../core/detector");
|
|
11
|
+
const registry_1 = require("../core/registry");
|
|
12
|
+
const writer_1 = require("../core/writer");
|
|
13
|
+
const shared_prompts_1 = require("../prompts/shared-prompts");
|
|
14
|
+
const logger_1 = require("../utils/logger");
|
|
15
|
+
async function runRemove(mcpId) {
|
|
16
|
+
try {
|
|
17
|
+
const mcp = (0, registry_1.getMcpById)(mcpId);
|
|
18
|
+
const detected = await (0, detector_1.detectVsCodePath)();
|
|
19
|
+
const config = await (0, writer_1.readMcpJson)(detected.mcpJsonPath);
|
|
20
|
+
if (!config.servers[mcpId]) {
|
|
21
|
+
logger_1.log.error(`MCP ${mcpId} is not configured`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const confirmed = await (0, shared_prompts_1.askConfirm)(`Remove ${mcp?.name || mcpId} from mcp.json?`);
|
|
25
|
+
if (!confirmed) {
|
|
26
|
+
logger_1.log.info("Aborted");
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}
|
|
29
|
+
await (0, writer_1.removeServerFromMcpJson)(detected.mcpJsonPath, mcpId);
|
|
30
|
+
const deleteStored = await (0, shared_prompts_1.askConfirm)("Also delete stored credentials from keychain/.env?");
|
|
31
|
+
if (deleteStored && mcp) {
|
|
32
|
+
const meta = (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH)) ? await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH) : null;
|
|
33
|
+
const storage = (meta?.credentialStorage || "keychain");
|
|
34
|
+
for (const envVar of mcp.envVars) {
|
|
35
|
+
await (0, credentials_1.deleteCredential)(envVar.key, storage);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH)) {
|
|
39
|
+
const meta = await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH);
|
|
40
|
+
meta.lastUpdated = new Date().toISOString();
|
|
41
|
+
meta.installedMcps = (meta.installedMcps || []).filter((id) => id !== mcpId);
|
|
42
|
+
await fs_extra_1.default.writeJSON(constants_1.MCP_KIT_META_PATH, meta, { spaces: 2 });
|
|
43
|
+
}
|
|
44
|
+
logger_1.log.success(`Removed ${mcp?.name || mcpId}`);
|
|
45
|
+
process.exit(0);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
const message = err instanceof Error ? err.message : "Unknown error";
|
|
49
|
+
logger_1.log.error(`Remove failed: ${message}`);
|
|
50
|
+
logger_1.log.muted("Suggestion: verify mcp.json permissions and try again.");
|
|
51
|
+
if (process.env.DEBUG && err instanceof Error) {
|
|
52
|
+
console.error(err.stack);
|
|
53
|
+
}
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAWA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAmD9C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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.runReset = runReset;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const boxen_1 = __importDefault(require("boxen"));
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
const credentials_1 = require("../core/credentials");
|
|
12
|
+
const detector_1 = require("../core/detector");
|
|
13
|
+
const registry_1 = require("../core/registry");
|
|
14
|
+
const shared_prompts_1 = require("../prompts/shared-prompts");
|
|
15
|
+
const logger_1 = require("../utils/logger");
|
|
16
|
+
async function runReset() {
|
|
17
|
+
try {
|
|
18
|
+
console.log((0, boxen_1.default)(chalk_1.default.red("⚠️ RESET: This will delete mcp.json and all stored credentials"), {
|
|
19
|
+
padding: 1,
|
|
20
|
+
borderColor: "red"
|
|
21
|
+
}));
|
|
22
|
+
const sure = await (0, shared_prompts_1.askConfirm)("Are you absolutely sure? This cannot be undone.");
|
|
23
|
+
if (!sure) {
|
|
24
|
+
logger_1.log.info("Aborted. Nothing was changed.");
|
|
25
|
+
process.exit(0);
|
|
26
|
+
}
|
|
27
|
+
const deleteCreds = await (0, shared_prompts_1.askConfirm)("Also remove credentials from keychain/.env?");
|
|
28
|
+
const detected = await (0, detector_1.detectVsCodePath)();
|
|
29
|
+
if (await fs_extra_1.default.pathExists(detected.mcpJsonPath)) {
|
|
30
|
+
await fs_extra_1.default.remove(detected.mcpJsonPath);
|
|
31
|
+
}
|
|
32
|
+
if (deleteCreds && (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH))) {
|
|
33
|
+
const meta = await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH);
|
|
34
|
+
const storage = (meta.credentialStorage || "keychain");
|
|
35
|
+
for (const id of meta.installedMcps || []) {
|
|
36
|
+
const mcp = (0, registry_1.getMcpById)(id);
|
|
37
|
+
if (!mcp) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
for (const envVar of mcp.envVars) {
|
|
41
|
+
await (0, credentials_1.deleteCredential)(envVar.key, storage);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH)) {
|
|
46
|
+
await fs_extra_1.default.remove(constants_1.MCP_KIT_META_PATH);
|
|
47
|
+
}
|
|
48
|
+
logger_1.log.success("Reset complete. Run `mcp-kit init --dev` to start fresh.");
|
|
49
|
+
process.exit(0);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
const message = err instanceof Error ? err.message : "Unknown error";
|
|
53
|
+
logger_1.log.error(`Reset failed: ${message}`);
|
|
54
|
+
logger_1.log.muted("Suggestion: check file permissions and retry.");
|
|
55
|
+
if (process.env.DEBUG && err instanceof Error) {
|
|
56
|
+
console.error(err.stack);
|
|
57
|
+
}
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":";;;;;AAWA,4BAmDC;AA9DD,kDAA0B;AAC1B,wDAA0B;AAC1B,kDAA0B;AAC1B,4CAAiD;AACjD,qDAAuD;AACvD,+CAAoD;AACpD,+CAA8C;AAC9C,8DAAuD;AAEvD,4CAAsC;AAE/B,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CACT,IAAA,eAAK,EAAC,eAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,EAAE;YACjF,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,KAAK;SACnB,CAAC,CACH,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAU,EAAC,iDAAiD,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,YAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAU,EAAC,6CAA6C,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC;QAE1C,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,6BAAiB,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAAiB,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAsB,CAAC;YAC5E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAA,qBAAU,EAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,SAAS;gBACX,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,IAAA,8BAAgB,EAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,6BAAiB,CAAC,EAAE,CAAC;YAC3C,MAAM,kBAAE,CAAC,MAAM,CAAC,6BAAiB,CAAC,CAAC;QACrC,CAAC;QAED,YAAG,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,YAAG,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QACtC,YAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runSearch = runSearch;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const logger_1 = require("../utils/logger");
|
|
6
|
+
async function runSearch(query, options = {}) {
|
|
7
|
+
try {
|
|
8
|
+
const term = query.trim().toLowerCase();
|
|
9
|
+
if (!term) {
|
|
10
|
+
logger_1.log.error("Please provide a search query.");
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
const results = constants_1.MCP_REGISTRY.filter((mcp) => [mcp.id, mcp.name, mcp.description, mcp.category, mcp.npmPackage].join(" ").toLowerCase().includes(term));
|
|
14
|
+
if (options.json) {
|
|
15
|
+
console.log(JSON.stringify(results, null, 2));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (results.length === 0) {
|
|
19
|
+
logger_1.log.warn(`No MCPs matched "${query}"`);
|
|
20
|
+
process.exit(0);
|
|
21
|
+
}
|
|
22
|
+
(0, logger_1.printTable)(["ID", "Name", "Category", "Package", "Description"], results.map((mcp) => [mcp.id, mcp.name, mcp.category, mcp.npmPackage, mcp.description]));
|
|
23
|
+
process.exit(0);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
logger_1.log.error(`search failed: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
27
|
+
if (process.env.DEBUG && err instanceof Error) {
|
|
28
|
+
console.error(err.stack);
|
|
29
|
+
}
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":";;AAOA,8BAmCC;AA1CD,4CAA4C;AAC5C,4CAAkD;AAM3C,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,UAAyB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,YAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,wBAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzG,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,YAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,mBAAU,EACR,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,EACpD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CACxF,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAOD,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF1E"}
|
|
@@ -0,0 +1,92 @@
|
|
|
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.runStatus = runStatus;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const detector_1 = require("../core/detector");
|
|
10
|
+
const registry_1 = require("../core/registry");
|
|
11
|
+
const writer_1 = require("../core/writer");
|
|
12
|
+
const logger_1 = require("../utils/logger");
|
|
13
|
+
function extractCurrentVersion(args) {
|
|
14
|
+
const match = /@([\w.-]+)$/.exec(args.join(" "));
|
|
15
|
+
return match?.[1] || "latest";
|
|
16
|
+
}
|
|
17
|
+
async function runStatus(options = {}) {
|
|
18
|
+
try {
|
|
19
|
+
const detected = await (0, detector_1.detectVsCodePath)();
|
|
20
|
+
const config = await (0, writer_1.readMcpJson)(detected.mcpJsonPath);
|
|
21
|
+
const meta = (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH))
|
|
22
|
+
? await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH)
|
|
23
|
+
: { credentialStorage: "keychain", lastUpdated: "never" };
|
|
24
|
+
const entries = Object.entries(config.servers);
|
|
25
|
+
const latestVersions = await Promise.all(entries.map(async ([id]) => {
|
|
26
|
+
const mcp = (0, registry_1.getMcpById)(id);
|
|
27
|
+
if (!mcp) {
|
|
28
|
+
return "unknown";
|
|
29
|
+
}
|
|
30
|
+
return (0, registry_1.getLatestVersion)(mcp.npmPackage);
|
|
31
|
+
}));
|
|
32
|
+
const rows = entries.map(([id, server], index) => {
|
|
33
|
+
const mcp = (0, registry_1.getMcpById)(id);
|
|
34
|
+
const current = extractCurrentVersion(server.args);
|
|
35
|
+
const latest = latestVersions[index];
|
|
36
|
+
const upToDate = current === "latest" || current === latest;
|
|
37
|
+
return [
|
|
38
|
+
mcp?.name || id,
|
|
39
|
+
mcp?.category || "unknown",
|
|
40
|
+
mcp?.npmPackage || "unknown",
|
|
41
|
+
current,
|
|
42
|
+
latest,
|
|
43
|
+
upToDate ? "Yes" : "No",
|
|
44
|
+
meta.credentialStorage || "keychain",
|
|
45
|
+
];
|
|
46
|
+
});
|
|
47
|
+
if (options.json) {
|
|
48
|
+
const output = entries.map(([id, server], index) => {
|
|
49
|
+
const mcp = (0, registry_1.getMcpById)(id);
|
|
50
|
+
return {
|
|
51
|
+
id,
|
|
52
|
+
name: mcp?.name ?? id,
|
|
53
|
+
category: mcp?.category ?? "unknown",
|
|
54
|
+
package: mcp?.npmPackage ?? "unknown",
|
|
55
|
+
command: server.command,
|
|
56
|
+
args: server.args,
|
|
57
|
+
version: extractCurrentVersion(server.args),
|
|
58
|
+
latest: latestVersions[index],
|
|
59
|
+
disabled: Boolean(server.disabled),
|
|
60
|
+
credentialStorage: meta.credentialStorage || "keychain",
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
console.log(JSON.stringify(output, null, 2));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
(0, logger_1.printTable)([
|
|
67
|
+
"ID",
|
|
68
|
+
"Name",
|
|
69
|
+
"MCP Name",
|
|
70
|
+
"Category",
|
|
71
|
+
"Package",
|
|
72
|
+
"Version",
|
|
73
|
+
"Latest",
|
|
74
|
+
"Up-to-date",
|
|
75
|
+
"Credential Storage",
|
|
76
|
+
], rows);
|
|
77
|
+
logger_1.log.info(`Config path: ${detected.mcpJsonPath}`);
|
|
78
|
+
logger_1.log.info(`Last updated: ${meta.lastUpdated || "unknown"}`);
|
|
79
|
+
logger_1.log.info("Run `mcp-kit doctor` to diagnose any issues");
|
|
80
|
+
process.exit(0);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
const message = err instanceof Error ? err.message : "Unknown error";
|
|
84
|
+
logger_1.log.error(`Status failed: ${message}`);
|
|
85
|
+
logger_1.log.muted("Suggestion: ensure mcp.json is valid and readable.");
|
|
86
|
+
if (process.env.DEBUG && err instanceof Error) {
|
|
87
|
+
console.error(err.stack);
|
|
88
|
+
}
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/commands/toggle.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runEnable = runEnable;
|
|
4
|
+
exports.runDisable = runDisable;
|
|
5
|
+
const detector_1 = require("../core/detector");
|
|
6
|
+
const registry_1 = require("../core/registry");
|
|
7
|
+
const writer_1 = require("../core/writer");
|
|
8
|
+
const logger_1 = require("../utils/logger");
|
|
9
|
+
async function runEnable(mcpId) {
|
|
10
|
+
await setDisabled(mcpId, false);
|
|
11
|
+
}
|
|
12
|
+
async function runDisable(mcpId) {
|
|
13
|
+
await setDisabled(mcpId, true);
|
|
14
|
+
}
|
|
15
|
+
async function setDisabled(mcpId, disabled) {
|
|
16
|
+
const action = disabled ? "disable" : "enable";
|
|
17
|
+
try {
|
|
18
|
+
const vscodePaths = await (0, detector_1.detectVsCodePath)();
|
|
19
|
+
const config = await (0, writer_1.readMcpJson)(vscodePaths.mcpJsonPath);
|
|
20
|
+
if (!config.servers[mcpId]) {
|
|
21
|
+
logger_1.log.error(`'${mcpId}' is not configured. Run 'mcp-kit list' to see configured MCPs.`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const entry = config.servers[mcpId];
|
|
25
|
+
if (disabled && entry.disabled === true) {
|
|
26
|
+
logger_1.log.warn(`${mcpId} is already disabled.`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (!disabled && !entry.disabled) {
|
|
30
|
+
logger_1.log.warn(`${mcpId} is already enabled.`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (disabled) {
|
|
34
|
+
entry.disabled = true;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
delete entry.disabled;
|
|
38
|
+
}
|
|
39
|
+
config.servers[mcpId] = entry;
|
|
40
|
+
await (0, writer_1.writeMcpJson)(vscodePaths.mcpJsonPath, config);
|
|
41
|
+
const def = (0, registry_1.getMcpById)(mcpId);
|
|
42
|
+
const name = def?.name ?? mcpId;
|
|
43
|
+
if (disabled) {
|
|
44
|
+
logger_1.log.success(`${name} disabled. VS Code will ignore it until re-enabled.`);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
logger_1.log.success(`${name} enabled. Reload VS Code to apply (Cmd/Ctrl+Shift+P -> Reload Window).`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
52
|
+
logger_1.log.error(`Failed to ${action} ${mcpId}: ${message}`);
|
|
53
|
+
if (process.env.DEBUG) {
|
|
54
|
+
console.error(err);
|
|
55
|
+
}
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/commands/toggle.ts"],"names":[],"mappings":";;AAKA,8BAEC;AAED,gCAEC;AAXD,+CAAoD;AACpD,+CAA8C;AAC9C,2CAA2D;AAC3D,4CAAsC;AAE/B,KAAK,UAAU,SAAS,CAAC,KAAa;IAC3C,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAa;IAC5C,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,QAAiB;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,YAAG,CAAC,KAAK,CAAC,IAAI,KAAK,iEAAiE,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxC,YAAG,CAAC,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,YAAG,CAAC,IAAI,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9B,MAAM,IAAA,qBAAY,EAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,IAAA,qBAAU,EAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,YAAG,CAAC,OAAO,CAAC,GAAG,IAAI,qDAAqD,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,YAAG,CAAC,OAAO,CAAC,GAAG,IAAI,wEAAwE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,YAAG,CAAC,KAAK,CAAC,aAAa,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAaA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAwE/C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runUpdate = runUpdate;
|
|
4
|
+
const detector_1 = require("../core/detector");
|
|
5
|
+
const registry_1 = require("../core/registry");
|
|
6
|
+
const writer_1 = require("../core/writer");
|
|
7
|
+
const shared_prompts_1 = require("../prompts/shared-prompts");
|
|
8
|
+
const logger_1 = require("../utils/logger");
|
|
9
|
+
const spinner_1 = require("../utils/spinner");
|
|
10
|
+
function parseVersionFromArgs(args, npmPackage) {
|
|
11
|
+
const joined = args.join(" ");
|
|
12
|
+
const match = joined.match(new RegExp(`${npmPackage.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}@([^\s]+)`));
|
|
13
|
+
return match?.[1] || "latest";
|
|
14
|
+
}
|
|
15
|
+
async function runUpdate() {
|
|
16
|
+
try {
|
|
17
|
+
const detected = await (0, detector_1.detectVsCodePath)();
|
|
18
|
+
const config = await (0, writer_1.readMcpJson)(detected.mcpJsonPath);
|
|
19
|
+
const outdated = [];
|
|
20
|
+
const rows = [];
|
|
21
|
+
for (const [id, server] of Object.entries(config.servers)) {
|
|
22
|
+
const mcp = (0, registry_1.getMcpById)(id);
|
|
23
|
+
if (!mcp) {
|
|
24
|
+
rows.push([id, "unknown", "unknown", "⚠ Not in registry"]);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const current = parseVersionFromArgs(server.args, mcp.npmPackage);
|
|
28
|
+
const latest = await (0, registry_1.getLatestVersion)(mcp.npmPackage);
|
|
29
|
+
const needsUpdate = current !== "latest" && latest !== "unknown" && current !== latest;
|
|
30
|
+
rows.push([mcp.name, current, latest, needsUpdate ? "⬆ Update available" : "✅ Up to date"]);
|
|
31
|
+
if (needsUpdate) {
|
|
32
|
+
outdated.push(id);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
(0, logger_1.printTable)(["MCP", "Current", "Latest", "Action"], rows);
|
|
36
|
+
if (outdated.length === 0) {
|
|
37
|
+
logger_1.log.success("All configured MCPs are up to date.");
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
const confirm = await (0, shared_prompts_1.askConfirm)("Update all outdated MCPs?");
|
|
41
|
+
if (!confirm) {
|
|
42
|
+
logger_1.log.info("No updates were applied.");
|
|
43
|
+
process.exit(0);
|
|
44
|
+
}
|
|
45
|
+
let updated = 0;
|
|
46
|
+
for (const id of outdated) {
|
|
47
|
+
const mcp = (0, registry_1.getMcpById)(id);
|
|
48
|
+
if (!mcp) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const spinner = (0, spinner_1.startSpinner)(`Updating ${mcp.name}`);
|
|
52
|
+
try {
|
|
53
|
+
config.servers[id].args = mcp.args.map((arg) => {
|
|
54
|
+
if (arg.includes(mcp.npmPackage)) {
|
|
55
|
+
return `${mcp.npmPackage}@latest`;
|
|
56
|
+
}
|
|
57
|
+
return arg;
|
|
58
|
+
});
|
|
59
|
+
(0, spinner_1.succeedSpinner)(spinner, `Updated ${mcp.name}`);
|
|
60
|
+
updated += 1;
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
(0, spinner_1.failSpinner)(spinner, `Failed ${mcp.name}: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
await (0, writer_1.writeMcpJson)(detected.mcpJsonPath, config);
|
|
67
|
+
logger_1.log.success(`Updated ${updated} MCPs. Reload VS Code to apply.`);
|
|
68
|
+
process.exit(0);
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
const message = err instanceof Error ? err.message : "Unknown error";
|
|
72
|
+
logger_1.log.error(`Update failed: ${message}`);
|
|
73
|
+
logger_1.log.muted("Suggestion: run `mcp-kit status` to inspect versions manually.");
|
|
74
|
+
if (process.env.DEBUG && err instanceof Error) {
|
|
75
|
+
console.error(err.stack);
|
|
76
|
+
}
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE9E"}
|
|
@@ -0,0 +1,77 @@
|
|
|
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.runValidate = runValidate;
|
|
7
|
+
const detector_1 = require("../core/detector");
|
|
8
|
+
const validator_1 = require("../core/validator");
|
|
9
|
+
const fs_1 = require("../utils/fs");
|
|
10
|
+
const logger_1 = require("../utils/logger");
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
async function runValidate(options = {}) {
|
|
13
|
+
try {
|
|
14
|
+
const vscodePaths = await (0, detector_1.detectVsCodePath)();
|
|
15
|
+
const raw = await (0, fs_1.readJsonSafe)(vscodePaths.mcpJsonPath, null);
|
|
16
|
+
if (raw === null) {
|
|
17
|
+
if (options.json) {
|
|
18
|
+
console.log(JSON.stringify({ valid: false, path: vscodePaths.mcpJsonPath, error: "File is empty or missing" }));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
logger_1.log.error("Cannot read mcp.json: file is empty or missing.");
|
|
22
|
+
logger_1.log.info("Run `mcp-kit init --dev` to create a valid config.");
|
|
23
|
+
}
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
let validated;
|
|
27
|
+
let errors = [];
|
|
28
|
+
try {
|
|
29
|
+
validated = (0, validator_1.validateMcpJson)(raw);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
33
|
+
errors = message.split("\n");
|
|
34
|
+
}
|
|
35
|
+
if (options.json) {
|
|
36
|
+
console.log(JSON.stringify({
|
|
37
|
+
valid: errors.length === 0,
|
|
38
|
+
errors,
|
|
39
|
+
path: vscodePaths.mcpJsonPath,
|
|
40
|
+
serverCount: validated ? Object.keys(validated.servers).length : 0
|
|
41
|
+
}, null, 2));
|
|
42
|
+
if (errors.length > 0)
|
|
43
|
+
process.exit(1);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
logger_1.log.header("🔎 mcp.json validation");
|
|
47
|
+
logger_1.log.muted(`Path: ${vscodePaths.mcpJsonPath}`);
|
|
48
|
+
logger_1.log.blank();
|
|
49
|
+
if (errors.length > 0) {
|
|
50
|
+
logger_1.log.error("mcp.json is INVALID:");
|
|
51
|
+
for (const e of errors)
|
|
52
|
+
logger_1.log.error(` ${e}`);
|
|
53
|
+
logger_1.log.blank();
|
|
54
|
+
logger_1.log.info("Run `mcp-kit init --dev` to regenerate a valid config.");
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
const serverIds = Object.keys(validated.servers);
|
|
58
|
+
logger_1.log.success(`mcp.json is valid — ${serverIds.length} server(s) configured.`);
|
|
59
|
+
if (serverIds.length > 0) {
|
|
60
|
+
const rows = serverIds.map((id) => {
|
|
61
|
+
const entry = validated.servers[id];
|
|
62
|
+
const envCount = Object.keys(entry.env ?? {}).length;
|
|
63
|
+
return [id, entry.command, entry.args.length.toString(), envCount.toString(), chalk_1.default.green("✔ valid")];
|
|
64
|
+
});
|
|
65
|
+
logger_1.log.blank();
|
|
66
|
+
(0, logger_1.printTable)(["Server", "Command", "Args", "Env Vars", "Status"], rows);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
71
|
+
logger_1.log.error(`validate failed: ${message}`);
|
|
72
|
+
if (process.env.DEBUG)
|
|
73
|
+
console.error(err);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { McpDefinition } from "./types";
|
|
2
|
+
export declare const MCP_REGISTRY: McpDefinition[];
|
|
3
|
+
export declare const DEV_MCP_IDS: string[];
|
|
4
|
+
export declare const NON_DEV_MCP_IDS: string[];
|
|
5
|
+
export declare const MCP_KIT_META_PATH: string;
|
|
6
|
+
export declare const VSCODE_SEARCH_DEPTH = 5;
|
|
7
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE,aAAa,EA2UvC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,EAW/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,EAA+D,CAAC;AAEpG,eAAO,MAAM,iBAAiB,QAAmD,CAAC;AAElF,eAAO,MAAM,mBAAmB,IAAI,CAAC"}
|