@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.
@@ -2263,6 +2263,7 @@ defineTool({
2263
2263
  " - disk_gb (optional): /workspace volume size in GB (default 10, 1\u2013100).",
2264
2264
  " - hoststack_api_key (optional): sets HOSTSTACK_API_KEY so the hoststack MCP works inside the container.",
2265
2265
  " - poststack_api_key (optional): sets POSTSTACK_API_KEY so the poststack MCP works inside the container.",
2266
+ " - repo_url (optional): clone this git URL into /workspace on first boot (with optional branch).",
2266
2267
  "",
2267
2268
  "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.",
2268
2269
  "",
@@ -2274,7 +2275,11 @@ defineTool({
2274
2275
  plan: z13.enum(SERVICE_PLANS).optional().describe('Service size (default "micro").'),
2275
2276
  disk_gb: z13.number().int().min(1).max(100).optional().describe("/workspace volume size in GB (default 10)."),
2276
2277
  hoststack_api_key: z13.string().optional().describe("Value for HOSTSTACK_API_KEY (enables the hoststack MCP in-container)."),
2277
- poststack_api_key: z13.string().optional().describe("Value for POSTSTACK_API_KEY (enables the poststack MCP in-container).")
2278
+ poststack_api_key: z13.string().optional().describe("Value for POSTSTACK_API_KEY (enables the poststack MCP in-container)."),
2279
+ repo_url: z13.string().max(500).optional().describe(
2280
+ "Clone this git URL into /workspace on first boot (HTTPS, or SSH once a key is set)."
2281
+ ),
2282
+ branch: z13.string().max(200).optional().describe("Branch to clone (with repo_url).")
2278
2283
  },
2279
2284
  handler: async (args2, ctx) => {
2280
2285
  const teamId = await ctx.resolveTeamId();
@@ -2307,6 +2312,19 @@ defineTool({
2307
2312
  value: args2.poststack_api_key,
2308
2313
  isSecret: true
2309
2314
  });
2315
+ if (args2.repo_url) {
2316
+ envVars.push({
2317
+ key: "HOSTSTACK_DEVENV_REPO_URL",
2318
+ value: args2.repo_url,
2319
+ isSecret: false
2320
+ });
2321
+ if (args2.branch)
2322
+ envVars.push({
2323
+ key: "HOSTSTACK_DEVENV_BRANCH",
2324
+ value: args2.branch,
2325
+ isSecret: false
2326
+ });
2327
+ }
2310
2328
  if (envVars.length > 0) {
2311
2329
  await ctx.hoststack.envVars.bulkSet(teamId, service.id, { vars: envVars });
2312
2330
  }