@apify/mcpc 0.2.3 → 0.2.6

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 (94) hide show
  1. package/CHANGELOG.md +58 -2
  2. package/README.md +87 -35
  3. package/dist/bridge/index.js +63 -5
  4. package/dist/bridge/index.js.map +1 -1
  5. package/dist/cli/commands/auth.d.ts +1 -0
  6. package/dist/cli/commands/auth.d.ts.map +1 -1
  7. package/dist/cli/commands/auth.js +7 -0
  8. package/dist/cli/commands/auth.js.map +1 -1
  9. package/dist/cli/commands/clean.d.ts.map +1 -1
  10. package/dist/cli/commands/clean.js +13 -2
  11. package/dist/cli/commands/clean.js.map +1 -1
  12. package/dist/cli/commands/grep.d.ts +4 -0
  13. package/dist/cli/commands/grep.d.ts.map +1 -1
  14. package/dist/cli/commands/grep.js +121 -11
  15. package/dist/cli/commands/grep.js.map +1 -1
  16. package/dist/cli/commands/prompts.d.ts.map +1 -1
  17. package/dist/cli/commands/prompts.js +7 -26
  18. package/dist/cli/commands/prompts.js.map +1 -1
  19. package/dist/cli/commands/resources.d.ts.map +1 -1
  20. package/dist/cli/commands/resources.js +9 -3
  21. package/dist/cli/commands/resources.js.map +1 -1
  22. package/dist/cli/commands/sessions.d.ts +26 -2
  23. package/dist/cli/commands/sessions.d.ts.map +1 -1
  24. package/dist/cli/commands/sessions.js +191 -16
  25. package/dist/cli/commands/sessions.js.map +1 -1
  26. package/dist/cli/commands/tasks.d.ts +1 -0
  27. package/dist/cli/commands/tasks.d.ts.map +1 -1
  28. package/dist/cli/commands/tasks.js +11 -0
  29. package/dist/cli/commands/tasks.js.map +1 -1
  30. package/dist/cli/commands/tools.d.ts +6 -1
  31. package/dist/cli/commands/tools.d.ts.map +1 -1
  32. package/dist/cli/commands/tools.js +43 -15
  33. package/dist/cli/commands/tools.js.map +1 -1
  34. package/dist/cli/commands/x402.d.ts.map +1 -1
  35. package/dist/cli/commands/x402.js +6 -2
  36. package/dist/cli/commands/x402.js.map +1 -1
  37. package/dist/cli/index.js +308 -91
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/cli/output.d.ts +5 -0
  40. package/dist/cli/output.d.ts.map +1 -1
  41. package/dist/cli/output.js +103 -16
  42. package/dist/cli/output.js.map +1 -1
  43. package/dist/cli/parser.d.ts +4 -0
  44. package/dist/cli/parser.d.ts.map +1 -1
  45. package/dist/cli/parser.js +50 -16
  46. package/dist/cli/parser.js.map +1 -1
  47. package/dist/cli/shell.d.ts.map +1 -1
  48. package/dist/cli/shell.js +27 -4
  49. package/dist/cli/shell.js.map +1 -1
  50. package/dist/core/mcp-client.d.ts +1 -0
  51. package/dist/core/mcp-client.d.ts.map +1 -1
  52. package/dist/core/mcp-client.js +14 -0
  53. package/dist/core/mcp-client.js.map +1 -1
  54. package/dist/lib/auth/oauth-flow.d.ts +1 -0
  55. package/dist/lib/auth/oauth-flow.d.ts.map +1 -1
  56. package/dist/lib/auth/oauth-flow.js +60 -16
  57. package/dist/lib/auth/oauth-flow.js.map +1 -1
  58. package/dist/lib/auth/oauth-provider.d.ts +2 -0
  59. package/dist/lib/auth/oauth-provider.d.ts.map +1 -1
  60. package/dist/lib/auth/oauth-provider.js +4 -0
  61. package/dist/lib/auth/oauth-provider.js.map +1 -1
  62. package/dist/lib/bridge-client.d.ts +1 -0
  63. package/dist/lib/bridge-client.d.ts.map +1 -1
  64. package/dist/lib/bridge-client.js.map +1 -1
  65. package/dist/lib/bridge-manager.d.ts +4 -1
  66. package/dist/lib/bridge-manager.d.ts.map +1 -1
  67. package/dist/lib/bridge-manager.js +97 -27
  68. package/dist/lib/bridge-manager.js.map +1 -1
  69. package/dist/lib/cleanup.d.ts +5 -0
  70. package/dist/lib/cleanup.d.ts.map +1 -1
  71. package/dist/lib/cleanup.js +38 -1
  72. package/dist/lib/cleanup.js.map +1 -1
  73. package/dist/lib/config.d.ts.map +1 -1
  74. package/dist/lib/config.js +5 -1
  75. package/dist/lib/config.js.map +1 -1
  76. package/dist/lib/errors.d.ts.map +1 -1
  77. package/dist/lib/errors.js +15 -8
  78. package/dist/lib/errors.js.map +1 -1
  79. package/dist/lib/session-client.d.ts +1 -0
  80. package/dist/lib/session-client.d.ts.map +1 -1
  81. package/dist/lib/session-client.js +10 -4
  82. package/dist/lib/session-client.js.map +1 -1
  83. package/dist/lib/sessions.d.ts +1 -0
  84. package/dist/lib/sessions.d.ts.map +1 -1
  85. package/dist/lib/sessions.js +52 -4
  86. package/dist/lib/sessions.js.map +1 -1
  87. package/dist/lib/types.d.ts +5 -1
  88. package/dist/lib/types.d.ts.map +1 -1
  89. package/dist/lib/utils.d.ts +16 -3
  90. package/dist/lib/utils.d.ts.map +1 -1
  91. package/dist/lib/utils.js +125 -9
  92. package/dist/lib/utils.js.map +1 -1
  93. package/docs/TODOs.md +11 -0
  94. package/package.json +6 -6
package/dist/lib/utils.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { createHash } from 'crypto';
2
+ import { execFileSync } from 'child_process';
2
3
  import { homedir } from 'os';
3
4
  import { join, resolve, isAbsolute } from 'path';
4
5
  import { mkdir, access, constants } from 'fs/promises';
@@ -29,12 +30,13 @@ export function getSessionsFilePath() {
29
30
  export function getBridgesDir() {
30
31
  return join(getMcpcHome(), 'bridges');
31
32
  }
32
- export function getSocketPath(sessionName) {
33
+ export function getSocketPath(sessionName, pid) {
34
+ const suffix = `.${pid}`;
33
35
  if (process.platform === 'win32') {
34
36
  const homeHash = createHash('sha256').update(getMcpcHome()).digest('hex').slice(0, 8);
35
- return `\\\\.\\pipe\\mcpc-${homeHash}-${sessionName}`;
37
+ return `\\\\.\\pipe\\mcpc-${homeHash}-${sessionName}${suffix}`;
36
38
  }
37
- return join(getBridgesDir(), `${sessionName}.sock`);
39
+ return join(getBridgesDir(), `${sessionName}${suffix}.sock`);
38
40
  }
39
41
  export function getLogsDir() {
40
42
  return join(getMcpcHome(), 'logs');
@@ -45,9 +47,9 @@ export function getAuthProfilesFilePath() {
45
47
  export function getWalletsFilePath() {
46
48
  return join(getMcpcHome(), 'wallets.json');
47
49
  }
48
- export async function ensureDir(dirPath) {
50
+ export async function ensureDir(dirPath, mode = 0o700) {
49
51
  try {
50
- await mkdir(dirPath, { recursive: true });
52
+ await mkdir(dirPath, { recursive: true, mode });
51
53
  }
52
54
  catch (error) {
53
55
  if (error.code !== 'EEXIST') {
@@ -106,6 +108,44 @@ export function getServerHost(urlString) {
106
108
  export function isValidSessionName(name) {
107
109
  return /^@[a-zA-Z0-9_-]{1,64}$/.test(name);
108
110
  }
111
+ const COMMON_HOST_PREFIXES = ['mcp.', 'api.', 'www.'];
112
+ function sanitizeSessionName(raw) {
113
+ return raw
114
+ .toLowerCase()
115
+ .replace(/[^a-z0-9_-]/g, '-')
116
+ .replace(/-{2,}/g, '-')
117
+ .replace(/^-+|-+$/g, '')
118
+ .slice(0, 64);
119
+ }
120
+ export function generateSessionName(parsed) {
121
+ if (parsed.type === 'config') {
122
+ const name = sanitizeSessionName(parsed.entry);
123
+ return `@${name || 'session'}`;
124
+ }
125
+ const url = new URL(normalizeServerUrl(parsed.url));
126
+ let hostname = url.hostname.toLowerCase();
127
+ const isIpAddress = /^\d{1,3}(\.\d{1,3}){3}$/.test(hostname);
128
+ let name;
129
+ if (isIpAddress) {
130
+ name = hostname;
131
+ }
132
+ else {
133
+ for (const prefix of COMMON_HOST_PREFIXES) {
134
+ if (hostname.startsWith(prefix) && hostname.length > prefix.length) {
135
+ hostname = hostname.slice(prefix.length);
136
+ break;
137
+ }
138
+ }
139
+ const labels = hostname.split('.');
140
+ name = labels.length >= 2 ? (labels[0] ?? hostname) : hostname;
141
+ }
142
+ const port = url.port;
143
+ if (port) {
144
+ name += `-${port}`;
145
+ }
146
+ const sanitized = sanitizeSessionName(name);
147
+ return `@${sanitized || 'session'}`;
148
+ }
109
149
  export function isValidProfileName(name) {
110
150
  return /^[a-zA-Z0-9_-]{1,64}$/.test(name);
111
151
  }
@@ -158,6 +198,9 @@ export function truncate(str, maxLength) {
158
198
  return str.slice(0, maxLength - 3) + '...';
159
199
  }
160
200
  export function isProcessAlive(pid) {
201
+ if (process.platform === 'win32') {
202
+ return isProcessAliveTasklist(pid);
203
+ }
161
204
  try {
162
205
  process.kill(pid, 0);
163
206
  return true;
@@ -166,6 +209,38 @@ export function isProcessAlive(pid) {
166
209
  return false;
167
210
  }
168
211
  }
212
+ let _tasklistCache = null;
213
+ let _tasklistCacheTime = 0;
214
+ const TASKLIST_CACHE_TTL = 2000;
215
+ export function invalidateProcessAliveCache() {
216
+ _tasklistCache = null;
217
+ _tasklistCacheTime = 0;
218
+ }
219
+ function isProcessAliveTasklist(pid) {
220
+ const now = Date.now();
221
+ if (_tasklistCache && now - _tasklistCacheTime < TASKLIST_CACHE_TTL) {
222
+ return _tasklistCache.has(pid);
223
+ }
224
+ try {
225
+ const output = execFileSync('tasklist', ['/FO', 'CSV', '/NH'], {
226
+ encoding: 'utf-8',
227
+ stdio: ['pipe', 'pipe', 'pipe'],
228
+ timeout: 10000,
229
+ });
230
+ _tasklistCache = new Set();
231
+ for (const line of output.split('\n')) {
232
+ const match = /"(\d+)"/.exec(line);
233
+ if (match)
234
+ _tasklistCache.add(Number(match[1]));
235
+ }
236
+ _tasklistCacheTime = now;
237
+ return _tasklistCache.has(pid);
238
+ }
239
+ catch {
240
+ _tasklistCache = null;
241
+ return false;
242
+ }
243
+ }
169
244
  let requestIdCounter = 0;
170
245
  export function generateRequestId() {
171
246
  return `req_${Date.now()}_${++requestIdCounter}`;
@@ -180,13 +255,54 @@ export function redactHeaders(headers) {
180
255
  }
181
256
  return redacted;
182
257
  }
183
- export function isSessionExpiredError(errorMessage) {
258
+ export function isSessionExpiredError(errorMessage, options) {
184
259
  const msg = errorMessage.toLowerCase();
185
- return ((msg.includes('404') && !msg.includes('tool')) ||
186
- msg.includes('session expired') ||
260
+ if (msg.includes('session expired') ||
187
261
  /session(\s+id)?\s+\S+\s+not\s+found/.test(msg) ||
188
262
  msg.includes('session not found') ||
189
263
  msg.includes('invalid session') ||
190
- msg.includes('session is no longer valid'));
264
+ msg.includes('session is no longer valid')) {
265
+ return true;
266
+ }
267
+ if (msg.includes('404') && !msg.includes('tool')) {
268
+ if (msg.includes('session')) {
269
+ return true;
270
+ }
271
+ return options?.hadActiveSession === true;
272
+ }
273
+ return false;
274
+ }
275
+ export function isHttpRedirectError(errorMessage) {
276
+ const msg = errorMessage.toLowerCase();
277
+ return (msg.includes('redirect') ||
278
+ /30[1-8]/.test(msg) ||
279
+ msg.includes('moved permanently') ||
280
+ msg.includes('moved temporarily'));
281
+ }
282
+ export function enrichErrorMessage(errorMessage, serverUrl) {
283
+ const msg = errorMessage.toLowerCase();
284
+ const urlHint = serverUrl ? ` at ${serverUrl}` : '';
285
+ if (msg.includes('econnrefused') || msg.includes('connection refused')) {
286
+ return `Cannot reach server${urlHint}. Is the server running?\n Original error: ${errorMessage}`;
287
+ }
288
+ if (msg.includes('enotfound') || msg.includes('getaddrinfo')) {
289
+ return `Cannot resolve hostname${urlHint}. Check the server URL.\n Original error: ${errorMessage}`;
290
+ }
291
+ if (msg.includes('404')) {
292
+ return `Server returned 404 Not Found${urlHint}. Check the endpoint URL.\n Original error: ${errorMessage}`;
293
+ }
294
+ if (isHttpRedirectError(errorMessage)) {
295
+ return `Server returned a redirect${urlHint}. This doesn't look like an MCP endpoint.\n Original error: ${errorMessage}`;
296
+ }
297
+ if (msg.includes('timeout') || msg.includes('etimedout') || msg.includes('timed out')) {
298
+ return `Connection timed out${urlHint}. The server may be slow or unreachable.\n Original error: ${errorMessage}`;
299
+ }
300
+ if (msg.includes('ssl') ||
301
+ msg.includes('tls') ||
302
+ msg.includes('certificate') ||
303
+ msg.includes('cert')) {
304
+ return `TLS/SSL error${urlHint}. Check the server's certificate.\n Original error: ${errorMessage}`;
305
+ }
306
+ return errorMessage;
191
307
  }
192
308
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
package/docs/TODOs.md CHANGED
@@ -1,6 +1,9 @@
1
1
 
2
2
  # TODOs
3
3
 
4
+ - "mcpc help tools-call" - show more info how to pass args, including stdio pipe and JSON. Maybe add short examples.
5
+ Make "mcpc @apify grep --help" and "mcpc grep --help" more consistent with info what they print.
6
+ The former should provide the --json example.
4
7
 
5
8
  ## NEW
6
9
 
@@ -8,6 +11,10 @@
8
11
  - the README should show explain each command, show the full options from "mcpc help command" - perhaps this could be on start of the readme,
9
12
  with links to the more detailed sections below. In general the README deserves one iteration.
10
13
 
14
+ - grep - print some snippet of server instructions
15
+
16
+ - tools-call help should provide some info what the json output looks like, in human mode provide introduce the results (@apify/tool-xx succeeded
17
+ and returned:
11
18
 
12
19
 
13
20
  ## Bugs !
@@ -26,6 +33,8 @@
26
33
  - Make "mcpc connect mcp.apify.com" work without @session, and generate session name on best effort basis (e.g. use the main hostname without TLD
27
34
  + suffix)
28
35
 
36
+ - and finally, "mcpc connect" should connect to all server configs found - see https://www.withone.ai/docs/cli#mcp-server-installation
37
+
29
38
  - mcpc @apify tools-get fetch-actor-details => should print also "object" properties in human mode
30
39
 
31
40
  - mcpc @apify tools-call xxx --help / "mcpc @apify/xxx --help" should print tools-get + command info
@@ -35,6 +44,8 @@
35
44
  $ mcpc @github tools-call get_file_contents arg:="yes" # NOW
36
45
  $ mcpc @github/get_file_contents arg:="yes" # NEW
37
46
 
47
+ Reduce CLI errors:
48
+ Syntax errors: mcpc call linear_list_issues instead of mcpc @linear tools-call list_issues. Resolved after mcpc --help.
38
49
 
39
50
 
40
51
  ## Code mode
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apify/mcpc",
3
- "version": "0.2.3",
3
+ "version": "0.2.6",
4
4
  "description": "Universal command-line client for the Model Context Protocol (MCP).",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -15,15 +15,15 @@
15
15
  "author": "Jan Curn (@jancurn)",
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "git+https://github.com/apify/mcp-cli.git"
18
+ "url": "git+https://github.com/apify/mcpc.git"
19
19
  },
20
20
  "bugs": {
21
- "url": "https://github.com/apify/mcp-cli/issues"
21
+ "url": "https://github.com/apify/mcpc/issues"
22
22
  },
23
- "homepage": "https://github.com/apify/mcp-cli",
23
+ "homepage": "https://github.com/apify/mcpc",
24
24
  "bin": {
25
- "mcpc": "./bin/mcpc",
26
- "mcpc-bridge": "./bin/mcpc-bridge"
25
+ "mcpc": "bin/mcpc",
26
+ "mcpc-bridge": "bin/mcpc-bridge"
27
27
  },
28
28
  "engines": {
29
29
  "node": ">=20.0.0"