Skip to main content
Glama

DMD Costs legal costs tools

Interest on damages calculator (special account rate, 2%, 8%)

calculate_interest_on_damages
Read-onlyIdempotent

Works out interest on damages before judgment in England and Wales (Senior Courts Act 1981 s.35A; County Courts Act 1984 s.69), head by head: general damages for pain, suffering and loss of amenity at 2% a year from service of the claim form; past losses running to the end date at half the Court Funds Office special account rate from when they began; a loss on one date (a large expense, a bereavement award, funeral costs) at the full rate; a loss that stopped before the end date by one of three methods; and a debt at 8%, another rate or Bank Rate plus a margin, with wording for the particulars of claim (CPR 16.4(2)). Uses every special account rate since 1 February 1993, credits interest on interim payments against the past losses, and gives the daily rate. No interest on future losses. With mode "latePayment" it works out statutory interest on business debts under the Late Payment of Commercial Debts (Interest) Act 1998 instead: 8% over Bank Rate on the 30 June or 31 December before interest starts, from the day after the agreed or default payment date (s.4), and the £40, £70 or £100 fixed sum for each debt (s.5A).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "calculate_interest_on_damages"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNo"damages" (the default): interest on heads of damages or a debt under s.35A or s.69, using heads. "latePayment": statutory interest and fixed sums on business debts under the Late Payment of Commercial Debts (Interest) Act 1998, using debts.
courtNoCounty Court (s.69, the default) or High Court (s.35A); only changes the wording for a debt.
debtsNomode "latePayment" only: the unpaid invoices, each a qualifying debt under a contract for goods or services between businesses (up to 12).
headsNoThe heads of loss, each worked out on its own.
endDateNoThe date to calculate to: trial, judgment or settlement; for a claim form, the date of issue or earlier (defaults to today).
longTermsNomode "latePayment" only, where agreed terms run past 60 days (s.4(2E)) or a 30-day verification period (s.4(5C)): "limit" (the default) applies the limit; "agreed" treats the longer terms as not grossly unfair (s.4(2F), (5D)).
interimRateNoCredit interest on interim payments at the "full" special account rate (the default) or "half" of it; courts differ.
interimPaymentsNoInterim payments, each with a date and an amount. Interest on them is credited against the interest on past losses.
publicAuthorityNomode "latePayment" only: true if the purchaser is a public authority (s.4(8)), so an agreed date cannot push the start past the 30-day period (s.4(2D)).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / debts / items / properties / agreed / description
      Previous value: -"The payment date agreed in the contract, if any (YYYY-MM-DD)."New value: +"The payment date agreed in the contract, if any."
    • changedInput schema / properties / debts / items / properties / amount / description
      Previous value: -"The sum due on the invoice, including VAT if VAT was charged (our reading of the Act), in pounds, e.g. \"12500\" or \"12,500.50\"."New value: +"The sum due on the invoice, including VAT if VAT was charged (our reading of the Act), in pounds (e.g. \"12500.50\")."
    • changedInput schema / properties / debts / items / properties / notice / description
      Previous value: -"The day the purchaser had notice of the amount, usually the day the invoice was received (YYYY-MM-DD)."New value: +"The day the purchaser had notice of the amount, usually the day the invoice was received."
    • changedInput schema / properties / debts / items / properties / performed / description
      Previous value: -"The day the supplier delivered the goods or finished the services, if later than the notice (YYYY-MM-DD)."New value: +"The day the supplier delivered the goods or finished the services, if later than the notice."
    • changedInput schema / properties / debts / items / properties / verified / description
      Previous value: -"The day an acceptance or verification procedure was completed, if the contract has one (YYYY-MM-DD)."New value: +"The day an acceptance or verification procedure was completed, if the contract has one."
    • changedInput schema / properties / endDate / description
      Previous value: -"The date to calculate to: trial, judgment or settlement; for a claim form, the date of issue or earlier (defaults to today) (YYYY-MM-DD)."New value: +"The date to calculate to: trial, judgment or settlement; for a claim form, the date of issue or earlier (defaults to today)."
    • changedInput schema / properties / heads / items / properties / amount / description
      Previous value: -"The amount of the head (past losses before deducting recoverable benefits; lost earnings net of tax), in pounds, e.g. \"12500\" or \"12,500.50\"."New value: +"The amount of the head (past losses before deducting recoverable benefits; lost earnings net of tax), in pounds (e.g. \"12500.50\")."
    • changedInput schema / properties / heads / items / properties / from / description
      Previous value: -"\"psla\": the date the claim form was served. \"continuing\" and \"ended\": the date the loss began. \"oneoff\": the date it was incurred. \"debt\": the date it fell due (YYYY-MM-DD)."New value: +"\"psla\": the date the claim form was served. \"continuing\" and \"ended\": the date the loss began. \"oneoff\": the date it was incurred. \"debt\": the date it fell due."
    • changedInput schema / properties / heads / items / properties / to / description
      Previous value: -"\"ended\" only: the date the loss stopped (YYYY-MM-DD)."New value: +"\"ended\" only: the date the loss stopped."
    • changedInput schema / properties / interimPayments / items / properties / amount / description
      Previous value: -"Amount paid, in pounds, e.g. \"12500\" or \"12,500.50\"."New value: +"Amount paid, in pounds (e.g. \"12500.50\")."
    • changedInput schema / properties / interimPayments / items / properties / date / description
      Previous value: -"Date paid (YYYY-MM-DD)."New value: +"Date paid."
  2. Changed5 schema fields changed
    • addedInput schema / properties / debts
      Added value: +{
      +  "description": "mode \"latePayment\" only: the unpaid invoices, each a qualifying debt under a contract for goods or services between businesses (up to 12).",
      +  "items": {
      +    "properties": {
      +      "agreed": {
      +        "description": "The payment date agreed in the contract, if any (YYYY-MM-DD).",
      +        "format": "date",
      +        "type": "string"
      +      },
      +      "amount": {
      +        "description": "The sum due on the invoice, including VAT if VAT was charged (our reading of the Act), in pounds, e.g. \"12500\" or \"12,500.50\".",
      +        "type": "string"
      +      },
      +      "label": {
      +        "description": "A name for the debt, such as \"Invoice 1043\".",
      +        "type": "string"
      +      },
      +      "notice": {
      +        "description": "The day the purchaser had notice of the amount, usually the day the invoice was received (YYYY-MM-DD).",
      +        "format": "date",
      +        "type": "string"
      +      },
      +      "performed": {
      +        "description": "The day the supplier delivered the goods or finished the services, if later than the notice (YYYY-MM-DD).",
      +        "format": "date",
      +        "type": "string"
      +      },
      +      "verified": {
      +        "description": "The day an acceptance or verification procedure was completed, if the contract has one (YYYY-MM-DD).",
      +        "format": "date",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "amount",
      +      "notice"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / longTerms
      Added value: +{
      +  "description": "mode \"latePayment\" only, where agreed terms run past 60 days (s.4(2E)) or a 30-day verification period (s.4(5C)): \"limit\" (the default) applies the limit; \"agreed\" treats the longer terms as not grossly unfair (s.4(2F), (5D)).",
      +  "enum": [
      +    "limit",
      +    "agreed"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / mode
      Added value: +{
      +  "description": "\"damages\" (the default): interest on heads of damages or a debt under s.35A or s.69, using heads. \"latePayment\": statutory interest and fixed sums on business debts under the Late Payment of Commercial Debts (Interest) Act 1998, using debts.",
      +  "enum": [
      +    "damages",
      +    "latePayment"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / publicAuthority
      Added value: +{
      +  "description": "mode \"latePayment\" only: true if the purchaser is a public authority (s.4(8)), so an agreed date cannot push the start past the 30-day period (s.4(2D)).",
      +  "type": "boolean"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "heads"
      -]
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, and the description still adds substantial behavioural context: rates used since 1 February 1993, the daily rate output, crediting of interest on interim payments against past losses, defaults (endDate to today, statutory 8% rate), and the s.5A fixed sums in latePayment mode. This is materially more than the annotations supply.

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

Conciseness3/5

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

The opening clause is well front-loaded and little of the content is filler, but the body is a single unbroken block that packs two modes, five head types and a statutory citation into one paragraph. A reader must parse linearly rather than scan, which hurts an agent selecting among 37 sibling tools.

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

Completeness4/5

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

For a nine-parameter, domain-heavy calculator with no output schema, the description covers mode selection, head semantics, defaults and exclusions thoroughly. What is left implicit is the shape of the result beyond 'gives the daily rate' and the particulars-of-claim wording — an agent knows how to call it but not exactly what it receives.

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 legal meaning the schema cannot carry: why a continuing loss runs at half the special account rate, why a one-off loss runs at the full rate, and what 'ended' means in practice. It stops short of explaining the interimRate and longTerms switches, which remain schema-only.

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 and resource ('works out interest on damages before judgment in England and Wales'), grounds it in the governing statutes (s.35A / s.69) and enumerates the head types it handles. 'Before judgment' plus 'damages' cleanly separates it from calculate_judgment_interest and calculate_interest_on_costs among the siblings.

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

Usage Guidelines4/5

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

Explicitly routes between the two modes ('With mode "latePayment" it works out statutory interest on business debts ... instead') and gives a clear exclusion ('No interest on future losses'). It does not name the neighbouring tools an agent might otherwise pick (judgment interest, interest on costs), so the when-to-use guidance is strong but not fully comparative.

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