@mintmcp/hosted-cli 0.0.11 → 0.0.12
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/.claude/settings.local.json +7 -0
- package/README.md +23 -13
- package/dist/api.d.ts +58 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +15 -1
- package/dist/api.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +17 -1
- package/src/index.ts +60 -14
package/README.md
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# MintMCP hosted-cli
|
|
2
2
|
|
|
3
|
-
This tool deploys MCP servers to MintMCP.
|
|
3
|
+
This tool deploys MCP servers from local source code to MintMCP. If the server is already packaged
|
|
4
|
+
in a registry such as npm or PyPI, consider using the [MintMCP web UI for deploying packaged
|
|
5
|
+
servers](https://docs.mintmcp.com/docs/mcp-connectors-hosted).
|
|
4
6
|
|
|
5
7
|
## Javascript / Typescript Server
|
|
6
8
|
|
|
7
9
|
### Prerequisites
|
|
8
10
|
|
|
9
|
-
* The server must
|
|
10
|
-
|
|
11
|
-
* The default server startup command is `npm run build && npm run start`. If your server requires a different command, pass `--startup-command "<command>"` to `deploy` when you run them below.
|
|
11
|
+
* The server must implement the MCP stdio transport (HTTP streamable is also supported, see the section below).
|
|
12
|
+
* The default server startup command is `npm install && npm run build && npm run start`. If your server requires a different command, pass `--startup-command "<command>"` to `deploy` when you run them below.
|
|
12
13
|
|
|
13
14
|
### Deploy
|
|
14
15
|
|
|
@@ -30,19 +31,15 @@ Upon successful upload, this prints a server management URL where you can:
|
|
|
30
31
|
Rerun the command to upload changes as a new revision. The old revision will continue serving
|
|
31
32
|
requests until the new revision starts up successfully.
|
|
32
33
|
|
|
33
|
-
### Troubleshooting
|
|
34
|
-
|
|
35
|
-
TODO: Explain what to do if you need `npm install`.
|
|
36
|
-
|
|
37
34
|
## Python FastMCP Server
|
|
38
35
|
|
|
39
36
|
### Prerequisites
|
|
40
37
|
|
|
41
|
-
The server must
|
|
38
|
+
The server must implement the MCP stdio transport (HTTP streamable is also supported, see the section below). You can typically do this by adding at the bottom of your main server file:
|
|
42
39
|
|
|
43
40
|
```python
|
|
44
41
|
if __name__ == "__main__":
|
|
45
|
-
mcp.run(transport="
|
|
42
|
+
mcp.run(transport="stdio")
|
|
46
43
|
```
|
|
47
44
|
|
|
48
45
|
### Deploy
|
|
@@ -76,8 +73,8 @@ requests until the new revision starts up successfully.
|
|
|
76
73
|
|
|
77
74
|
### Prerequisites
|
|
78
75
|
|
|
79
|
-
The server must
|
|
80
|
-
|
|
76
|
+
The server must implement the MCP stdio transport (HTTP streamable is also supported, see the section below). Most MCP server frameworks should be able to do
|
|
77
|
+
this. Check your framework's documentation.
|
|
81
78
|
|
|
82
79
|
### Deploy
|
|
83
80
|
|
|
@@ -99,4 +96,17 @@ Upon successful upload, this prints a server management URL where you can:
|
|
|
99
96
|
Rerun the command to upload changes as a new revision. The old revision will continue serving
|
|
100
97
|
requests until the new revision starts up successfully.
|
|
101
98
|
|
|
102
|
-
|
|
99
|
+
## Environment Variables
|
|
100
|
+
|
|
101
|
+
You can set environment variables for your server at the server management URL. Click "Edit" in the "Server Configuration" section and then select "Environment Variables".
|
|
102
|
+
|
|
103
|
+

|
|
104
|
+
|
|
105
|
+
Global and Per-User environment variables are supported:
|
|
106
|
+
|
|
107
|
+
* Global: Variable applies to all users across your organization.
|
|
108
|
+
* Per-User: Each user will be prompted for values the first time they access the server.
|
|
109
|
+
|
|
110
|
+
## HTTP Streamable Transport
|
|
111
|
+
|
|
112
|
+
You can also deploy servers that implement the HTTP streamable MCP transport on MintMCP. They must serve at "/mcp" on port 8000. Simply pass `-t http` to the `deploy` command to tell MintMCP to talk to the server using HTTP streamable.
|
package/dist/api.d.ts
CHANGED
|
@@ -25,10 +25,43 @@ export declare const EnvUpdateValueSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
25
25
|
isSecret: boolean;
|
|
26
26
|
}>]>;
|
|
27
27
|
export type EnvUpdateValue = z.infer<typeof EnvUpdateValueSchema>;
|
|
28
|
+
export declare const HostedTransportSchema: z.ZodDefault<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
29
|
+
type: z.ZodLiteral<"http">;
|
|
30
|
+
path: z.ZodString;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
path: string;
|
|
33
|
+
type: "http";
|
|
34
|
+
}, {
|
|
35
|
+
path: string;
|
|
36
|
+
type: "http";
|
|
37
|
+
}>, z.ZodObject<{
|
|
38
|
+
type: z.ZodLiteral<"stdio">;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
type: "stdio";
|
|
41
|
+
}, {
|
|
42
|
+
type: "stdio";
|
|
43
|
+
}>]>>;
|
|
44
|
+
export type HostedTransport = z.infer<typeof HostedTransportSchema>;
|
|
28
45
|
export declare const UserConfigUpdateSchema: z.ZodObject<{
|
|
29
46
|
userGivenName: z.ZodString;
|
|
30
47
|
image: z.ZodDefault<z.ZodString>;
|
|
31
48
|
command: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
|
|
49
|
+
transport: z.ZodDefault<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
50
|
+
type: z.ZodLiteral<"http">;
|
|
51
|
+
path: z.ZodString;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
path: string;
|
|
54
|
+
type: "http";
|
|
55
|
+
}, {
|
|
56
|
+
path: string;
|
|
57
|
+
type: "http";
|
|
58
|
+
}>, z.ZodObject<{
|
|
59
|
+
type: z.ZodLiteral<"stdio">;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
type: "stdio";
|
|
62
|
+
}, {
|
|
63
|
+
type: "stdio";
|
|
64
|
+
}>]>>;
|
|
32
65
|
cpu: z.ZodDefault<z.ZodNumber>;
|
|
33
66
|
memoryMiB: z.ZodDefault<z.ZodNumber>;
|
|
34
67
|
urlPath: z.ZodDefault<z.ZodString>;
|
|
@@ -83,6 +116,12 @@ export declare const UserConfigUpdateSchema: z.ZodObject<{
|
|
|
83
116
|
userGivenName: string;
|
|
84
117
|
image: string;
|
|
85
118
|
command: string | string[];
|
|
119
|
+
transport: {
|
|
120
|
+
path: string;
|
|
121
|
+
type: "http";
|
|
122
|
+
} | {
|
|
123
|
+
type: "stdio";
|
|
124
|
+
};
|
|
86
125
|
cpu: number;
|
|
87
126
|
memoryMiB: number;
|
|
88
127
|
urlPath: string;
|
|
@@ -114,6 +153,12 @@ export declare const UserConfigUpdateSchema: z.ZodObject<{
|
|
|
114
153
|
name: string;
|
|
115
154
|
}[];
|
|
116
155
|
image?: string | undefined;
|
|
156
|
+
transport?: {
|
|
157
|
+
path: string;
|
|
158
|
+
type: "http";
|
|
159
|
+
} | {
|
|
160
|
+
type: "stdio";
|
|
161
|
+
} | undefined;
|
|
117
162
|
cpu?: number | undefined;
|
|
118
163
|
memoryMiB?: number | undefined;
|
|
119
164
|
urlPath?: string | undefined;
|
|
@@ -149,6 +194,12 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
149
194
|
name: string;
|
|
150
195
|
}[];
|
|
151
196
|
image?: string | undefined;
|
|
197
|
+
transport?: {
|
|
198
|
+
path: string;
|
|
199
|
+
type: "http";
|
|
200
|
+
} | {
|
|
201
|
+
type: "stdio";
|
|
202
|
+
} | undefined;
|
|
152
203
|
cpu?: number | undefined;
|
|
153
204
|
memoryMiB?: number | undefined;
|
|
154
205
|
urlPath?: string | undefined;
|
|
@@ -166,7 +217,13 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
166
217
|
hostedId: string;
|
|
167
218
|
update: {
|
|
168
219
|
userGivenName?: string | undefined;
|
|
169
|
-
command?: string[] | undefined;
|
|
220
|
+
command?: string | string[] | undefined;
|
|
221
|
+
transport?: {
|
|
222
|
+
path: string;
|
|
223
|
+
type: "http";
|
|
224
|
+
} | {
|
|
225
|
+
type: "stdio";
|
|
226
|
+
} | undefined;
|
|
170
227
|
secretDataZipGcsPath?: string | undefined;
|
|
171
228
|
};
|
|
172
229
|
};
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAQA,OAAO,CAAC,MAAM,KAAK,CAAC;AAKpB,eAAO,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AACnD,eAAO,MAAM,cAAc,qEAOL,CAAC;AACvB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;IAU/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAQA,OAAO,CAAC,MAAM,KAAK,CAAC;AAKpB,eAAO,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AACnD,eAAO,MAAM,cAAc,qEAOL,CAAC;AACvB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;IAU/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;KAWQ,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBjC,CAAC;AAKH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCb,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC"}
|
package/dist/api.js
CHANGED
|
@@ -24,12 +24,25 @@ export const EnvUpdateValueSchema = z.discriminatedUnion("type", [
|
|
|
24
24
|
isSecret: z.boolean(),
|
|
25
25
|
}),
|
|
26
26
|
]);
|
|
27
|
+
export const HostedTransportSchema = z
|
|
28
|
+
.discriminatedUnion("type", [
|
|
29
|
+
z.object({
|
|
30
|
+
type: z.literal("http"),
|
|
31
|
+
// URL path where MCP is served.
|
|
32
|
+
path: z.string(),
|
|
33
|
+
}),
|
|
34
|
+
z.object({
|
|
35
|
+
type: z.literal("stdio"),
|
|
36
|
+
}),
|
|
37
|
+
])
|
|
38
|
+
.default({ type: "http", path: "/mcp" });
|
|
27
39
|
export const UserConfigUpdateSchema = z.object({
|
|
28
40
|
userGivenName: z.string().min(1),
|
|
29
41
|
image: z
|
|
30
42
|
.string()
|
|
31
43
|
.default("nikolaik/python-nodejs@sha256:d481c61b10a131cb0ae3dfc09adf3beaff76557597010914df48ff1fe1dacbf1"),
|
|
32
44
|
command: z.union([z.string(), z.array(z.string())]),
|
|
45
|
+
transport: HostedTransportSchema,
|
|
33
46
|
cpu: z.number().default(1),
|
|
34
47
|
memoryMiB: z.number().default(4096),
|
|
35
48
|
urlPath: z.string().default("/mcp"),
|
|
@@ -54,7 +67,8 @@ const appRouter = router({
|
|
|
54
67
|
hostedId: HostedIdSchema,
|
|
55
68
|
update: z.object({
|
|
56
69
|
userGivenName: z.string().optional(),
|
|
57
|
-
command: z.array(z.string()).optional(),
|
|
70
|
+
command: z.union([z.string(), z.array(z.string())]).optional(),
|
|
71
|
+
transport: HostedTransportSchema.optional(),
|
|
58
72
|
secretDataZipGcsPath: z.string().optional(),
|
|
59
73
|
}),
|
|
60
74
|
}))
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAU1E,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,UAAU,CAAC;AASlB,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACpE,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,12 +3,20 @@ import { Command, InvalidArgumentError } from "@commander-js/extra-typings";
|
|
|
3
3
|
import { createTRPCClient, httpLink } from "@trpc/client";
|
|
4
4
|
import archiver from "archiver";
|
|
5
5
|
import * as fs from "fs";
|
|
6
|
+
import { readFileSync } from "fs";
|
|
6
7
|
import keytar from "keytar";
|
|
7
8
|
import * as path from "path";
|
|
9
|
+
import { dirname, join } from "path";
|
|
8
10
|
import superjson from "superjson";
|
|
11
|
+
import { fileURLToPath } from "url";
|
|
9
12
|
import z, { ZodSchema } from "zod";
|
|
10
13
|
import { HostedIdSchema, UserConfigUpdateSchema, } from "./api.js";
|
|
14
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
+
const __dirname = dirname(__filename);
|
|
16
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
|
|
17
|
+
const version = packageJson.version;
|
|
11
18
|
const EnvSchema = z.enum(["staging", "production"]);
|
|
19
|
+
const TransportSchema = z.enum(["http", "stdio"]);
|
|
12
20
|
const TRPC_API_URL = {
|
|
13
21
|
staging: "http://localhost:3000/api.trpc",
|
|
14
22
|
production: "https://app.mintmcp.com/api.trpc",
|
|
@@ -202,18 +210,32 @@ async function uploadData(client, mntDataDir) {
|
|
|
202
210
|
console.log("File uploaded.");
|
|
203
211
|
return { secretDataZipGcsPath: upload.secretDataZipGcsPath };
|
|
204
212
|
}
|
|
205
|
-
|
|
206
|
-
|
|
213
|
+
const DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS = {
|
|
214
|
+
transport: "stdio",
|
|
215
|
+
startupCommand: "npm install && npm run build && npm run start",
|
|
216
|
+
mntDataDir: ".",
|
|
217
|
+
};
|
|
218
|
+
function toHostedTransport(transport) {
|
|
219
|
+
switch (transport) {
|
|
220
|
+
case "http":
|
|
221
|
+
return { type: "http", path: "/mcp" };
|
|
222
|
+
case "stdio":
|
|
223
|
+
return { type: "stdio" };
|
|
224
|
+
}
|
|
207
225
|
}
|
|
208
226
|
async function createNew(client, base, options) {
|
|
209
|
-
const { name, startupCommand
|
|
227
|
+
const { name, transport, startupCommand, mntDataDir = ".", } = {
|
|
228
|
+
...DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS,
|
|
229
|
+
...options,
|
|
230
|
+
};
|
|
210
231
|
if (name == undefined) {
|
|
211
232
|
throw new Error("--name is a required option when creating a new server");
|
|
212
233
|
}
|
|
213
234
|
const upload = await uploadData(client, path.join(base, mntDataDir));
|
|
214
235
|
const config = UserConfigUpdateSchema.parse({
|
|
215
236
|
userGivenName: name,
|
|
216
|
-
command:
|
|
237
|
+
command: startupCommand,
|
|
238
|
+
transport: toHostedTransport(transport),
|
|
217
239
|
replaceEnv: [],
|
|
218
240
|
secretDataZipGcsPath: upload.secretDataZipGcsPath,
|
|
219
241
|
});
|
|
@@ -235,8 +257,9 @@ async function updateExisting(client, base, config, options) {
|
|
|
235
257
|
hostedId: config.hostedId,
|
|
236
258
|
update: {
|
|
237
259
|
userGivenName: options.name,
|
|
238
|
-
command: options.startupCommand
|
|
239
|
-
|
|
260
|
+
command: options.startupCommand,
|
|
261
|
+
transport: options.transport
|
|
262
|
+
? toHostedTransport(options.transport)
|
|
240
263
|
: undefined,
|
|
241
264
|
secretDataZipGcsPath: upload.secretDataZipGcsPath,
|
|
242
265
|
},
|
|
@@ -245,16 +268,20 @@ async function updateExisting(client, base, config, options) {
|
|
|
245
268
|
}
|
|
246
269
|
const program = new Command()
|
|
247
270
|
.name("hosted")
|
|
248
|
-
.description("Control hosted servers on MintMCP")
|
|
249
|
-
.version(
|
|
250
|
-
.option("-e, --env <environment>", "
|
|
251
|
-
.option("-b, --base <base>", "base directory for config and data", ".");
|
|
271
|
+
.description("Control hosted servers on MintMCP.")
|
|
272
|
+
.version(version)
|
|
273
|
+
.option("-e, --env <environment>", "Target environment.", argParser(EnvSchema), "production")
|
|
274
|
+
.option("-b, --base <base>", "base directory for config and data.", ".");
|
|
275
|
+
function makeDefaultMessage(optionName) {
|
|
276
|
+
return `Defaults to '${DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS[optionName]}' for new servers.`;
|
|
277
|
+
}
|
|
252
278
|
program
|
|
253
279
|
.command("deploy")
|
|
254
280
|
.description("Create or update a hosted server.")
|
|
255
|
-
.option("-n, --name <name>", "Name of the hosted server")
|
|
256
|
-
.option("
|
|
257
|
-
.option("--
|
|
281
|
+
.option("-n, --name <name>", "Name of the hosted server. Required for new servers.")
|
|
282
|
+
.option("-t, --transport <transport>", `Transport (stdio or http). ${makeDefaultMessage("transport")}`, argParser(TransportSchema))
|
|
283
|
+
.option("--startup-command <command>", `Command that runs on hosted container to start the server (runs in bash). ${makeDefaultMessage("startupCommand")}`)
|
|
284
|
+
.option("--mnt-data-dir <directory>", `Directory to copy to /mnt on the server. ${makeDefaultMessage("mntDataDir")}`)
|
|
258
285
|
.action(async (options) => {
|
|
259
286
|
const { env, base } = program.opts();
|
|
260
287
|
const client = await makeAuthenticatedClient(env);
|
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/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -35,6 +35,20 @@ export const EnvUpdateValueSchema = z.discriminatedUnion("type", [
|
|
|
35
35
|
]);
|
|
36
36
|
export type EnvUpdateValue = z.infer<typeof EnvUpdateValueSchema>;
|
|
37
37
|
|
|
38
|
+
export const HostedTransportSchema = z
|
|
39
|
+
.discriminatedUnion("type", [
|
|
40
|
+
z.object({
|
|
41
|
+
type: z.literal("http"),
|
|
42
|
+
// URL path where MCP is served.
|
|
43
|
+
path: z.string(),
|
|
44
|
+
}),
|
|
45
|
+
z.object({
|
|
46
|
+
type: z.literal("stdio"),
|
|
47
|
+
}),
|
|
48
|
+
])
|
|
49
|
+
.default({ type: "http", path: "/mcp" });
|
|
50
|
+
export type HostedTransport = z.infer<typeof HostedTransportSchema>;
|
|
51
|
+
|
|
38
52
|
export const UserConfigUpdateSchema = z.object({
|
|
39
53
|
userGivenName: z.string().min(1),
|
|
40
54
|
image: z
|
|
@@ -43,6 +57,7 @@ export const UserConfigUpdateSchema = z.object({
|
|
|
43
57
|
"nikolaik/python-nodejs@sha256:d481c61b10a131cb0ae3dfc09adf3beaff76557597010914df48ff1fe1dacbf1",
|
|
44
58
|
),
|
|
45
59
|
command: z.union([z.string(), z.array(z.string())]),
|
|
60
|
+
transport: HostedTransportSchema,
|
|
46
61
|
cpu: z.number().default(1),
|
|
47
62
|
memoryMiB: z.number().default(4096),
|
|
48
63
|
urlPath: z.string().default("/mcp"),
|
|
@@ -72,7 +87,8 @@ const appRouter = router({
|
|
|
72
87
|
hostedId: HostedIdSchema,
|
|
73
88
|
update: z.object({
|
|
74
89
|
userGivenName: z.string().optional(),
|
|
75
|
-
command: z.array(z.string()).optional(),
|
|
90
|
+
command: z.union([z.string(), z.array(z.string())]).optional(),
|
|
91
|
+
transport: HostedTransportSchema.optional(),
|
|
76
92
|
secretDataZipGcsPath: z.string().optional(),
|
|
77
93
|
}),
|
|
78
94
|
}),
|
package/src/index.ts
CHANGED
|
@@ -5,22 +5,36 @@ import { createTRPCClient, httpLink } from "@trpc/client";
|
|
|
5
5
|
import type { inferRouterInputs, inferRouterOutputs } from "@trpc/server";
|
|
6
6
|
import archiver from "archiver";
|
|
7
7
|
import * as fs from "fs";
|
|
8
|
+
import { readFileSync } from "fs";
|
|
8
9
|
import keytar from "keytar";
|
|
9
10
|
import * as path from "path";
|
|
11
|
+
import { dirname, join } from "path";
|
|
10
12
|
import superjson from "superjson";
|
|
13
|
+
import { fileURLToPath } from "url";
|
|
11
14
|
import z, { ZodSchema } from "zod";
|
|
12
15
|
import {
|
|
13
16
|
type AppRouter,
|
|
14
17
|
HostedIdSchema,
|
|
18
|
+
type HostedTransport,
|
|
15
19
|
UserConfigUpdateSchema,
|
|
16
20
|
} from "./api.js";
|
|
17
21
|
|
|
22
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
23
|
+
const __dirname = dirname(__filename);
|
|
24
|
+
const packageJson = JSON.parse(
|
|
25
|
+
readFileSync(join(__dirname, "..", "package.json"), "utf-8"),
|
|
26
|
+
);
|
|
27
|
+
const version = packageJson.version;
|
|
28
|
+
|
|
18
29
|
export type CliClientAppRouterInputs = inferRouterInputs<AppRouter>;
|
|
19
30
|
export type CliClientAppRouterOutputs = inferRouterOutputs<AppRouter>;
|
|
20
31
|
|
|
21
32
|
const EnvSchema = z.enum(["staging", "production"]);
|
|
22
33
|
type Env = z.infer<typeof EnvSchema>;
|
|
23
34
|
|
|
35
|
+
const TransportSchema = z.enum(["http", "stdio"]);
|
|
36
|
+
type Transport = z.infer<typeof TransportSchema>;
|
|
37
|
+
|
|
24
38
|
const TRPC_API_URL: Record<Env, string> = {
|
|
25
39
|
staging: "http://localhost:3000/api.trpc",
|
|
26
40
|
production: "https://app.mintmcp.com/api.trpc",
|
|
@@ -264,12 +278,24 @@ async function uploadData(
|
|
|
264
278
|
|
|
265
279
|
interface DeployOptions {
|
|
266
280
|
name?: string;
|
|
281
|
+
transport?: Transport;
|
|
267
282
|
startupCommand?: string;
|
|
268
283
|
mntDataDir?: string;
|
|
269
284
|
}
|
|
270
285
|
|
|
271
|
-
|
|
272
|
-
|
|
286
|
+
const DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS = {
|
|
287
|
+
transport: "stdio",
|
|
288
|
+
startupCommand: "npm install && npm run build && npm run start",
|
|
289
|
+
mntDataDir: ".",
|
|
290
|
+
} as const;
|
|
291
|
+
|
|
292
|
+
function toHostedTransport(transport: Transport): HostedTransport {
|
|
293
|
+
switch (transport) {
|
|
294
|
+
case "http":
|
|
295
|
+
return { type: "http", path: "/mcp" };
|
|
296
|
+
case "stdio":
|
|
297
|
+
return { type: "stdio" };
|
|
298
|
+
}
|
|
273
299
|
}
|
|
274
300
|
|
|
275
301
|
async function createNew(
|
|
@@ -279,9 +305,13 @@ async function createNew(
|
|
|
279
305
|
): Promise<HostedConfig> {
|
|
280
306
|
const {
|
|
281
307
|
name,
|
|
282
|
-
|
|
308
|
+
transport,
|
|
309
|
+
startupCommand,
|
|
283
310
|
mntDataDir = ".",
|
|
284
|
-
} =
|
|
311
|
+
} = {
|
|
312
|
+
...DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS,
|
|
313
|
+
...options,
|
|
314
|
+
};
|
|
285
315
|
if (name == undefined) {
|
|
286
316
|
throw new Error("--name is a required option when creating a new server");
|
|
287
317
|
}
|
|
@@ -290,7 +320,8 @@ async function createNew(
|
|
|
290
320
|
|
|
291
321
|
const config = UserConfigUpdateSchema.parse({
|
|
292
322
|
userGivenName: name,
|
|
293
|
-
command:
|
|
323
|
+
command: startupCommand,
|
|
324
|
+
transport: toHostedTransport(transport),
|
|
294
325
|
replaceEnv: [],
|
|
295
326
|
secretDataZipGcsPath: upload.secretDataZipGcsPath,
|
|
296
327
|
} satisfies z.input<typeof UserConfigUpdateSchema>);
|
|
@@ -323,8 +354,9 @@ async function updateExisting(
|
|
|
323
354
|
hostedId: config.hostedId,
|
|
324
355
|
update: {
|
|
325
356
|
userGivenName: options.name,
|
|
326
|
-
command: options.startupCommand
|
|
327
|
-
|
|
357
|
+
command: options.startupCommand,
|
|
358
|
+
transport: options.transport
|
|
359
|
+
? toHostedTransport(options.transport)
|
|
328
360
|
: undefined,
|
|
329
361
|
secretDataZipGcsPath: upload.secretDataZipGcsPath,
|
|
330
362
|
},
|
|
@@ -334,27 +366,41 @@ async function updateExisting(
|
|
|
334
366
|
|
|
335
367
|
const program = new Command()
|
|
336
368
|
.name("hosted")
|
|
337
|
-
.description("Control hosted servers on MintMCP")
|
|
338
|
-
.version(
|
|
369
|
+
.description("Control hosted servers on MintMCP.")
|
|
370
|
+
.version(version)
|
|
339
371
|
.option(
|
|
340
372
|
"-e, --env <environment>",
|
|
341
|
-
"
|
|
373
|
+
"Target environment.",
|
|
342
374
|
argParser(EnvSchema),
|
|
343
375
|
"production",
|
|
344
376
|
)
|
|
345
|
-
.option("-b, --base <base>", "base directory for config and data", ".");
|
|
377
|
+
.option("-b, --base <base>", "base directory for config and data.", ".");
|
|
378
|
+
|
|
379
|
+
function makeDefaultMessage(
|
|
380
|
+
optionName: keyof typeof DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS,
|
|
381
|
+
): string {
|
|
382
|
+
return `Defaults to '${DEPLOY_OPTIONS_NEW_SERVER_DEFAULTS[optionName]}' for new servers.`;
|
|
383
|
+
}
|
|
346
384
|
|
|
347
385
|
program
|
|
348
386
|
.command("deploy")
|
|
349
387
|
.description("Create or update a hosted server.")
|
|
350
|
-
.option(
|
|
388
|
+
.option(
|
|
389
|
+
"-n, --name <name>",
|
|
390
|
+
"Name of the hosted server. Required for new servers.",
|
|
391
|
+
)
|
|
392
|
+
.option(
|
|
393
|
+
"-t, --transport <transport>",
|
|
394
|
+
`Transport (stdio or http). ${makeDefaultMessage("transport")}`,
|
|
395
|
+
argParser(TransportSchema),
|
|
396
|
+
)
|
|
351
397
|
.option(
|
|
352
398
|
"--startup-command <command>",
|
|
353
|
-
|
|
399
|
+
`Command that runs on hosted container to start the server (runs in bash). ${makeDefaultMessage("startupCommand")}`,
|
|
354
400
|
)
|
|
355
401
|
.option(
|
|
356
402
|
"--mnt-data-dir <directory>",
|
|
357
|
-
|
|
403
|
+
`Directory to copy to /mnt on the server. ${makeDefaultMessage("mntDataDir")}`,
|
|
358
404
|
)
|
|
359
405
|
.action(async (options) => {
|
|
360
406
|
const { env, base } = program.opts();
|