deploy_heim_application_to_cloud
Deploy backend applications to Heim cloud by specifying the absolute path to the application folder. Outputs the deployment path for immediate access.
Instructions
Runs 'heim deploy' command to deploy an application to Heim cloud. Which will make the application availible on the path outputted in the console
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute windows path to the application folder root |
Implementation Reference
- src/tools.ts:160-181 (handler)Executes the 'heim deploy --cloud' command on the provided application path, returns stdout and stderr as text content, or an error response if the command fails.async (request) => { const execPromise = util.promisify(exec); try { //TODO: Update to use org and project when a user has multiple orgs and projects const { stdout, stderr } = await execPromise( `heim deploy ${request.path} --cloud` ); return { content: [ { type: "text", text: `stdout:\n${stdout}\nstderr:\n${stderr}`, }, ], }; } catch (err: any) { return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true, }; } }
- src/tools.ts:147-152 (schema)Zod input schema for the tool, defining an optional 'path' parameter as a string describing the absolute path to the application folder.inputSchema: { path: z .string() .describe("Absolute windows path to the application folder root") .optional(), },
- src/tools.ts:141-182 (registration)Registers the 'deploy_heim_application_to_cloud' tool with the MCP server inside the registerTools function, including title, description, input schema, annotations, and inline handler.server.registerTool( "deploy_heim_application_to_cloud", { title: "Deploy Heim Application to Cloud", description: "Runs 'heim deploy' command to deploy an application to Heim cloud. Which will make the application availible on the path outputted in the console", inputSchema: { path: z .string() .describe("Absolute windows path to the application folder root") .optional(), }, annotations: { destructiveHint: false, readOnlyHint: false, idempotentHint: true, openWorldHint: true, }, }, async (request) => { const execPromise = util.promisify(exec); try { //TODO: Update to use org and project when a user has multiple orgs and projects const { stdout, stderr } = await execPromise( `heim deploy ${request.path} --cloud` ); return { content: [ { type: "text", text: `stdout:\n${stdout}\nstderr:\n${stderr}`, }, ], }; } catch (err: any) { return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true, }; } } );