deploy_heim_application
Deploys an application to the Heim MCP server's local runtime, making it accessible via http://127.0.0.1:3000/ as defined in the OpenAPI specification. Requires the application folder root path as input.
Instructions
Runs 'heim deploy' command to deploy an application to a local Heim runtime. Which will make the application availible on http://127.0.0.1:3000 where is the path defined in your OpenAPI specification
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute windows path to the application folder root |
Implementation Reference
- src/tools.ts:117-137 (handler)The async handler function for the 'deploy_heim_application' tool. It executes the 'heim deploy' command using the provided path and returns the stdout/stderr or an error response.async (request) => { const execPromise = util.promisify(exec); try { const { stdout, stderr } = await execPromise( `heim deploy ${request.path}` ); 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:100-116 (schema)Input schema and metadata (title, description, annotations) for the 'deploy_heim_application' tool, using Zod for validation.{ title: "Deploy Heim Application", description: "Runs 'heim deploy' command to deploy an application to a local Heim runtime. Which will make the application availible on http://127.0.0.1:3000<PATH> where <PATH> is the path defined in your OpenAPI specification", inputSchema: { path: z .string() .describe("Absolute windows path to the application folder root") .optional(), }, annotations: { destructiveHint: false, readOnlyHint: false, idempotentHint: true, openWorldHint: false, }, },
- src/tools.ts:97-138 (registration)Full registration of the 'deploy_heim_application' tool via server.registerTool within the registerTools function, including name, schema, and handler.// TOOL: deploy_heim_application server.registerTool( "deploy_heim_application", { title: "Deploy Heim Application", description: "Runs 'heim deploy' command to deploy an application to a local Heim runtime. Which will make the application availible on http://127.0.0.1:3000<PATH> where <PATH> is the path defined in your OpenAPI specification", inputSchema: { path: z .string() .describe("Absolute windows path to the application folder root") .optional(), }, annotations: { destructiveHint: false, readOnlyHint: false, idempotentHint: true, openWorldHint: false, }, }, async (request) => { const execPromise = util.promisify(exec); try { const { stdout, stderr } = await execPromise( `heim deploy ${request.path}` ); return { content: [ { type: "text", text: `stdout:\n${stdout}\nstderr:\n${stderr}`, }, ], }; } catch (err: any) { return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true, }; } } );