UNPKG

jobnimbus-mcp-client

Version:

JobNimbus MCP Client - Connect Claude Desktop to remote JobNimbus MCP server

46 lines 1.92 kB
/** * Calculate Siding Materials Tool - Simplified Implementation */ import { BaseTool } from '../baseTool.js'; export class CalculateSidingMaterialsTool extends BaseTool { get definition() { return { name: 'calculate_siding_materials', description: 'Calculate siding materials with wall area, deductions, and accessories', inputSchema: { type: 'object', properties: { wall_area_sqft: { type: 'number', description: 'Total wall area in square feet' }, siding_type: { type: 'string', description: 'Type of siding material' }, window_area_sqft: { type: 'number', description: 'Total window area to deduct' }, door_area_sqft: { type: 'number', description: 'Total door area to deduct' } }, required: ['wall_area_sqft', 'siding_type'] } }; } async execute(input) { const net_area = input.wall_area_sqft - (input.window_area_sqft || 0) - (input.door_area_sqft || 0); const waste_factor = 0.15; const total_area = net_area * (1 + waste_factor); return { success: true, materials: [{ name: `${input.siding_type} Siding`, quantity: Math.ceil(total_area / 100), uom: 'square', unit_cost: 250, unit_price: 375, total_cost: Math.ceil(total_area / 100) * 250, total_price: Math.ceil(total_area / 100) * 375 }], totals: { net_area_sqft: net_area, total_area_with_waste: total_area, waste_factor } }; } } export default () => new CalculateSidingMaterialsTool(); //# sourceMappingURL=calculateSidingMaterials.js.map