Skip to main content
Glama

depreciation_declining_balance

Calculate declining balance depreciation schedules for assets using accelerated write-off methods to determine annual depreciation expenses based on cost, salvage value, and useful life.

Instructions

Calculate declining balance depreciation schedule

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
costYes
rateNoDeclining balance rate (e.g., 2.0 for double-declining)
salvageValueYes
usefulLifeYes

Implementation Reference

  • Core implementation of declining balance depreciation calculation, handling book value updates and salvage value constraints.
    @staticmethod def declining_balance(cost: float, salvage_value: float, useful_life: int, rate: float = 2.0) -> List[float]: """Calculate declining balance depreciation""" depreciation_schedule = [] book_value = cost annual_rate = rate / useful_life for year in range(useful_life): depreciation = book_value * annual_rate if book_value - depreciation < salvage_value: depreciation = book_value - salvage_value depreciation_schedule.append(depreciation) book_value -= depreciation if book_value <= salvage_value: break while len(depreciation_schedule) < useful_life: depreciation_schedule.append(0) return depreciation_schedule
  • MCP tool handler function that bridges to the Python DepreciationCalculator.declining_balance method.
    handler: async (args: any): Promise<ToolResult> => { try { const result = await pythonBridge.callPythonFunction({ module: 'financial_calculations', function: 'DepreciationCalculator.declining_balance', args: [args.cost, args.salvageValue, args.usefulLife, args.rate || 2.0] }); return result; } catch (error) { return { success: false, error: error instanceof Error ? error.message : String(error) }; } }
  • Input schema defining parameters for the depreciation_declining_balance tool.
    inputSchema: { type: "object", properties: { cost: { type: "number" }, salvageValue: { type: "number" }, usefulLife: { type: "number" }, rate: { type: "number", default: 2.0, description: "Declining balance rate (e.g., 2.0 for double-declining)" } }, required: ["cost", "salvageValue", "usefulLife"] },
  • Tool object registration in financialTools array export, including name, description, schema, and handler.
    { name: "depreciation_declining_balance", description: "Calculate declining balance depreciation schedule", inputSchema: { type: "object", properties: { cost: { type: "number" }, salvageValue: { type: "number" }, usefulLife: { type: "number" }, rate: { type: "number", default: 2.0, description: "Declining balance rate (e.g., 2.0 for double-declining)" } }, required: ["cost", "salvageValue", "usefulLife"] }, handler: async (args: any): Promise<ToolResult> => { try { const result = await pythonBridge.callPythonFunction({ module: 'financial_calculations', function: 'DepreciationCalculator.declining_balance', args: [args.cost, args.salvageValue, args.usefulLife, args.rate || 2.0] }); return result; } catch (error) { return { success: false, error: error instanceof Error ? error.message : String(error) }; } } },
  • src/index.ts:32-44 (registration)
    Global registration where financialTools are included in the allTools array used by MCP server handlers.
    const allTools = [ ...excelTools, ...financialTools, ...rentalTools, ...expenseTools, ...reportingTools, ...cashFlowTools, ...taxTools, ...analyticsTools, ...chartTools, ...complianceTools, ...propertyTools, ];

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jeremycharlesgillespie/excel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server