@apify/mcpc 0.1.11-beta.2 → 0.1.11

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/CHANGELOG.md CHANGED
@@ -7,8 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+ - E2E tests now run under the Bun runtime (in addition to Node.js); use `./test/e2e/run.sh --runtime bun` or `npm run test:e2e:bun`
12
+
10
13
  ### Changed
11
- - OS keychain now falls back to `~/.mcpc/credentials.json` (mode 0600) when no keyring daemon is available (e.g. headless Linux servers, containers)
14
+ - `@napi-rs/keyring` native addon is now loaded lazily: `mcpc` starts and works normally even when `libsecret` (Linux) or the addon itself is missing; a one-time warning is emitted and credentials fall back to `~/.mcpc/credentials.json` (mode 0600)
12
15
 
13
16
  ## [0.1.10] - 2026-03-01
14
17
 
package/README.md CHANGED
@@ -47,6 +47,9 @@ After all, UNIX-compatible shell script is THE most universal coding language.
47
47
 
48
48
  ```bash
49
49
  npm install -g @apify/mcpc
50
+
51
+ # Or with Bun
52
+ bun install -g @apify/mcpc
50
53
  ```
51
54
 
52
55
  **Linux users:** `mcpc` uses the OS keychain for secure credential storage via the
@@ -1028,7 +1031,7 @@ Config files support environment variable substitution using `${VAR_NAME}` synta
1028
1031
  "secure-server": {
1029
1032
  "url": "https://mcp.apify.com",
1030
1033
  "headers": {
1031
- "Authorization": "Bearer ${API_TOKEN}",
1034
+ "Authorization": "Bearer ${APIFY_TOKEN}",
1032
1035
  "X-User-ID": "${USER_ID}"
1033
1036
  }
1034
1037
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/keychain.ts"],"names":[],"mappings":"AAkHA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAMtC;AAGD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAGD,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAMrC;AAGD,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAGD,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAM7C;AAGD,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxF;AAGD,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAGD,wBAAsB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1F"}
1
+ {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/keychain.ts"],"names":[],"mappings":"AAgJA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAMtC;AAGD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAGD,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAMrC;AAGD,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAGD,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAM7C;AAGD,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxF;AAGD,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAGD,wBAAsB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1F"}
@@ -1,4 +1,3 @@
1
- import { Entry } from '@napi-rs/keyring';
2
1
  import { readFile, writeFile } from 'fs/promises';
3
2
  import { join } from 'path';
4
3
  import { createLogger, getJsonMode } from '../logger.js';
@@ -35,13 +34,21 @@ async function fileDelete(account) {
35
34
  });
36
35
  }
37
36
  let keychainAvailable = null;
38
- function withKeychain(keychainOp, fallback) {
37
+ let _entryPromise = null;
38
+ function getEntry() {
39
+ if (_entryPromise === null) {
40
+ _entryPromise = import('@napi-rs/keyring').then((m) => m.Entry);
41
+ }
42
+ return _entryPromise;
43
+ }
44
+ async function withKeychain(keychainOp, fallback) {
39
45
  if (keychainAvailable === false)
40
46
  return fallback();
41
47
  try {
42
- const result = keychainOp();
48
+ const EntryClass = await getEntry();
49
+ const result = keychainOp(EntryClass);
43
50
  keychainAvailable = true;
44
- return Promise.resolve(result);
51
+ return result;
45
52
  }
46
53
  catch (error) {
47
54
  if (keychainAvailable === null && !getJsonMode()) {
@@ -54,15 +61,15 @@ function withKeychain(keychainOp, fallback) {
54
61
  }
55
62
  }
56
63
  function keychainSet(account, value) {
57
- return withKeychain(() => {
58
- new Entry(SERVICE_NAME, account).setPassword(value);
64
+ return withKeychain((EntryClass) => {
65
+ new EntryClass(SERVICE_NAME, account).setPassword(value);
59
66
  }, () => fileSet(account, value));
60
67
  }
61
68
  function keychainGet(account) {
62
- return withKeychain(() => new Entry(SERVICE_NAME, account).getPassword() ?? null, () => fileGet(account));
69
+ return withKeychain((EntryClass) => new EntryClass(SERVICE_NAME, account).getPassword() ?? null, () => fileGet(account));
63
70
  }
64
71
  function keychainDelete(account) {
65
- return withKeychain(() => new Entry(SERVICE_NAME, account).deletePassword(), () => fileDelete(account));
72
+ return withKeychain((EntryClass) => new EntryClass(SERVICE_NAME, account).deletePassword(), () => fileDelete(account));
66
73
  }
67
74
  async function keychainGetParsed(account, label) {
68
75
  const raw = await keychainGet(account);
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/lib/auth/keychain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/lib/auth/keychain.ts"],"names":[],"mappings":"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"}
package/docs/TODOs.md CHANGED
@@ -18,8 +18,6 @@
18
18
  - Use https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool for inspiration/compatibility?
19
19
  - Consider adding support for something like `mcp-cli @session/tool [args]` to make it easier to use
20
20
 
21
- - Add CI/CD unit testing for other Node versions, maybe proper release management?
22
- - Add GitHub packages?
23
21
 
24
22
  ## Later
25
23
 
@@ -34,7 +32,6 @@
34
32
  - nit: show also header / open auth statuses for HTTP servers?
35
33
  - ux: consider forking "alive" session state to "alive" and "diconnected", to indicate the remove server is not responding but bridge
36
34
  runs fine. We can use lastSeenAt + ping interval info for that, or status of last ping.
37
- - perf: make the libsecret dependency soft - only load it when using keychain, but skip for auth-less (AI sandbox) use
38
35
  - ux: Be even more forgiving with `args:=x`, when we know from tools/prompt schema the text is compatible with `x` even if the exact type is not -
39
36
  just re-type it dynamically to make it work.
40
37
  - nit: Cooler OAuth flow finish web page with CSS animation, add Apify example there, show mcpc info. E.g. next step - check Apify rather than close
@@ -48,12 +45,6 @@
48
45
 
49
46
  ## E2E test scenarios
50
47
 
51
- - On "npm run release", make the two skippable OAuth e2e tests mandatory
52
-
53
- - Test auth profiles work long-term and sessions too - basically when running some tests the
54
- next day they should use old saved auths and sessions.
55
- We could have some special dir for long-term testing...
56
-
57
48
 
58
49
  # Questions
59
50
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apify/mcpc",
3
- "version": "0.1.11-beta.2",
3
+ "version": "0.1.11",
4
4
  "description": "Universal command-line client for the Model Context Protocol (MCP).",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "build": "tsc",
33
33
  "build:watch": "tsc --watch",
34
34
  "build:readme": "./scripts/update-readme.sh",
35
- "test": "npm run build && npm run test:unit && ./test/e2e/run.sh --no-build --parallel 4",
35
+ "test": "npm run build && npm run test:unit && ./test/e2e/run.sh --no-build --parallel 4 && ./test/e2e/run.sh --no-build --runtime bun",
36
36
  "test:unit": "jest",
37
37
  "test:watch": "jest --watch",
38
38
  "test:coverage": "npm run test:coverage:unit && npm run test:coverage:e2e && npm run test:coverage:merge",
@@ -40,6 +40,7 @@
40
40
  "test:coverage:e2e": "./test/e2e/run.sh --coverage",
41
41
  "test:coverage:merge": "test/coverage/coverage-merge.sh",
42
42
  "test:e2e": "./test/e2e/run.sh --keep",
43
+ "test:e2e:bun": "./test/e2e/run.sh --no-build --runtime bun",
43
44
  "lint": "eslint src/**/*.ts && prettier --check \"src/**/*.ts\" \"test/**/*.ts\"",
44
45
  "lint:fix": "eslint src/**/*.ts --fix && prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
45
46
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",