@hoststack.dev/mcp 0.11.0 → 0.12.0

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/dist/index.js CHANGED
@@ -2267,6 +2267,7 @@ defineTool({
2267
2267
  " - disk_gb (optional): /workspace volume size in GB (default 10, 1\u2013100).",
2268
2268
  " - hoststack_api_key (optional): sets HOSTSTACK_API_KEY so the hoststack MCP works inside the container.",
2269
2269
  " - poststack_api_key (optional): sets POSTSTACK_API_KEY so the poststack MCP works inside the container.",
2270
+ " - repo_url (optional): clone this git URL into /workspace on first boot (with optional branch).",
2270
2271
  "",
2271
2272
  "Returns: { service: Service, volumeAttached: boolean, deployId: number | null }. Open the Terminal tab on the service (dashboard or phone) once it is running; log in once with `claude /login` inside the container.",
2272
2273
  "",
@@ -2278,7 +2279,11 @@ defineTool({
2278
2279
  plan: z13.enum(SERVICE_PLANS).optional().describe('Service size (default "micro").'),
2279
2280
  disk_gb: z13.number().int().min(1).max(100).optional().describe("/workspace volume size in GB (default 10)."),
2280
2281
  hoststack_api_key: z13.string().optional().describe("Value for HOSTSTACK_API_KEY (enables the hoststack MCP in-container)."),
2281
- poststack_api_key: z13.string().optional().describe("Value for POSTSTACK_API_KEY (enables the poststack MCP in-container).")
2282
+ poststack_api_key: z13.string().optional().describe("Value for POSTSTACK_API_KEY (enables the poststack MCP in-container)."),
2283
+ repo_url: z13.string().max(500).optional().describe(
2284
+ "Clone this git URL into /workspace on first boot (HTTPS, or SSH once a key is set)."
2285
+ ),
2286
+ branch: z13.string().max(200).optional().describe("Branch to clone (with repo_url).")
2282
2287
  },
2283
2288
  handler: async (args, ctx) => {
2284
2289
  const teamId = await ctx.resolveTeamId();
@@ -2311,6 +2316,19 @@ defineTool({
2311
2316
  value: args.poststack_api_key,
2312
2317
  isSecret: true
2313
2318
  });
2319
+ if (args.repo_url) {
2320
+ envVars.push({
2321
+ key: "HOSTSTACK_DEVENV_REPO_URL",
2322
+ value: args.repo_url,
2323
+ isSecret: false
2324
+ });
2325
+ if (args.branch)
2326
+ envVars.push({
2327
+ key: "HOSTSTACK_DEVENV_BRANCH",
2328
+ value: args.branch,
2329
+ isSecret: false
2330
+ });
2331
+ }
2314
2332
  if (envVars.length > 0) {
2315
2333
  await ctx.hoststack.envVars.bulkSet(teamId, service.id, { vars: envVars });
2316
2334
  }