mcpize 1.0.19 → 1.0.21

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.
@@ -35,7 +35,7 @@ export async function createTunnel(port, providerType) {
35
35
  }
36
36
  // Default: use localtunnel
37
37
  console.log(chalk.yellow("⚠ Using localtunnel (may be unstable occasionally)"));
38
- console.log(chalk.gray(" For better reliability, consider ngrok: NGROK_AUTHTOKEN=xxx mcpize dev --tunnel --provider=ngrok\n"));
38
+ console.log(chalk.gray(" For better reliability: NGROK_AUTHTOKEN=xxx mcpize dev --tunnel --provider=ngrok\n"));
39
39
  return localtunnelProvider.connect(port);
40
40
  }
41
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE;;GAEG;AACH,MAAM,SAAS,GAA+C;IAC5D,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,YAAiC;IAEjC,iCAAiC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,IAAI;gBAC1C,wBAAwB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,oBAAoB,YAAY,uBAAuB;gBACrD,eAAe,CAAC,YAAY,CAAC,CAChC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,uGAAuG,CACxG,CACF,CAAC;IAEF,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,YAAgC;IACvD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,CACL,6CAA6C;gBAC7C,2EAA2E,CAC5E,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,CACL,4BAA4B;gBAC5B,qCAAqC;gBACrC,kDAAkD,CACnD,CAAC;QACJ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE;;GAEG;AACH,MAAM,SAAS,GAA+C;IAC5D,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,YAAiC;IAEjC,iCAAiC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,IAAI;gBAC1C,wBAAwB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,oBAAoB,YAAY,uBAAuB;gBACrD,eAAe,CAAC,YAAY,CAAC,CAChC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,uFAAuF,CACxF,CACF,CAAC;IAEF,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,YAAgC;IACvD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,CACL,6CAA6C;gBAC7C,2EAA2E,CAC5E,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,CACL,4BAA4B;gBAC5B,qCAAqC;gBACrC,kDAAkD,CACnD,CAAC;QACJ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,11 +1,16 @@
1
1
  import type { TunnelProvider } from "../types.js";
2
2
  /**
3
- * ngrok provider - reliable, paid tunneling service
3
+ * ngrok provider - reliable tunneling service (official SDK)
4
4
  *
5
5
  * Requires NGROK_AUTHTOKEN environment variable.
6
- * Get token at: https://dashboard.ngrok.com/get-started/your-authtoken
6
+ * Get free token at: https://dashboard.ngrok.com/get-started/your-authtoken
7
7
  *
8
- * @see https://ngrok.com/docs
8
+ * Features:
9
+ * - Pure JS, no binary download
10
+ * - Stable URLs during session
11
+ * - Better reliability than localtunnel
12
+ *
13
+ * @see https://ngrok.com/docs/getting-started/javascript
9
14
  */
10
15
  export declare const ngrokProvider: TunnelProvider;
11
16
  //# sourceMappingURL=ngrok.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngrok.d.ts","sourceRoot":"","sources":["../../../src/tunnel/providers/ngrok.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,cAqB3B,CAAC"}
1
+ {"version":3,"file":"ngrok.d.ts","sourceRoot":"","sources":["../../../src/tunnel/providers/ngrok.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,cA8B3B,CAAC"}
@@ -1,26 +1,39 @@
1
1
  /**
2
- * ngrok provider - reliable, paid tunneling service
2
+ * ngrok provider - reliable tunneling service (official SDK)
3
3
  *
4
4
  * Requires NGROK_AUTHTOKEN environment variable.
5
- * Get token at: https://dashboard.ngrok.com/get-started/your-authtoken
5
+ * Get free token at: https://dashboard.ngrok.com/get-started/your-authtoken
6
6
  *
7
- * @see https://ngrok.com/docs
7
+ * Features:
8
+ * - Pure JS, no binary download
9
+ * - Stable URLs during session
10
+ * - Better reliability than localtunnel
11
+ *
12
+ * @see https://ngrok.com/docs/getting-started/javascript
8
13
  */
9
14
  export const ngrokProvider = {
10
15
  name: "ngrok",
11
16
  async isAvailable() {
12
17
  return !!process.env.NGROK_AUTHTOKEN;
13
18
  },
14
- async connect(_port) {
15
- // TODO: Implement when needed
16
- // const ngrok = await import('@ngrok/ngrok');
17
- // const url = await ngrok.connect({
18
- // addr: port,
19
- // authtoken: process.env.NGROK_AUTHTOKEN
20
- // });
21
- throw new Error("ngrok provider is not implemented yet.\n" +
22
- "For now, use the default localtunnel provider:\n" +
23
- " mcpize dev --tunnel");
19
+ async connect(port) {
20
+ // Dynamic import to avoid bundling if not used
21
+ const ngrok = await import("@ngrok/ngrok");
22
+ // Create tunnel with authtoken from environment
23
+ const listener = await ngrok.forward({
24
+ addr: port,
25
+ authtoken_from_env: true,
26
+ });
27
+ const url = listener.url();
28
+ if (!url) {
29
+ throw new Error("Failed to get ngrok tunnel URL");
30
+ }
31
+ return {
32
+ url,
33
+ close: async () => {
34
+ await ngrok.disconnect(url);
35
+ },
36
+ };
24
37
  },
25
38
  };
26
39
  //# sourceMappingURL=ngrok.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngrok.js","sourceRoot":"","sources":["../../../src/tunnel/providers/ngrok.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,OAAO;IAEb,KAAK,CAAC,WAAW;QACf,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,8BAA8B;QAC9B,8CAA8C;QAC9C,oCAAoC;QACpC,gBAAgB;QAChB,2CAA2C;QAC3C,MAAM;QAEN,MAAM,IAAI,KAAK,CACb,0CAA0C;YACxC,kDAAkD;YAClD,uBAAuB,CAC1B,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"ngrok.js","sourceRoot":"","sources":["../../../src/tunnel/providers/ngrok.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,OAAO;IAEb,KAAK,CAAC,WAAW;QACf,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,+CAA+C;QAC/C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAE3C,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,IAAI;YACV,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcpize",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "Deploy and monetize MCP servers in the cloud",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,6 +18,7 @@
18
18
  "commander": "^14.0.0",
19
19
  "dotenv": "^17.2.3",
20
20
  "enquirer": "^2.4.1",
21
+ "@ngrok/ngrok": "^1.4.1",
21
22
  "localtunnel": "^2.0.2",
22
23
  "open": "^11.0.0",
23
24
  "ora": "^9.0.0",