Skip to main content
Glama

Zovo Depreciation Schedule

Generate a depreciation schedule for several assets

generate_depreciation_schedule
Read-onlyIdempotent

Use this when the user wants a depreciation schedule template filled in for several assets or a fixed asset register: a list of assets, pasted CSV, or an attached CSV/Excel file, each with cost, date placed in service and method (straight-line, declining balance, sum-of-the-years' digits, units of production or MACRS). Returns each asset's schedule, totals by year, the IRS 40% mid-quarter test for MACRS assets, and a PDF, Excel workbook and CSV. Rows that cannot be read are listed with the reason, never dropped silently. Does not model Section 179, bonus depreciation, ADS or dispositions, and is not tax advice. Do not use for a single asset (use calculate_depreciation).

Input Schema

NameRequiredDescriptionDefault
fileNoOptional fixed-asset list as a CSV, TSV or Excel .xlsx file with one asset per row, e.g. fixed-assets.xlsx. Columns like Asset, Cost, Date placed in service, Method, Life or Class, Salvage are detected from the headings.
titleNoTitle for the PDF and spreadsheet, e.g. "Acme LLC fixed assets 2026".
assetsNoThe assets: an array of objects with name, cost, placed_in_service, method, useful_life_years or property_class, salvage_value, e.g. [{"name":"Laptop","cost":2400,"placed_in_service":"2026-03-15","method":"macrs","property_class":5}]. Or pasted CSV / one asset per line text, e.g. "Laptop, 2400, 2026-03-15, 5-year".
methodNoDefault method for assets that do not name one, e.g. macrs or straight_line.
conventionNoDefault convention. For MACRS leave it out to let the 40% mid-quarter test decide per year, or pass half_year or mid_quarter.
declining_rateNoDefault declining balance rate in percent, 200 or 150.
placed_in_serviceNoDefault date placed in service for assets without one, e.g. 2026-01-01.
useful_life_yearsNoDefault useful life in years for book methods, e.g. 5.

Output Schema

NameRequiredDescriptionDefault
assetsYes
by_yearYes
skippedYes
summaryYes
currencyYes
tax_noteYes
warningsYes
downloadsYes
asset_countYes
assumptionsYes
skipped_countYes
assets_not_shownYes
mid_quarter_testYes
total_cost_basisYes
total_depreciationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds substantial context beyond them: what is returned (per-asset schedules, yearly totals, the IRS 40% mid-quarter test, PDF/Excel/CSV artifacts) and the silent-failure guarantee ('Rows that cannot be read are listed with the reason, never dropped silently'). It also discloses a precise modeling boundary (no Section 179, bonus depreciation, ADS, dispositions) and a 'not tax advice' caveat.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the trigger condition, followed by accepted inputs, outputs, then limitations and the exclusion — a logical order with no filler sentences. It runs long as a single dense paragraph, which slightly hurts scannability for a description this feature-rich.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, nested-object tool with an output schema, the description covers the trigger, accepted input shapes, method vocabulary, output artifacts, error handling, and modeling limits. An agent has everything needed to select it and call it correctly, with return-value detail appropriately delegated to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema lacks: it enumerates the supported methods (straight-line, declining balance, sum-of-the-years'-digits, units of production, MACRS) for a free-string method parameter with no enum, and explains that omitting convention lets the 40% mid-quarter test decide per year. It does not restate every default parameter, which is appropriate given the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (generate a depreciation schedule) and immediately scopes it to 'several assets or a fixed asset register', then names the sibling it is not for. An agent can distinguish it from calculate_depreciation without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('Use this when the user wants a depreciation schedule template filled in for several assets'), including the three accepted input shapes, plus an explicit exclusion with a named alternative ('Do not use for a single asset (use calculate_depreciation)'). Nothing is left to inference about routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources