@getmcp/cli 0.1.5 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +144 -20
  2. package/dist/bin.d.ts +7 -5
  3. package/dist/bin.d.ts.map +1 -1
  4. package/dist/bin.js +88 -28
  5. package/dist/bin.js.map +1 -1
  6. package/dist/commands/add.d.ts +10 -1
  7. package/dist/commands/add.d.ts.map +1 -1
  8. package/dist/commands/add.js +208 -71
  9. package/dist/commands/add.js.map +1 -1
  10. package/dist/commands/check.d.ts +9 -0
  11. package/dist/commands/check.d.ts.map +1 -0
  12. package/dist/commands/check.js +76 -0
  13. package/dist/commands/check.js.map +1 -0
  14. package/dist/commands/find.d.ts +10 -0
  15. package/dist/commands/find.d.ts.map +1 -0
  16. package/dist/commands/find.js +83 -0
  17. package/dist/commands/find.js.map +1 -0
  18. package/dist/commands/init.d.ts +8 -0
  19. package/dist/commands/init.d.ts.map +1 -0
  20. package/dist/commands/init.js +257 -0
  21. package/dist/commands/init.js.map +1 -0
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +25 -27
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/commands/remove.d.ts +9 -1
  26. package/dist/commands/remove.d.ts.map +1 -1
  27. package/dist/commands/remove.js +83 -33
  28. package/dist/commands/remove.js.map +1 -1
  29. package/dist/commands/update.d.ts +14 -0
  30. package/dist/commands/update.d.ts.map +1 -0
  31. package/dist/commands/update.js +99 -0
  32. package/dist/commands/update.js.map +1 -0
  33. package/dist/config-file.d.ts.map +1 -1
  34. package/dist/config-file.js +6 -16
  35. package/dist/config-file.js.map +1 -1
  36. package/dist/detect.d.ts.map +1 -1
  37. package/dist/detect.js.map +1 -1
  38. package/dist/errors.d.ts +49 -0
  39. package/dist/errors.d.ts.map +1 -0
  40. package/dist/errors.js +84 -0
  41. package/dist/errors.js.map +1 -0
  42. package/dist/index.d.ts +8 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +8 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/lock.d.ts +49 -0
  47. package/dist/lock.d.ts.map +1 -0
  48. package/dist/lock.js +108 -0
  49. package/dist/lock.js.map +1 -0
  50. package/dist/preferences.d.ts.map +1 -1
  51. package/dist/preferences.js.map +1 -1
  52. package/dist/utils.d.ts +30 -0
  53. package/dist/utils.d.ts.map +1 -0
  54. package/dist/utils.js +101 -0
  55. package/dist/utils.js.map +1 -0
  56. package/package.json +39 -39
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAepD;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;CACjB,CAgDA;AAwBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE"}
package/dist/utils.js ADDED
@@ -0,0 +1,101 @@
1
+ /**
2
+ * CLI utility functions.
3
+ */
4
+ import * as os from "node:os";
5
+ import * as path from "node:path";
6
+ /**
7
+ * Shorten a file path for display by replacing the home directory with `~`
8
+ * and the current working directory with `.`.
9
+ */
10
+ export function shortenPath(filePath) {
11
+ const normalized = path.normalize(filePath);
12
+ const cwd = process.cwd();
13
+ const home = os.homedir();
14
+ // Replace CWD first (more specific), then HOME
15
+ if (normalized.startsWith(cwd + path.sep) || normalized === cwd) {
16
+ return "." + normalized.slice(cwd.length);
17
+ }
18
+ if (normalized.startsWith(home + path.sep) || normalized === home) {
19
+ return "~" + normalized.slice(home.length).replace(/\\/g, "/");
20
+ }
21
+ return normalized;
22
+ }
23
+ export function parseFlags(argv) {
24
+ const flags = {
25
+ yes: false,
26
+ apps: [],
27
+ allApps: false,
28
+ dryRun: false,
29
+ installed: false,
30
+ help: false,
31
+ version: false,
32
+ };
33
+ let command;
34
+ let serverId;
35
+ const positionals = [];
36
+ for (let i = 0; i < argv.length; i++) {
37
+ const arg = argv[i];
38
+ if (arg === "--yes" || arg === "-y") {
39
+ flags.yes = true;
40
+ }
41
+ else if (arg === "--app" && i + 1 < argv.length) {
42
+ i++;
43
+ flags.apps.push(argv[i]);
44
+ }
45
+ else if (arg.startsWith("--app=")) {
46
+ flags.apps.push(arg.slice("--app=".length));
47
+ }
48
+ else if (arg === "--all-apps") {
49
+ flags.allApps = true;
50
+ }
51
+ else if (arg === "--dry-run") {
52
+ flags.dryRun = true;
53
+ }
54
+ else if (arg === "--installed") {
55
+ flags.installed = true;
56
+ }
57
+ else if (arg.startsWith("--search=")) {
58
+ flags.search = arg.slice("--search=".length);
59
+ }
60
+ else if (arg.startsWith("--category=")) {
61
+ flags.category = arg.slice("--category=".length);
62
+ }
63
+ else if (arg === "--help" || arg === "-h") {
64
+ flags.help = true;
65
+ }
66
+ else if (arg === "--version" || arg === "-v") {
67
+ flags.version = true;
68
+ }
69
+ else if (!arg.startsWith("-")) {
70
+ positionals.push(arg);
71
+ }
72
+ }
73
+ command = positionals[0];
74
+ serverId = positionals[1];
75
+ return { command, serverId, flags };
76
+ }
77
+ /**
78
+ * Resolve command aliases to canonical command names.
79
+ */
80
+ const COMMAND_ALIASES = {
81
+ add: "add",
82
+ install: "add",
83
+ i: "add",
84
+ remove: "remove",
85
+ rm: "remove",
86
+ r: "remove",
87
+ uninstall: "remove",
88
+ list: "list",
89
+ ls: "list",
90
+ find: "find",
91
+ search: "find",
92
+ s: "find",
93
+ f: "find",
94
+ check: "check",
95
+ update: "update",
96
+ init: "init",
97
+ };
98
+ export function resolveAlias(command) {
99
+ return COMMAND_ALIASES[command];
100
+ }
101
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,70 +1,70 @@
1
1
  {
2
2
  "name": "@getmcp/cli",
3
- "version": "0.1.5",
3
+ "version": "0.3.1",
4
4
  "description": "CLI tool to install MCP servers into any AI application with one command",
5
- "type": "module",
6
- "bin": {
7
- "getmcp": "./dist/bin.js"
8
- },
9
- "main": "./dist/index.js",
10
- "types": "./dist/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/index.js"
15
- }
16
- },
17
- "files": [
18
- "dist",
19
- "README.md",
20
- "LICENSE"
21
- ],
22
- "scripts": {
23
- "build": "tsc",
24
- "lint": "tsc --noEmit",
25
- "prepublishOnly": "npm run build"
26
- },
27
5
  "keywords": [
28
- "mcp",
29
- "model-context-protocol",
30
- "cli",
31
- "installer",
6
+ "ai-tools",
32
7
  "claude-desktop",
33
- "cursor",
34
- "vscode",
35
- "windsurf",
8
+ "cli",
36
9
  "cline",
37
- "roo-code",
10
+ "cursor",
38
11
  "goose",
12
+ "installer",
13
+ "mcp",
14
+ "model-context-protocol",
39
15
  "opencode",
40
- "zed",
41
- "ai-tools"
16
+ "roo-code",
17
+ "vscode",
18
+ "windsurf",
19
+ "zed"
42
20
  ],
21
+ "homepage": "https://github.com/RodrigoTomeES/getmcp/tree/main/packages/cli#readme",
22
+ "bugs": {
23
+ "url": "https://github.com/RodrigoTomeES/getmcp/issues"
24
+ },
43
25
  "license": "MIT",
44
26
  "repository": {
45
27
  "type": "git",
46
28
  "url": "git+https://github.com/RodrigoTomeES/getmcp.git",
47
29
  "directory": "packages/cli"
48
30
  },
49
- "homepage": "https://github.com/RodrigoTomeES/getmcp/tree/main/packages/cli#readme",
50
- "bugs": {
51
- "url": "https://github.com/RodrigoTomeES/getmcp/issues"
31
+ "bin": {
32
+ "getmcp": "./dist/bin.js"
52
33
  },
53
- "engines": {
54
- "node": ">=22.0.0"
34
+ "files": [
35
+ "dist",
36
+ "README.md",
37
+ "LICENSE"
38
+ ],
39
+ "type": "module",
40
+ "main": "./dist/index.js",
41
+ "types": "./dist/index.d.ts",
42
+ "exports": {
43
+ ".": {
44
+ "types": "./dist/index.d.ts",
45
+ "import": "./dist/index.js"
46
+ }
55
47
  },
56
48
  "publishConfig": {
57
49
  "access": "public"
58
50
  },
51
+ "scripts": {
52
+ "build": "tsc",
53
+ "lint": "tsc --noEmit",
54
+ "prepublishOnly": "npm run build"
55
+ },
59
56
  "dependencies": {
57
+ "@clack/prompts": "^1.0.1",
60
58
  "@getmcp/core": "^0.1.0",
61
59
  "@getmcp/generators": "^0.1.0",
62
60
  "@getmcp/registry": "^0.1.0",
63
- "@inquirer/prompts": "^7.0.0",
64
61
  "smol-toml": "^1.6.0",
65
62
  "yaml": "^2.8.2"
66
63
  },
67
64
  "devDependencies": {
68
65
  "@types/node": "^24.0.0"
66
+ },
67
+ "engines": {
68
+ "node": ">=22.0.0"
69
69
  }
70
70
  }