mcpize 1.0.16 → 1.0.19
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 +44 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +26 -4
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/login.d.ts +7 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +349 -12
- package/dist/commands/login.js.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +17 -3
- package/dist/lib/auth.js.map +1 -1
- package/dist/tunnel/index.d.ts +11 -0
- package/dist/tunnel/index.d.ts.map +1 -0
- package/dist/tunnel/index.js +57 -0
- package/dist/tunnel/index.js.map +1 -0
- package/dist/tunnel/providers/cloudflared.d.ts +12 -0
- package/dist/tunnel/providers/cloudflared.d.ts.map +1 -0
- package/dist/tunnel/providers/cloudflared.js +28 -0
- package/dist/tunnel/providers/cloudflared.js.map +1 -0
- package/dist/tunnel/providers/localtunnel.d.ts +13 -0
- package/dist/tunnel/providers/localtunnel.d.ts.map +1 -0
- package/dist/tunnel/providers/localtunnel.js +48 -0
- package/dist/tunnel/providers/localtunnel.js.map +1 -0
- package/dist/tunnel/providers/ngrok.d.ts +11 -0
- package/dist/tunnel/providers/ngrok.d.ts.map +1 -0
- package/dist/tunnel/providers/ngrok.js +26 -0
- package/dist/tunnel/providers/ngrok.js.map +1 -0
- package/dist/tunnel/types.d.ts +25 -0
- package/dist/tunnel/types.d.ts.map +1 -0
- package/dist/tunnel/types.js +2 -0
- package/dist/tunnel/types.js.map +1 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -20,15 +20,34 @@ mcpize init my-server
|
|
|
20
20
|
# Deploy to the cloud
|
|
21
21
|
cd my-server
|
|
22
22
|
mcpize deploy
|
|
23
|
+
|
|
24
|
+
# Or analyze an existing project
|
|
25
|
+
cd existing-mcp-server
|
|
26
|
+
mcpize analyze
|
|
27
|
+
mcpize deploy
|
|
23
28
|
```
|
|
24
29
|
|
|
30
|
+
## Authentication
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Browser login (recommended) - opens mcpize.com
|
|
34
|
+
mcpize login
|
|
35
|
+
|
|
36
|
+
# Email/password login
|
|
37
|
+
mcpize login --email
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Browser login opens mcpize.com, you sign in with Google/GitHub/email, and the CLI receives your session automatically.
|
|
41
|
+
|
|
25
42
|
## Commands
|
|
26
43
|
|
|
27
44
|
| Command | Description |
|
|
28
45
|
|---------|-------------|
|
|
29
|
-
| `mcpize login` | Authenticate
|
|
46
|
+
| `mcpize login` | Authenticate via browser (recommended) |
|
|
47
|
+
| `mcpize login --email` | Authenticate with email/password |
|
|
30
48
|
| `mcpize logout` | Log out from MCPize |
|
|
31
49
|
| `mcpize init [name]` | Create a new MCP server project |
|
|
50
|
+
| `mcpize analyze` | Generate mcpize.yaml from existing project |
|
|
32
51
|
| `mcpize link` | Link current directory to an existing server |
|
|
33
52
|
| `mcpize deploy` | Deploy to MCPize Cloud |
|
|
34
53
|
| `mcpize status` | Show server status and deployments |
|
|
@@ -54,6 +73,30 @@ mcpize init my-api --template openapi --from-url https://api.example.com/openapi
|
|
|
54
73
|
mcpize init my-server --template python
|
|
55
74
|
```
|
|
56
75
|
|
|
76
|
+
## Analyze
|
|
77
|
+
|
|
78
|
+
Generate `mcpize.yaml` from an existing MCP server project:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Analyze current directory
|
|
82
|
+
mcpize analyze
|
|
83
|
+
|
|
84
|
+
# Preview without saving
|
|
85
|
+
mcpize analyze --dry-run
|
|
86
|
+
|
|
87
|
+
# Overwrite existing mcpize.yaml
|
|
88
|
+
mcpize analyze --force
|
|
89
|
+
|
|
90
|
+
# Skip confirmation prompt
|
|
91
|
+
mcpize analyze --yes
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The analyze command:
|
|
95
|
+
- Detects runtime (TypeScript, Python, Container)
|
|
96
|
+
- Extracts start command from package.json/Dockerfile
|
|
97
|
+
- Identifies required credentials from code
|
|
98
|
+
- Generates a ready-to-deploy manifest
|
|
99
|
+
|
|
57
100
|
## Secrets Management
|
|
58
101
|
|
|
59
102
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2MpC,eAAO,MAAM,UAAU,SAsJnB,CAAC"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -4,6 +4,7 @@ import { spawn } from "node:child_process";
|
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import { parse as parseYaml } from "yaml";
|
|
7
|
+
import { createTunnel, } from "../tunnel/index.js";
|
|
7
8
|
/**
|
|
8
9
|
* Detect runtime from project files
|
|
9
10
|
*/
|
|
@@ -155,6 +156,8 @@ export const devCommand = new Command("dev")
|
|
|
155
156
|
.option("-p, --port <port>", "Port to run on", "3000")
|
|
156
157
|
.option("--no-inspector", "Don't open MCP Inspector")
|
|
157
158
|
.option("--no-build", "Skip initial build step")
|
|
159
|
+
.option("-t, --tunnel", "Expose server via public tunnel URL")
|
|
160
|
+
.option("--provider <provider>", "Tunnel provider: localtunnel, ngrok, cloudflared")
|
|
158
161
|
.action(async (options) => {
|
|
159
162
|
const cwd = process.cwd();
|
|
160
163
|
const port = parseInt(options.port, 10);
|
|
@@ -218,8 +221,23 @@ export const devCommand = new Command("dev")
|
|
|
218
221
|
console.log(chalk.bold("\nStarting server...\n"));
|
|
219
222
|
console.log(` ${chalk.gray("Local:")} ${chalk.cyan(`http://localhost:${port}`)}`);
|
|
220
223
|
console.log(` ${chalk.gray("MCP:")} ${chalk.cyan(`http://localhost:${port}/mcp`)}`);
|
|
224
|
+
// 8. Setup tunnel if requested
|
|
225
|
+
let tunnel = null;
|
|
226
|
+
if (options.tunnel) {
|
|
227
|
+
try {
|
|
228
|
+
tunnel = await createTunnel(port, options.provider);
|
|
229
|
+
console.log(` ${chalk.gray("Public:")} ${chalk.green(tunnel.url)}`);
|
|
230
|
+
console.log(` ${chalk.gray("MCP:")} ${chalk.green(`${tunnel.url}/mcp`)}`);
|
|
231
|
+
console.log(chalk.gray("\n Use the public URL in Claude Desktop config"));
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
235
|
+
console.log(chalk.red(`\n✖ Failed to create tunnel: ${message}`));
|
|
236
|
+
console.log(chalk.gray(" Continuing without tunnel...\n"));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
221
239
|
console.log(chalk.gray(`\n Health check: MCP ping method`));
|
|
222
|
-
//
|
|
240
|
+
// 9. Open MCP Inspector
|
|
223
241
|
if (options.inspector) {
|
|
224
242
|
setTimeout(() => openInspector(port), 2000); // Wait for server to start
|
|
225
243
|
}
|
|
@@ -233,12 +251,16 @@ export const devCommand = new Command("dev")
|
|
|
233
251
|
env,
|
|
234
252
|
});
|
|
235
253
|
// Handle signals
|
|
236
|
-
const cleanup = () => {
|
|
254
|
+
const cleanup = async () => {
|
|
255
|
+
if (tunnel) {
|
|
256
|
+
console.log(chalk.gray("\nClosing tunnel..."));
|
|
257
|
+
await tunnel.close();
|
|
258
|
+
}
|
|
237
259
|
child.kill("SIGTERM");
|
|
238
260
|
process.exit(0);
|
|
239
261
|
};
|
|
240
|
-
process.on("SIGINT", cleanup);
|
|
241
|
-
process.on("SIGTERM", cleanup);
|
|
262
|
+
process.on("SIGINT", () => void cleanup());
|
|
263
|
+
process.on("SIGTERM", () => void cleanup());
|
|
242
264
|
child.on("close", (code) => {
|
|
243
265
|
if (code !== 0 && code !== null) {
|
|
244
266
|
console.log(chalk.red(`\n✖ Dev server exited with code ${code}`));
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/login.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA8bD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E"}
|
package/dist/commands/login.js
CHANGED
|
@@ -1,25 +1,342 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import Enquirer from "enquirer";
|
|
3
3
|
import ora from "ora";
|
|
4
|
+
import http from "node:http";
|
|
5
|
+
import crypto from "node:crypto";
|
|
6
|
+
import net from "node:net";
|
|
7
|
+
import open from "open";
|
|
4
8
|
import { setSession, clearSession, getSupabaseUrl, getSupabaseAnonKey, } from "../lib/config.js";
|
|
5
9
|
import { isAuthenticated } from "../lib/auth.js";
|
|
6
10
|
const { prompt } = Enquirer;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
// Web app URL for browser login
|
|
12
|
+
const WEB_APP_URL = process.env.MCPIZE_WEB_URL || "https://mcpize.com";
|
|
13
|
+
/**
|
|
14
|
+
* Check if a port is available
|
|
15
|
+
*/
|
|
16
|
+
async function isPortAvailable(port) {
|
|
17
|
+
return new Promise((resolve) => {
|
|
18
|
+
const server = net.createServer();
|
|
19
|
+
server.once("error", () => resolve(false));
|
|
20
|
+
server.once("listening", () => {
|
|
21
|
+
server.close();
|
|
22
|
+
resolve(true);
|
|
18
23
|
});
|
|
19
|
-
|
|
24
|
+
server.listen(port, "localhost");
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Find an available port in the given range
|
|
29
|
+
*/
|
|
30
|
+
async function findAvailablePort(start = 54321, end = 54340) {
|
|
31
|
+
for (let port = start; port <= end; port++) {
|
|
32
|
+
if (await isPortAvailable(port)) {
|
|
33
|
+
return port;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw new Error("No available ports for callback server");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Send success HTML response
|
|
40
|
+
*/
|
|
41
|
+
function sendSuccessResponse(res) {
|
|
42
|
+
res.writeHead(200, { "Content-Type": "text/html; charset=utf-8", "Connection": "close" });
|
|
43
|
+
res.end(`<!DOCTYPE html>
|
|
44
|
+
<html>
|
|
45
|
+
<head>
|
|
46
|
+
<title>You're in! | MCPize</title>
|
|
47
|
+
<link rel="icon" href="https://mcpize.com/favicon.ico">
|
|
48
|
+
<style>
|
|
49
|
+
* { box-sizing: border-box; }
|
|
50
|
+
body {
|
|
51
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
52
|
+
display: flex;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
align-items: center;
|
|
55
|
+
min-height: 100vh;
|
|
56
|
+
margin: 0;
|
|
57
|
+
background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%);
|
|
58
|
+
color: white;
|
|
59
|
+
}
|
|
60
|
+
.container {
|
|
61
|
+
text-align: center;
|
|
62
|
+
padding: 3rem 2rem;
|
|
63
|
+
max-width: 420px;
|
|
64
|
+
}
|
|
65
|
+
.icon {
|
|
66
|
+
width: 80px;
|
|
67
|
+
height: 80px;
|
|
68
|
+
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
|
|
69
|
+
border-radius: 50%;
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
margin: 0 auto 1.5rem;
|
|
74
|
+
font-size: 2.5rem;
|
|
75
|
+
box-shadow: 0 8px 32px rgba(139, 92, 246, 0.3);
|
|
76
|
+
}
|
|
77
|
+
h1 {
|
|
78
|
+
font-size: 1.75rem;
|
|
79
|
+
font-weight: 600;
|
|
80
|
+
margin: 0 0 0.5rem;
|
|
81
|
+
background: linear-gradient(135deg, #fff 0%, #a1a1aa 100%);
|
|
82
|
+
-webkit-background-clip: text;
|
|
83
|
+
-webkit-text-fill-color: transparent;
|
|
84
|
+
background-clip: text;
|
|
85
|
+
}
|
|
86
|
+
.subtitle {
|
|
87
|
+
color: #71717a;
|
|
88
|
+
font-size: 1rem;
|
|
89
|
+
margin: 0 0 2rem;
|
|
90
|
+
}
|
|
91
|
+
.card {
|
|
92
|
+
background: rgba(255, 255, 255, 0.05);
|
|
93
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
94
|
+
border-radius: 12px;
|
|
95
|
+
padding: 1.25rem;
|
|
96
|
+
text-align: left;
|
|
97
|
+
}
|
|
98
|
+
.card-title {
|
|
99
|
+
font-size: 0.75rem;
|
|
100
|
+
text-transform: uppercase;
|
|
101
|
+
letter-spacing: 0.05em;
|
|
102
|
+
color: #71717a;
|
|
103
|
+
margin: 0 0 0.75rem;
|
|
104
|
+
}
|
|
105
|
+
.command {
|
|
106
|
+
font-family: 'SF Mono', Monaco, 'Courier New', monospace;
|
|
107
|
+
font-size: 0.9rem;
|
|
108
|
+
color: #a78bfa;
|
|
109
|
+
background: rgba(139, 92, 246, 0.1);
|
|
110
|
+
padding: 0.5rem 0.75rem;
|
|
111
|
+
border-radius: 6px;
|
|
112
|
+
display: block;
|
|
113
|
+
margin-bottom: 0.5rem;
|
|
114
|
+
}
|
|
115
|
+
.command:last-child { margin-bottom: 0; }
|
|
116
|
+
.footer {
|
|
117
|
+
margin-top: 2rem;
|
|
118
|
+
color: #52525b;
|
|
119
|
+
font-size: 0.85rem;
|
|
120
|
+
}
|
|
121
|
+
.footer a {
|
|
122
|
+
color: #71717a;
|
|
123
|
+
text-decoration: none;
|
|
124
|
+
}
|
|
125
|
+
.footer a:hover { color: #a1a1aa; }
|
|
126
|
+
</style>
|
|
127
|
+
</head>
|
|
128
|
+
<body>
|
|
129
|
+
<div class="container">
|
|
130
|
+
<div class="icon">🚀</div>
|
|
131
|
+
<h1>You're in!</h1>
|
|
132
|
+
<p class="subtitle">Head back to your terminal — you're all set.</p>
|
|
133
|
+
|
|
134
|
+
<div class="card">
|
|
135
|
+
<p class="card-title">Next up</p>
|
|
136
|
+
<code class="command">cd your-project</code>
|
|
137
|
+
<code class="command">mcpize deploy</code>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
<p class="footer">
|
|
141
|
+
<a href="https://mcpize.com" target="_blank">mcpize.com</a>
|
|
142
|
+
</p>
|
|
143
|
+
</div>
|
|
144
|
+
</body>
|
|
145
|
+
</html>`);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Send error HTML response
|
|
149
|
+
*/
|
|
150
|
+
function sendErrorResponse(res, error) {
|
|
151
|
+
res.writeHead(400, { "Content-Type": "text/html; charset=utf-8", "Connection": "close" });
|
|
152
|
+
res.end(`<!DOCTYPE html>
|
|
153
|
+
<html>
|
|
154
|
+
<head>
|
|
155
|
+
<title>Oops | MCPize</title>
|
|
156
|
+
<link rel="icon" href="https://mcpize.com/favicon.ico">
|
|
157
|
+
<style>
|
|
158
|
+
* { box-sizing: border-box; }
|
|
159
|
+
body {
|
|
160
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
161
|
+
display: flex;
|
|
162
|
+
justify-content: center;
|
|
163
|
+
align-items: center;
|
|
164
|
+
min-height: 100vh;
|
|
165
|
+
margin: 0;
|
|
166
|
+
background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%);
|
|
167
|
+
color: white;
|
|
168
|
+
}
|
|
169
|
+
.container {
|
|
170
|
+
text-align: center;
|
|
171
|
+
padding: 3rem 2rem;
|
|
172
|
+
max-width: 420px;
|
|
173
|
+
}
|
|
174
|
+
.icon {
|
|
175
|
+
width: 80px;
|
|
176
|
+
height: 80px;
|
|
177
|
+
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
|
|
178
|
+
border-radius: 50%;
|
|
179
|
+
display: flex;
|
|
180
|
+
align-items: center;
|
|
181
|
+
justify-content: center;
|
|
182
|
+
margin: 0 auto 1.5rem;
|
|
183
|
+
font-size: 2.5rem;
|
|
184
|
+
box-shadow: 0 8px 32px rgba(239, 68, 68, 0.3);
|
|
185
|
+
}
|
|
186
|
+
h1 {
|
|
187
|
+
font-size: 1.75rem;
|
|
188
|
+
font-weight: 600;
|
|
189
|
+
margin: 0 0 0.5rem;
|
|
190
|
+
background: linear-gradient(135deg, #fff 0%, #a1a1aa 100%);
|
|
191
|
+
-webkit-background-clip: text;
|
|
192
|
+
-webkit-text-fill-color: transparent;
|
|
193
|
+
background-clip: text;
|
|
194
|
+
}
|
|
195
|
+
.subtitle {
|
|
196
|
+
color: #71717a;
|
|
197
|
+
font-size: 1rem;
|
|
198
|
+
margin: 0 0 1.5rem;
|
|
199
|
+
}
|
|
200
|
+
.error-box {
|
|
201
|
+
background: rgba(239, 68, 68, 0.1);
|
|
202
|
+
border: 1px solid rgba(239, 68, 68, 0.2);
|
|
203
|
+
border-radius: 8px;
|
|
204
|
+
padding: 0.75rem 1rem;
|
|
205
|
+
color: #fca5a5;
|
|
206
|
+
font-size: 0.9rem;
|
|
207
|
+
margin-bottom: 1.5rem;
|
|
208
|
+
}
|
|
209
|
+
.hint {
|
|
210
|
+
color: #52525b;
|
|
211
|
+
font-size: 0.9rem;
|
|
212
|
+
}
|
|
213
|
+
.hint code {
|
|
214
|
+
background: rgba(255, 255, 255, 0.1);
|
|
215
|
+
padding: 0.2rem 0.4rem;
|
|
216
|
+
border-radius: 4px;
|
|
217
|
+
color: #a1a1aa;
|
|
218
|
+
}
|
|
219
|
+
</style>
|
|
220
|
+
</head>
|
|
221
|
+
<body>
|
|
222
|
+
<div class="container">
|
|
223
|
+
<div class="icon">😅</div>
|
|
224
|
+
<h1>Something went wrong</h1>
|
|
225
|
+
<p class="subtitle">No worries, just try again.</p>
|
|
226
|
+
<div class="error-box">${error}</div>
|
|
227
|
+
<p class="hint">Run <code>mcpize login</code> in your terminal</p>
|
|
228
|
+
</div>
|
|
229
|
+
</body>
|
|
230
|
+
</html>`);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Create a local callback server to receive auth tokens
|
|
234
|
+
*/
|
|
235
|
+
function createCallbackServer(port, expectedState) {
|
|
236
|
+
let resolvePromise;
|
|
237
|
+
let rejectPromise;
|
|
238
|
+
const promise = new Promise((resolve, reject) => {
|
|
239
|
+
resolvePromise = resolve;
|
|
240
|
+
rejectPromise = reject;
|
|
241
|
+
});
|
|
242
|
+
const server = http.createServer((req, res) => {
|
|
243
|
+
const url = new URL(req.url || "/", `http://localhost:${port}`);
|
|
244
|
+
if (url.pathname !== "/callback") {
|
|
245
|
+
res.writeHead(404, { "Connection": "close" });
|
|
246
|
+
res.end("Not found");
|
|
20
247
|
return;
|
|
21
248
|
}
|
|
249
|
+
// Validate state parameter (CSRF protection)
|
|
250
|
+
const state = url.searchParams.get("state");
|
|
251
|
+
if (state !== expectedState) {
|
|
252
|
+
sendErrorResponse(res, "Invalid state parameter. Please try again.");
|
|
253
|
+
rejectPromise(new Error("Invalid state parameter"));
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
// Check for error from web
|
|
257
|
+
const error = url.searchParams.get("error");
|
|
258
|
+
if (error) {
|
|
259
|
+
sendErrorResponse(res, error);
|
|
260
|
+
rejectPromise(new Error(error));
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
// Extract tokens
|
|
264
|
+
const accessToken = url.searchParams.get("access_token");
|
|
265
|
+
const refreshToken = url.searchParams.get("refresh_token");
|
|
266
|
+
const expiresIn = parseInt(url.searchParams.get("expires_in") || "3600", 10);
|
|
267
|
+
const email = url.searchParams.get("email") || undefined;
|
|
268
|
+
if (!accessToken || !refreshToken) {
|
|
269
|
+
sendErrorResponse(res, "Missing authentication tokens.");
|
|
270
|
+
rejectPromise(new Error("Missing tokens in callback"));
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
// Success!
|
|
274
|
+
sendSuccessResponse(res);
|
|
275
|
+
resolvePromise({ accessToken, refreshToken, expiresIn, email });
|
|
276
|
+
});
|
|
277
|
+
server.listen(port, "localhost");
|
|
278
|
+
return { promise, server };
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Login via browser (opens mcpize.com, receives callback with tokens)
|
|
282
|
+
*/
|
|
283
|
+
async function browserLogin() {
|
|
284
|
+
// Find available port
|
|
285
|
+
const port = await findAvailablePort();
|
|
286
|
+
// Generate state for CSRF protection
|
|
287
|
+
const state = crypto.randomBytes(16).toString("hex");
|
|
288
|
+
// Create callback server
|
|
289
|
+
const { promise, server } = createCallbackServer(port, state);
|
|
290
|
+
// Build login URL
|
|
291
|
+
const callbackUrl = `http://localhost:${port}/callback`;
|
|
292
|
+
const loginUrl = `${WEB_APP_URL}/auth?cli_callback=${encodeURIComponent(callbackUrl)}&state=${state}`;
|
|
293
|
+
console.log(chalk.dim("\nOpening browser to complete login..."));
|
|
294
|
+
console.log(chalk.dim(`If browser doesn't open, visit:\n${loginUrl}\n`));
|
|
295
|
+
// Open browser
|
|
296
|
+
try {
|
|
297
|
+
await open(loginUrl);
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
console.log(chalk.yellow("Could not open browser automatically."));
|
|
301
|
+
console.log(chalk.yellow(`Please open this URL manually:\n${loginUrl}\n`));
|
|
302
|
+
}
|
|
303
|
+
// Wait for callback with timeout
|
|
304
|
+
const spinner = ora("Waiting for browser authentication...").start();
|
|
305
|
+
const timeoutMs = 5 * 60 * 1000; // 5 minutes
|
|
306
|
+
let timeoutId;
|
|
307
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
308
|
+
timeoutId = setTimeout(() => {
|
|
309
|
+
reject(new Error("Login timed out. Please try again."));
|
|
310
|
+
}, timeoutMs);
|
|
311
|
+
});
|
|
312
|
+
try {
|
|
313
|
+
const tokens = await Promise.race([promise, timeoutPromise]);
|
|
314
|
+
clearTimeout(timeoutId);
|
|
315
|
+
spinner.succeed(chalk.green("Login successful!"));
|
|
316
|
+
// Save session
|
|
317
|
+
setSession(tokens.accessToken, tokens.refreshToken, tokens.expiresIn);
|
|
318
|
+
if (tokens.email) {
|
|
319
|
+
console.log(chalk.dim(`Logged in as: ${tokens.email}`));
|
|
320
|
+
}
|
|
321
|
+
console.log(chalk.dim("\nSession saved to ~/.mcpize/config.json\n"));
|
|
322
|
+
console.log(chalk.dim("Next steps:"));
|
|
323
|
+
console.log(chalk.dim(" 1. cd your-mcp-project"));
|
|
324
|
+
console.log(chalk.dim(" 2. mcpize deploy\n"));
|
|
325
|
+
server.closeAllConnections();
|
|
326
|
+
server.close();
|
|
327
|
+
process.exit(0);
|
|
22
328
|
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
spinner.fail(chalk.red("Login failed"));
|
|
331
|
+
server.closeAllConnections();
|
|
332
|
+
server.close();
|
|
333
|
+
throw error;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Login via email/password (traditional method)
|
|
338
|
+
*/
|
|
339
|
+
async function emailPasswordLogin() {
|
|
23
340
|
// Prompt for credentials
|
|
24
341
|
const credentials = await prompt([
|
|
25
342
|
{
|
|
@@ -85,4 +402,24 @@ export async function loginCommand() {
|
|
|
85
402
|
process.exit(1);
|
|
86
403
|
}
|
|
87
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* Main login command
|
|
407
|
+
*/
|
|
408
|
+
export async function loginCommand(options = {}) {
|
|
409
|
+
console.log(chalk.bold("\nMCPize Login\n"));
|
|
410
|
+
// Check if already logged in - skip silently
|
|
411
|
+
const authenticated = await isAuthenticated();
|
|
412
|
+
if (authenticated) {
|
|
413
|
+
console.log(chalk.green("✓ Already logged in.\n"));
|
|
414
|
+
console.log(chalk.dim("Use mcpize logout first to switch accounts.\n"));
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
// Use email/password if --email flag is set
|
|
418
|
+
if (options.email) {
|
|
419
|
+
await emailPasswordLogin();
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
await browserLogin();
|
|
423
|
+
}
|
|
424
|
+
}
|
|
88
425
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -77,9 +77,10 @@ program
|
|
|
77
77
|
program
|
|
78
78
|
.command("login")
|
|
79
79
|
.description("Authenticate with MCPize via browser")
|
|
80
|
-
.
|
|
80
|
+
.option("--email", "Use email/password instead of browser")
|
|
81
|
+
.action(async (options) => {
|
|
81
82
|
try {
|
|
82
|
-
await loginCommand();
|
|
83
|
+
await loginCommand(options);
|
|
83
84
|
}
|
|
84
85
|
catch (error) {
|
|
85
86
|
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
@@ -117,9 +118,10 @@ program
|
|
|
117
118
|
.command("whoami")
|
|
118
119
|
.description("Display current authenticated user")
|
|
119
120
|
.action(async () => {
|
|
120
|
-
const {
|
|
121
|
+
const { getValidToken } = await import("./lib/auth.js");
|
|
121
122
|
const { getCurrentUser } = await import("./lib/api.js");
|
|
122
|
-
|
|
123
|
+
// Use getValidToken which handles auto-refresh
|
|
124
|
+
const token = await getValidToken();
|
|
123
125
|
if (!token) {
|
|
124
126
|
console.log(chalk.yellow("Not logged in. Run: mcpize login"));
|
|
125
127
|
process.exit(1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpD;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpD;AAwFD;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmC5D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAQnD"}
|
package/dist/lib/auth.js
CHANGED
|
@@ -21,7 +21,9 @@ function getEnvToken() {
|
|
|
21
21
|
*/
|
|
22
22
|
async function refreshAccessToken() {
|
|
23
23
|
const refreshToken = getRefreshToken();
|
|
24
|
-
|
|
24
|
+
// Check for missing or empty refresh token
|
|
25
|
+
if (!refreshToken || refreshToken.trim() === "") {
|
|
26
|
+
console.error("No refresh token available");
|
|
25
27
|
return null;
|
|
26
28
|
}
|
|
27
29
|
const supabaseUrl = getSupabaseUrl();
|
|
@@ -39,8 +41,20 @@ async function refreshAccessToken() {
|
|
|
39
41
|
}),
|
|
40
42
|
});
|
|
41
43
|
if (!response.ok) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
let errorMessage = `HTTP ${response.status}`;
|
|
45
|
+
try {
|
|
46
|
+
const error = (await response.json());
|
|
47
|
+
errorMessage =
|
|
48
|
+
error.error_description ||
|
|
49
|
+
error.msg ||
|
|
50
|
+
error.message ||
|
|
51
|
+
error.error ||
|
|
52
|
+
(error.error_code ? `Error code: ${error.error_code}` : errorMessage);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Failed to parse JSON, use status code
|
|
56
|
+
}
|
|
57
|
+
console.error(`Token refresh failed: ${errorMessage}`);
|
|
44
58
|
return null;
|
|
45
59
|
}
|
|
46
60
|
const data = (await response.json());
|
package/dist/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,+CAA+C;AAC/C,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;AAC1C,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TunnelProvider, TunnelConnection, TunnelProviderType } from "./types.js";
|
|
2
|
+
export type { TunnelProvider, TunnelConnection, TunnelProviderType };
|
|
3
|
+
/**
|
|
4
|
+
* Create a tunnel to expose local port to the internet
|
|
5
|
+
*
|
|
6
|
+
* @param port - Local port to expose
|
|
7
|
+
* @param providerType - Specific provider to use (optional, defaults to localtunnel)
|
|
8
|
+
* @returns Tunnel connection with public URL
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTunnel(port: number, providerType?: TunnelProviderType): Promise<TunnelConnection>;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AAWrE;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAmC3B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { localtunnelProvider } from "./providers/localtunnel.js";
|
|
3
|
+
import { ngrokProvider } from "./providers/ngrok.js";
|
|
4
|
+
import { cloudflaredProvider } from "./providers/cloudflared.js";
|
|
5
|
+
/**
|
|
6
|
+
* Available tunnel providers
|
|
7
|
+
*/
|
|
8
|
+
const providers = {
|
|
9
|
+
localtunnel: localtunnelProvider,
|
|
10
|
+
ngrok: ngrokProvider,
|
|
11
|
+
cloudflared: cloudflaredProvider,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Create a tunnel to expose local port to the internet
|
|
15
|
+
*
|
|
16
|
+
* @param port - Local port to expose
|
|
17
|
+
* @param providerType - Specific provider to use (optional, defaults to localtunnel)
|
|
18
|
+
* @returns Tunnel connection with public URL
|
|
19
|
+
*/
|
|
20
|
+
export async function createTunnel(port, providerType) {
|
|
21
|
+
// If specific provider requested
|
|
22
|
+
if (providerType) {
|
|
23
|
+
const provider = providers[providerType];
|
|
24
|
+
if (!provider) {
|
|
25
|
+
throw new Error(`Unknown tunnel provider: ${providerType}\n` +
|
|
26
|
+
`Available providers: ${Object.keys(providers).join(", ")}`);
|
|
27
|
+
}
|
|
28
|
+
const available = await provider.isAvailable();
|
|
29
|
+
if (!available) {
|
|
30
|
+
throw new Error(`Tunnel provider '${providerType}' is not available.\n` +
|
|
31
|
+
getProviderHint(providerType));
|
|
32
|
+
}
|
|
33
|
+
console.log(chalk.gray(`Using ${provider.name} tunnel provider...`));
|
|
34
|
+
return provider.connect(port);
|
|
35
|
+
}
|
|
36
|
+
// Default: use localtunnel
|
|
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"));
|
|
39
|
+
return localtunnelProvider.connect(port);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get hint message for unavailable provider
|
|
43
|
+
*/
|
|
44
|
+
function getProviderHint(providerType) {
|
|
45
|
+
switch (providerType) {
|
|
46
|
+
case "ngrok":
|
|
47
|
+
return ("Set NGROK_AUTHTOKEN environment variable.\n" +
|
|
48
|
+
"Get your token at: https://dashboard.ngrok.com/get-started/your-authtoken");
|
|
49
|
+
case "cloudflared":
|
|
50
|
+
return ("Install cloudflared CLI:\n" +
|
|
51
|
+
" macOS: brew install cloudflared\n" +
|
|
52
|
+
" Windows: winget install cloudflare.cloudflared");
|
|
53
|
+
default:
|
|
54
|
+
return "";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TunnelProvider } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cloudflare Tunnel provider - free, reliable tunneling
|
|
4
|
+
*
|
|
5
|
+
* Requires `cloudflared` CLI to be installed:
|
|
6
|
+
* brew install cloudflared # macOS
|
|
7
|
+
* winget install cloudflare.cloudflared # Windows
|
|
8
|
+
*
|
|
9
|
+
* @see https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
|
|
10
|
+
*/
|
|
11
|
+
export declare const cloudflaredProvider: TunnelProvider;
|
|
12
|
+
//# sourceMappingURL=cloudflared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflared.d.ts","sourceRoot":"","sources":["../../../src/tunnel/providers/cloudflared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAsBjC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare Tunnel provider - free, reliable tunneling
|
|
3
|
+
*
|
|
4
|
+
* Requires `cloudflared` CLI to be installed:
|
|
5
|
+
* brew install cloudflared # macOS
|
|
6
|
+
* winget install cloudflare.cloudflared # Windows
|
|
7
|
+
*
|
|
8
|
+
* @see https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
|
|
9
|
+
*/
|
|
10
|
+
export const cloudflaredProvider = {
|
|
11
|
+
name: "cloudflared",
|
|
12
|
+
async isAvailable() {
|
|
13
|
+
// TODO: Check if cloudflared CLI is installed
|
|
14
|
+
// const { which } = await import('../utils/which.js');
|
|
15
|
+
// return !!(await which('cloudflared'));
|
|
16
|
+
return false;
|
|
17
|
+
},
|
|
18
|
+
async connect(_port) {
|
|
19
|
+
// TODO: Implement when needed
|
|
20
|
+
// const { spawn } = await import('child_process');
|
|
21
|
+
// const proc = spawn('cloudflared', ['tunnel', '--url', `http://localhost:${port}`]);
|
|
22
|
+
// Parse URL from stderr...
|
|
23
|
+
throw new Error("cloudflared provider is not implemented yet.\n" +
|
|
24
|
+
"For now, use the default localtunnel provider:\n" +
|
|
25
|
+
" mcpize dev --tunnel");
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=cloudflared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../../src/tunnel/providers/cloudflared.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,IAAI,EAAE,aAAa;IAEnB,KAAK,CAAC,WAAW;QACf,8CAA8C;QAC9C,uDAAuD;QACvD,yCAAyC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,8BAA8B;QAC9B,mDAAmD;QACnD,sFAAsF;QACtF,2BAA2B;QAE3B,MAAM,IAAI,KAAK,CACb,gDAAgD;YAC9C,kDAAkD;YAClD,uBAAuB,CAC1B,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TunnelProvider } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Localtunnel provider - free, open-source tunneling
|
|
4
|
+
*
|
|
5
|
+
* Known issues:
|
|
6
|
+
* - Can be unstable (~80% uptime)
|
|
7
|
+
* - 502/404 errors occasionally
|
|
8
|
+
* - URL changes on every restart
|
|
9
|
+
*
|
|
10
|
+
* @see https://github.com/localtunnel/localtunnel
|
|
11
|
+
*/
|
|
12
|
+
export declare const localtunnelProvider: TunnelProvider;
|
|
13
|
+
//# sourceMappingURL=localtunnel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localtunnel.d.ts","sourceRoot":"","sources":["../../../src/tunnel/providers/localtunnel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAKpE;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA6CjC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const MAX_RETRIES = 3;
|
|
2
|
+
const RETRY_DELAY_MS = 2000;
|
|
3
|
+
/**
|
|
4
|
+
* Localtunnel provider - free, open-source tunneling
|
|
5
|
+
*
|
|
6
|
+
* Known issues:
|
|
7
|
+
* - Can be unstable (~80% uptime)
|
|
8
|
+
* - 502/404 errors occasionally
|
|
9
|
+
* - URL changes on every restart
|
|
10
|
+
*
|
|
11
|
+
* @see https://github.com/localtunnel/localtunnel
|
|
12
|
+
*/
|
|
13
|
+
export const localtunnelProvider = {
|
|
14
|
+
name: "localtunnel",
|
|
15
|
+
async isAvailable() {
|
|
16
|
+
// Always available as npm dependency
|
|
17
|
+
return true;
|
|
18
|
+
},
|
|
19
|
+
async connect(port) {
|
|
20
|
+
// Dynamic import to avoid bundling if not used
|
|
21
|
+
const localtunnel = await import("localtunnel");
|
|
22
|
+
let lastError = null;
|
|
23
|
+
for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
|
|
24
|
+
try {
|
|
25
|
+
const tunnel = await localtunnel.default({ port });
|
|
26
|
+
// Handle tunnel errors
|
|
27
|
+
tunnel.on("error", (err) => {
|
|
28
|
+
console.error(`Tunnel error: ${err.message}`);
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
url: tunnel.url,
|
|
32
|
+
close: async () => {
|
|
33
|
+
tunnel.close();
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
39
|
+
if (attempt < MAX_RETRIES) {
|
|
40
|
+
console.warn(`Tunnel connection failed (attempt ${attempt}/${MAX_RETRIES}), retrying...`);
|
|
41
|
+
await new Promise((resolve) => setTimeout(resolve, RETRY_DELAY_MS));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
throw new Error(`Failed to create tunnel after ${MAX_RETRIES} attempts: ${lastError?.message}`);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=localtunnel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localtunnel.js","sourceRoot":"","sources":["../../../src/tunnel/providers/localtunnel.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,IAAI,EAAE,aAAa;IAEnB,KAAK,CAAC,WAAW;QACf,qCAAqC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,+CAA+C;QAC/C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnD,uBAAuB;gBACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBAChC,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,KAAK,EAAE,KAAK,IAAI,EAAE;wBAChB,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,CAAC;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEhE,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CACV,qCAAqC,OAAO,IAAI,WAAW,gBAAgB,CAC5E,CAAC;oBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,cAAc,SAAS,EAAE,OAAO,EAAE,CAC/E,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TunnelProvider } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* ngrok provider - reliable, paid tunneling service
|
|
4
|
+
*
|
|
5
|
+
* Requires NGROK_AUTHTOKEN environment variable.
|
|
6
|
+
* Get token at: https://dashboard.ngrok.com/get-started/your-authtoken
|
|
7
|
+
*
|
|
8
|
+
* @see https://ngrok.com/docs
|
|
9
|
+
*/
|
|
10
|
+
export declare const ngrokProvider: TunnelProvider;
|
|
11
|
+
//# sourceMappingURL=ngrok.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ngrok provider - reliable, paid tunneling service
|
|
3
|
+
*
|
|
4
|
+
* Requires NGROK_AUTHTOKEN environment variable.
|
|
5
|
+
* Get token at: https://dashboard.ngrok.com/get-started/your-authtoken
|
|
6
|
+
*
|
|
7
|
+
* @see https://ngrok.com/docs
|
|
8
|
+
*/
|
|
9
|
+
export const ngrokProvider = {
|
|
10
|
+
name: "ngrok",
|
|
11
|
+
async isAvailable() {
|
|
12
|
+
return !!process.env.NGROK_AUTHTOKEN;
|
|
13
|
+
},
|
|
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");
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=ngrok.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tunnel provider interface
|
|
3
|
+
*/
|
|
4
|
+
export interface TunnelProvider {
|
|
5
|
+
/** Provider name for display */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Check if provider is available (installed, has token, etc.) */
|
|
8
|
+
isAvailable(): Promise<boolean>;
|
|
9
|
+
/** Create tunnel connection */
|
|
10
|
+
connect(port: number): Promise<TunnelConnection>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Active tunnel connection
|
|
14
|
+
*/
|
|
15
|
+
export interface TunnelConnection {
|
|
16
|
+
/** Public URL for the tunnel */
|
|
17
|
+
url: string;
|
|
18
|
+
/** Close the tunnel */
|
|
19
|
+
close(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Supported tunnel providers
|
|
23
|
+
*/
|
|
24
|
+
export type TunnelProviderType = "localtunnel" | "ngrok" | "cloudflared";
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tunnel/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,kEAAkE;IAClE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,+BAA+B;IAC/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IAEZ,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,OAAO,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tunnel/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpize",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
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
|
+
"localtunnel": "^2.0.2",
|
|
21
22
|
"open": "^11.0.0",
|
|
22
23
|
"ora": "^9.0.0",
|
|
23
24
|
"tar": "^7.5.0",
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
"zod": "^4.1.13"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
29
|
+
"@types/localtunnel": "^2.0.4",
|
|
28
30
|
"@types/node": "^22.15.21",
|
|
29
31
|
"@types/tar": "^6.1.13",
|
|
30
32
|
"tsx": "^4.19.4",
|