Skip to main content
Glama

Calculate Late Payment Interest

calculate_late_payment_interest
Read-onlyIdempotent

Simple interest on an overdue invoice: amount x annual rate x days overdue / 365, plus a flat late fee. Mode "annual" (contract rate per year), "monthly" (rate per month, converted x12), or "uk" (UK Late Payment of Commercial Debts Act: 8% + Bank of England base rate, plus fixed compensation of GBP 40/70/100 by debt size). Same math as revexos.com/late-payment-interest-calculator. Whether interest can be charged depends on the contract and jurisdiction.

Input Schema

NameRequiredDescriptionDefault
modeYes
amountYesInvoice amount outstanding.
due_dateYesInvoice due date, YYYY-MM-DD.
flat_feeNoannual/monthly modes: flat late fee to add. Default 0.
paid_dateNoPayment date or the date to calculate to, YYYY-MM-DD. Default today.
annual_rate_pctNoannual mode: rate per year in %.
monthly_rate_pctNomonthly mode: rate per month in %, e.g. 1.5.
uk_base_rate_pctNouk mode: Bank of England base rate in % on the relevant reference date (30 June or 31 December before the debt became overdue).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds real behavioral context: the exact interest formula, the x12 monthly conversion, the UK 8% + base rate rule and GBP 40/70/100 fixed compensation tiers, plus the jurisdiction 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-loads the formula and mode definitions, then closes with the caveat. Dense but every clause carries information; the mode enumeration is a bit compressed but not wasteful.

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 an 8-parameter calculator with no output schema, the description supplies the computation logic so an agent understands what the result represents (interest plus flat fee). It does not explicitly name the returned field/structure, which is the only notable gap.

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 high (88%), so the schema documents most fields. The description still adds meaning the schema lacks: the mode enum values are only listed as strings in the schema, but the description explains what each mode means and which rate parameter applies, plus the flat fee behavior.

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 ('Calculate Late Payment Interest') and immediately clarifies it is simple interest on an overdue invoice with the exact formula. The three mode semantics (annual/monthly/uk) further distinguish it from generic date or proration calculators among 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?

Explains which mode to pick (contract annual rate, monthly rate converted x12, UK statutory) and warns that charging interest depends on contract and jurisdiction. It does not explicitly route against siblings like calculate_invoice_due_date or calculate_proration, so it falls short of full when/when-not guidance.

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