DMD Costs legal costs tools

Free tools for civil costs in England and Wales: CPR deadlines, Part 36, fees, interest.

我该使用它吗

质量与安全性

A
描述质量
98%
模式完整度
99%
命名质量
95%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(3)

  • LOWTool 'calculate_deemed_service' description lacks action verb在 calculate_deemed_service 中
  • LOWTool 'calculate_pre_action_protocol_deadlines' name length outside 3-30 range在 calculate_pre_action_protocol_deadlines 中
  • LOWTool 'calculate_detailed_assessment_deadlines' name length outside 3-30 range在 calculate_detailed_assessment_deadlines 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~10,315token 数(工具定义)
~7.3 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 8.06%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "dmd-costs-tools": {
      "url": "https://www.dmdcosts.co.uk/mcp"
    }
  }
}

远程端点

https://www.dmdcosts.co.uk/mcpstreamable-http

它能做什么

工具清单

工具(13)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_legal_costs_help(query)

Answers costs questions from solicitors in England and Wales, on either side of a claim: budgets, Part 36, settlement, detailed assessment, interest and getting paid. Searches about 30 short answers, each citing its CPR rule, practice direction or statute, a glossary of legal costs terms, and a guide to the court forms and costs precedents (N252, N254, N258, N260, Precedents A to U), with the official version of each form and the free tool that fills it in. Use it for 'what is', 'when must', 'who pays', 'how do we' and 'which form' questions about civil costs in England and Wales.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The question or term, in plain words, e.g. 'who pays the costs of detailed assessment' or 'default costs certificate'."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢calculate_cpr_deadline(preset, event, direction, amount, unit, ...)

Works out a deadline under the Civil Procedure Rules in England and Wales from a date: clear days (CPR 2.8(2) and (3)), the 5-day rule (CPR 2.8(4)), calendar months (CPR 2.10), court office closures (CPR 2.8(5) and PD 2A) and the latest days to email or post a document for deemed service (CPR 6.26). Name a common time limit as a preset (for example the defence, the acknowledgment of service, the appellant's notice or Points of Dispute), or give your own period, plus the date it runs from.

输入模式

{
  "type": "object",
  "properties": {
    "preset": {
      "type": "string",
      "enum": [
        "",
        "claim-form-service",
        "particulars-to-follow",
        "acknowledgment",
        "defence-14",
        "defence-28",
        "application-notice",
        "statement-of-costs-fast-track",
        "appellants-notice",
        "part-36-relevant-period",
        "notice-of-commencement",
        "points-of-dispute",
        "replies",
        "request-assessment",
        "costs-officer-appeal"
      ],
      "description": "A common time limit: \"claim-form-service\", \"particulars-to-follow\", \"acknowledgment\", \"defence-14\" (no acknowledgment filed), \"defence-28\" (after an acknowledgment), \"application-notice\", \"statement-of-costs-fast-track\" (fast track trial), \"appellants-notice\", \"part-36-relevant-period\" (21 days), \"notice-of-commencement\" (N252), \"points-of-dispute\", \"replies\" (to Points of Dispute), \"request-assessment\" (N258), \"costs-officer-appeal\" (from an authorised court officer). Leave \"\" to give your own period."
    },
    "event": {
      "type": "string",
      "format": "date",
      "description": "The date the period runs from: the date of service, of the decision, of the hearing or other event (YYYY-MM-DD)."
    },
    "direction": {
      "type": "string",
      "enum": [
        "within",
        "before",
        "after"
      ],
      "description": "Without a preset: \"within\" a period after the event (default), at least a period \"before\" it, or at least a period \"after\" it (gives the earliest day)."
    },
    "amount": {
      "type": "string",
      "description": "Without a preset: the length of the period, e.g. \"14\"."
    },
    "unit": {
      "type": "string",
      "enum": [
        "days",
        "months"
      ],
      "description": "Without a preset: \"days\" (default) or \"months\" (months only for a period after the event)."
    },
    "act": {
      "type": "string",
      "enum": [
        "court",
        "serve",
        "other"
      ],
      "description": "Without a preset: \"court\" for a filing at court (default), \"serve\" for a document to be served, \"other\" for anything else."
    }
  },
  "required": [
    "event"
  ],
  "additionalProperties": false
}
🟢calculate_pre_action_protocol_deadlines(protocol, letterDate, sentDate, receivedDate, ackDate, ...)

Works out the dates the main pre-action protocols in England and Wales set after a letter of claim, counted the way each protocol words them, with the paragraph for each: housing conditions (20 working days from receipt, deemed 2 days after the letter's date; inspection; expert's report), clinical disputes (14 days from receipt; Letter of Response 4 months from the letter of claim, and from receipt), personal injury (21 calendar days from posting; 3 months from the acknowledgment), disease and illness including hearing loss (21 days from posting; 90 days from the acknowledgment), professional negligence, construction and engineering, debt claims, and the Practice Direction where no protocol applies. Flags dates that fall on a weekend or bank holiday (protocol periods do not roll forward).

输入模式

{
  "type": "object",
  "properties": {
    "protocol": {
      "type": "string",
      "enum": [
        "housing",
        "clinical",
        "pi",
        "disease",
        "profneg",
        "construction",
        "debt",
        "none"
      ],
      "description": "The protocol: \"housing\" (Housing conditions (disrepair), England or Wales), \"clinical\" (Clinical disputes (clinical negligence)), \"pi\" (Personal injury), \"disease\" (Disease and illness (including hearing loss)), \"profneg\" (Professional negligence), \"construction\" (Construction and engineering), \"debt\" (Debt claims (business against an individual)), \"none\" (No specific protocol (the Practice Direction))."
    },
    "letterDate": {
      "type": "string",
      "format": "date",
      "description": "Housing, clinical and debt: the date of the letter of claim (YYYY-MM-DD)."
    },
    "sentDate": {
      "type": "string",
      "format": "date",
      "description": "Personal injury and disease: the date the letter of claim was posted or sent (YYYY-MM-DD)."
    },
    "receivedDate": {
      "type": "string",
      "format": "date",
      "description": "Clinical, professional negligence, construction and no protocol: the date the letter of claim was received (YYYY-MM-DD)."
    },
    "ackDate": {
      "type": "string",
      "format": "date",
      "description": "Personal injury, disease and professional negligence: the date of the defendant's acknowledgment (YYYY-MM-DD)."
    },
    "responseDate": {
      "type": "string",
      "format": "date",
      "description": "Housing: the date of the landlord's response, for the inspection (YYYY-MM-DD)."
    },
    "inspectionDate": {
      "type": "string",
      "format": "date",
      "description": "Housing: the date of the inspection, for the expert's report (YYYY-MM-DD)."
    },
    "recordsDate": {
      "type": "string",
      "format": "date",
      "description": "Clinical and disease: the date the records were requested (YYYY-MM-DD)."
    },
    "replyDate": {
      "type": "string",
      "format": "date",
      "description": "Debt: the date the completed Reply Form was received (YYYY-MM-DD)."
    },
    "foreign": {
      "type": "boolean",
      "description": "Personal injury and disease: the accident or negligence was abroad, or the defendant is outside England and Wales."
    }
  },
  "required": [
    "protocol"
  ],
  "additionalProperties": false
}
🟢calculate_detailed_assessment_deadlines(rightToCostsKind, rightToCostsDate, noticeServed, pointsServed, provisionalReceived, ...)

Works out the CPR Part 47 detailed assessment timetable in England and Wales from the dates you have: the last day to serve the notice of commencement (N252), Points of Dispute, the first day for a default costs certificate (N254), Replies, the request for an assessment hearing (N258), provisional assessment steps and payment. Allows for deemed service, weekends, bank holidays and court office closures. Give at least the right to costs (its kind and date).

输入模式

{
  "type": "object",
  "properties": {
    "rightToCostsKind": {
      "type": "string",
      "enum": [
        "judgment",
        "stay-lifted",
        "discontinuance-served",
        "discontinuance-upheld",
        "part-36-accepted"
      ],
      "description": "What gave the right to costs: \"judgment\" (Judgment or order), \"stay-lifted\" (Stay lifted after appeal), \"discontinuance-served\" (Discontinuance served), \"discontinuance-upheld\" (Discontinuance upheld), \"part-36-accepted\" (Part 36 offer accepted)."
    },
    "rightToCostsDate": {
      "type": "string",
      "format": "date",
      "description": "The date of that judgment, order or event (YYYY-MM-DD)."
    },
    "noticeServed": {
      "type": "string",
      "format": "date",
      "description": "The date the notice of commencement was served (deemed service), if it has been (YYYY-MM-DD)."
    },
    "pointsServed": {
      "type": "string",
      "format": "date",
      "description": "The date Points of Dispute were served, if they have been (YYYY-MM-DD)."
    },
    "provisionalReceived": {
      "type": "string",
      "format": "date",
      "description": "The date the provisional assessment was received, if there was one (YYYY-MM-DD)."
    },
    "hearingDate": {
      "type": "string",
      "format": "date",
      "description": "The date of the detailed assessment hearing, if one is listed (YYYY-MM-DD)."
    },
    "hearingEnded": {
      "type": "string",
      "format": "date",
      "description": "The date the detailed assessment hearing ended, if it has (YYYY-MM-DD)."
    },
    "certificateDate": {
      "type": "string",
      "format": "date",
      "description": "The date of the final or interim costs certificate, if issued (YYYY-MM-DD)."
    }
  },
  "required": [
    "rightToCostsKind",
    "rightToCostsDate"
  ],
  "additionalProperties": false
}
🟢find_detailed_assessment_court(court, form)

Says which court office deals with a detailed assessment in England and Wales, from the court named on the case: the local County Court hearing centre or district registry, or the Senior Courts Costs Office (SCCO). Handles the London rule in PD 47 para 4.2, where the request for an assessment hearing (N258) goes to the SCCO on CE-File but the default costs certificate (N254) stays at the local hearing centre.

输入模式

{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "description": "The court as it appears on the order, e.g. 'County Court at Wandsworth', 'County Court at Manchester', 'High Court, King's Bench Division, Royal Courts of Justice'."
    },
    "form": {
      "type": "string",
      "enum": [
        "N252",
        "N254",
        "N258"
      ],
      "description": "N252 (notice of commencement), N254 (request for a default costs certificate) or N258 (request for an assessment hearing). Defaults to N258."
    }
  },
  "required": [
    "court"
  ],
  "additionalProperties": false
}
🟢calculate_deemed_service(route, servedBy, issue, cfMethod, cfStep, ...)

Works out when a claim form and particulars of claim are deemed served in England and Wales, and every date that follows: acknowledgment of service, the defence, agreed extensions and the earliest default judgment, with bank holidays and court closures. Also covers the Damages Claims Portal (PD 51ZB). Give the issue date, how and when the claim form was served, and how the particulars were served.

输入模式

{
  "type": "object",
  "properties": {
    "route": {
      "type": "string",
      "enum": [
        "part7",
        "dcp"
      ],
      "description": "\"part7\" for a claim served under Part 6 (default), \"dcp\" for the Damages Claims Portal."
    },
    "servedBy": {
      "type": "string",
      "enum": [
        "claimant",
        "court"
      ],
      "description": "Who served the claim form (default claimant)."
    },
    "issue": {
      "type": "string",
      "format": "date",
      "description": "The date the claim form was issued (YYYY-MM-DD)."
    },
    "cfMethod": {
      "type": "string",
      "enum": [
        "email",
        "first-class-post",
        "document-exchange",
        "delivery",
        "fax",
        "personal"
      ],
      "description": "How the claim form was served (default first-class-post)."
    },
    "cfStep": {
      "type": "string",
      "format": "date",
      "description": "The date of the step taken to serve the claim form (posting, sending, delivering) (YYYY-MM-DD)."
    },
    "cfTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "The time of that step, where the method is timed (24-hour HH:MM). Leave out if not known."
    },
    "courtDeemed": {
      "type": "string",
      "format": "date",
      "description": "Where the court served the claim form: the deemed service date on its notice (YYYY-MM-DD)."
    },
    "poc": {
      "type": "string",
      "enum": [
        "in-claim-form",
        "with-claim-form",
        "to-follow"
      ],
      "description": "Whether the particulars of claim are in the claim form, served with it (default), or to follow."
    },
    "pocMethod": {
      "type": "string",
      "enum": [
        "email",
        "first-class-post",
        "document-exchange",
        "delivery",
        "fax",
        "personal"
      ],
      "description": "Where the particulars followed: how they were served."
    },
    "pocDate": {
      "type": "string",
      "format": "date",
      "description": "Where the particulars followed: the date of the step taken to serve them (YYYY-MM-DD)."
    },
    "pocTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Where the particulars followed: the time of that step (24-hour HH:MM). Leave out if not known."
    },
    "aos": {
      "type": "string",
      "enum": [
        "",
        "yes",
        "no"
      ],
      "description": "Whether the defendant acknowledged service: \"yes\", \"no\" or \"\" if not known."
    },
    "extension": {
      "type": "string",
      "description": "Days of extension for the defence agreed under CPR 15.5 (up to 28), e.g. \"28\"."
    },
    "special": {
      "type": "string",
      "enum": [
        "",
        "outside",
        "crown",
        "alternative"
      ],
      "description": "Leave \"\" unless service was outside the jurisdiction, on the Crown, or by an alternative method ordered by the court."
    }
  },
  "required": [
    "issue"
  ],
  "additionalProperties": false
}
🟢calculate_civil_court_fees(court, claim, value, valueUnlimited, withMoney, ...)

Works out the main civil court fees in England and Wales, with fee numbers: the issue fee for money, non-money (such as repairs), possession, goods, costs-only (CPR 46.14) and Solicitors Act claims; hearing fees by track; applications; appeals; detailed assessment by the size of the bill; default costs certificates; and enforcement. Help with fees is not taken into account.

输入模式

{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "enum": [
        "county",
        "high"
      ],
      "description": "County Court (default) or High Court."
    },
    "claim": {
      "type": "string",
      "enum": [
        "money",
        "other-remedy",
        "goods",
        "possession",
        "costs-only",
        "solicitors-act",
        "none"
      ],
      "description": "What the claim is: \"money\" (A money claim), \"other-remedy\" (Repairs or another non-money remedy), \"goods\" (Recovery of goods), \"possession\" (Possession of land), \"costs-only\" (Costs-only proceedings (CPR 46.14)), \"solicitors-act\" (Assessment of a solicitor's bill (Solicitors Act 1974, Part 3)), \"none\" (Already issued: later fees only)."
    },
    "value": {
      "type": "string",
      "description": "The amount claimed with interest; for a non-money claim, the damages claimed with it, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "valueUnlimited": {
      "type": "boolean",
      "description": "The money claim's value is not limited or not stated."
    },
    "withMoney": {
      "type": "boolean",
      "description": "A non-money claim also claims money (default true)."
    },
    "moneyBasis": {
      "type": "string",
      "enum": [
        "additional",
        "alternative"
      ],
      "description": "Whether that money claim is additional to the other remedy or an alternative to it."
    },
    "track": {
      "type": "string",
      "enum": [
        "",
        "small",
        "fast",
        "intermediate",
        "multi"
      ],
      "description": "The track, for the hearing fee: \"small\", \"fast\", \"intermediate\", \"multi\", or \"\" for no hearing fee yet."
    },
    "hearingValue": {
      "type": "string",
      "description": "For a small claims hearing fee where there is no money claim: the sum claimed, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "applicationsOnNotice": {
      "type": "string",
      "description": "How many applications on notice, e.g. \"1\"."
    },
    "applicationsByConsent": {
      "type": "string",
      "description": "How many applications by consent or without notice, e.g. \"1\"."
    },
    "appeal": {
      "type": "string",
      "enum": [
        "",
        "high",
        "county-small",
        "county-other"
      ],
      "description": "Any appeal: to the High Court, or in the County Court (small claims, or other claims)."
    },
    "assessment": {
      "type": "boolean",
      "description": "Include the detailed assessment fee (N258), which depends on the bill."
    },
    "legalAid": {
      "type": "boolean",
      "description": "The bill is for legal aid costs only (fee 5.4)."
    },
    "billTotal": {
      "type": "string",
      "description": "The bill's total including VAT, for the assessment fee, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "billVat": {
      "type": "string",
      "description": "The VAT in that total, if known, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "dcc": {
      "type": "boolean",
      "description": "Include the fee for a default costs certificate (N254)."
    },
    "setAside": {
      "type": "boolean",
      "description": "Include the fee for setting aside a default costs certificate."
    },
    "daAppeal": {
      "type": "boolean",
      "description": "Include the fee for an appeal in detailed assessment proceedings."
    },
    "fixedCostsDetermination": {
      "type": "boolean",
      "description": "Include the fee for a fixed costs determination."
    },
    "enforcement": {
      "type": "object",
      "description": "Enforcement methods to include, as true or false: \"warrantControl\" (Warrant of control), \"warrantPossession\" (Warrant of possession or delivery), \"furtherAttempt\" (Further attempt at a new address), \"orderInfo\" (Order to attend court for questioning), \"bailiffService\" (Bailiff service of that order), \"attachment\" (Attachment of earnings order), \"charging\" (Charging order), \"tpdo\" (Third party debt order), \"judgmentSummons\" (Judgment summons), \"writ\" (High Court writ of control, possession or delivery).",
      "properties": {
        "warrantControl": {
          "type": "boolean"
        },
        "warrantPossession": {
          "type": "boolean"
        },
        "furtherAttempt": {
          "type": "boolean"
        },
        "orderInfo": {
          "type": "boolean"
        },
        "bailiffService": {
          "type": "boolean"
        },
        "attachment": {
          "type": "boolean"
        },
        "charging": {
          "type": "boolean"
        },
        "tpdo": {
          "type": "boolean"
        },
        "judgmentSummons": {
          "type": "boolean"
        },
        "writ": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
🟢calculate_interest_on_costs(court, orderKind, orderDate, costs, endDate, ...)

Works out simple interest at 8% a year on an order for costs in England and Wales: from the date of the order (or acceptance of a Part 36 offer, or the date the court set) to the date you choose, allowing for payments on account, the County Court £5,000 rule and its exceptions, and leap years. It does not decide rates where the court has a discretion.

输入模式

{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "enum": [
        "high",
        "county"
      ],
      "description": "High Court or County Court."
    },
    "orderKind": {
      "type": "string",
      "enum": [
        "assessed",
        "stated",
        "p36-in-time",
        "p36-late",
        "approval",
        "costs-only",
        "other"
      ],
      "description": "What gave the right to costs: \"assessed\" (Order for costs to be assessed if not agreed), \"stated\" (Order for costs of a stated sum (summary assessment)), \"p36-in-time\" (Part 36 offer accepted within the relevant period, after the claim was issued), \"p36-late\" (Part 36 offer accepted late, and the court decided costs), \"approval\" (Settlement approved by the court (child or protected party)), \"costs-only\" (Order in costs-only proceedings (Part 8)), \"other\" (Another order or event)."
    },
    "orderDate": {
      "type": "string",
      "format": "date",
      "description": "The date of that order or event (YYYY-MM-DD)."
    },
    "costs": {
      "type": "string",
      "description": "The costs the interest is on: the assessed or agreed sum, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "endDate": {
      "type": "string",
      "format": "date",
      "description": "The date to calculate interest to (defaults to today) (YYYY-MM-DD)."
    },
    "otherSums": {
      "type": "string",
      "description": "County Court: any other sums, such as damages, ordered in the same judgment, for the £5,000 test, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "payments": {
      "type": "array",
      "description": "Payments on account, each with a date and an amount.",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date paid (YYYY-MM-DD)."
          },
          "amount": {
            "type": "string",
            "description": "Amount paid, in pounds, e.g. \"12500\" or \"12,500.50\"."
          }
        },
        "required": [
          "date",
          "amount"
        ]
      }
    },
    "crown": {
      "type": "boolean",
      "description": "County Court: the costs are payable by the Crown, such as the MoD."
    },
    "customStart": {
      "type": "boolean",
      "description": "The court ordered interest to run from another date."
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "description": "Where customStart is true: the date interest runs from (YYYY-MM-DD)."
    }
  },
  "required": [
    "court",
    "orderKind",
    "orderDate",
    "costs"
  ],
  "additionalProperties": false
}
🟢calculate_judgment_interest(court, judgmentDate, sum, endDate, payments, ...)

Works out simple interest at 8% a year on a judgment debt in England and Wales, from the date of judgment (or a date the court ordered, or in the County Court a date for payment in the judgment) to the date you choose. High Court: any judgment (Judgments Act 1838 s.17); no rule fixes how part payments are applied, so the default is interest first, a rule of thumb the Court of Appeal accepted as fair, with the debt-first total alongside. County Court: only judgments of £5,000 or more or for a Late Payment Act qualifying debt, with the exceptions in the County Courts (Interest on Judgment Debts) Order 1991: consumer credit and suspended possession orders carry none, payments go to the debt first, County Court enforcement that produced a payment stops it, and an attachment of earnings or administration order suspends it while in force. Flags interest more than six years old (Limitation Act 1980 s.24(2)). Leap years per Lomas v Burlington. Not for interest on costs (use calculate_interest_on_costs) or interest before judgment.

输入模式

{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "enum": [
        "high",
        "county"
      ],
      "description": "High Court or County Court."
    },
    "judgmentDate": {
      "type": "string",
      "format": "date",
      "description": "The date judgment was given for the sum; where damages were assessed later, the date of that judgment (YYYY-MM-DD)."
    },
    "sum": {
      "type": "string",
      "description": "The judgment debt: everything the judgment orders to be paid as a sum, including any costs stated in it, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "endDate": {
      "type": "string",
      "format": "date",
      "description": "The date to calculate interest to (defaults to today) (YYYY-MM-DD)."
    },
    "payments": {
      "type": "array",
      "description": "Payments since the judgment, each with a date and an amount.",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date paid (YYYY-MM-DD)."
          },
          "amount": {
            "type": "string",
            "description": "Amount paid, in pounds, e.g. \"12500\" or \"12,500.50\"."
          }
        },
        "required": [
          "date",
          "amount"
        ]
      }
    },
    "paymentsTo": {
      "type": "string",
      "enum": [
        "interest",
        "debt"
      ],
      "description": "High Court only: apply payments to interest first (the default: no rule fixes the order, and the Court of Appeal accepted this rule of thumb as fair in Evonik UK Holdings Ltd v HMRC [2025] EWCA Civ 1392) or to the judgment debt first. County Court payments always go to the debt first."
    },
    "payBy": {
      "type": "string",
      "format": "date",
      "description": "County Court: the date for payment the judgment set, if any (1991 Order art 3(a)) (YYYY-MM-DD)."
    },
    "customStart": {
      "type": "boolean",
      "description": "The court ordered interest to run from another date."
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "description": "Where customStart is true: the date interest runs from (YYYY-MM-DD)."
    },
    "lpa": {
      "type": "boolean",
      "description": "County Court: the judgment is for a qualifying debt under the Late Payment of Commercial Debts (Interest) Act 1998, so it carries interest under £5,000."
    },
    "cca": {
      "type": "boolean",
      "description": "County Court: the claim was under an agreement regulated by the Consumer Credit Act 1974 (no interest)."
    },
    "spo": {
      "type": "boolean",
      "description": "County Court: a suspended possession order for a landlord or mortgagee of a dwelling (no interest)."
    },
    "instalments": {
      "type": "boolean",
      "description": "County Court: the judgment is payable by instalments (not calculated)."
    },
    "enforcementFrom": {
      "type": "string",
      "format": "date",
      "description": "County Court: the date enforcement proceedings in the County Court were taken, if they produced a payment (YYYY-MM-DD)."
    },
    "aoeFrom": {
      "type": "string",
      "format": "date",
      "description": "County Court: the date an attachment of earnings order that produced nothing, or an administration order, came into force. If attachment of earnings produced a payment, give its start as enforcementFrom instead (YYYY-MM-DD)."
    },
    "aoeTo": {
      "type": "string",
      "format": "date",
      "description": "County Court: the date that order ended, if it has (YYYY-MM-DD)."
    },
    "leap": {
      "type": "string",
      "enum": [
        "lomas",
        "365"
      ],
      "description": "\"lomas\" (default) divides a year containing 29 February by 366; \"365\" uses 365 throughout."
    }
  },
  "required": [
    "court",
    "judgmentDate",
    "sum"
  ],
  "additionalProperties": false
}
🟢calculate_interest_on_damages(court, endDate, heads, interimPayments, interimRate)

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.

输入模式

{
  "type": "object",
  "properties": {
    "court": {
      "type": "string",
      "enum": [
        "county",
        "high"
      ],
      "description": "County Court (s.69, the default) or High Court (s.35A); only changes the wording for a debt."
    },
    "endDate": {
      "type": "string",
      "format": "date",
      "description": "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)."
    },
    "heads": {
      "type": "array",
      "description": "The heads of loss, each worked out on its own.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "psla",
              "continuing",
              "oneoff",
              "ended",
              "debt"
            ],
            "description": "\"psla\": general damages for pain, suffering and loss of amenity, 2% from service of the claim form. \"continuing\": a past loss running to the end date (earnings, care), half the special account rate. \"oneoff\": a past loss on one date (an expense, bereavement, funeral), the full rate. \"ended\": a past loss over a period that stopped before the end date. \"debt\": a debt or other sum at a set rate."
          },
          "label": {
            "type": "string",
            "description": "A name for the head, such as \"Past loss of earnings\"."
          },
          "amount": {
            "type": "string",
            "description": "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\"."
          },
          "from": {
            "type": "string",
            "format": "date",
            "description": "\"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)."
          },
          "to": {
            "type": "string",
            "format": "date",
            "description": "\"ended\" only: the date the loss stopped (YYYY-MM-DD)."
          },
          "method": {
            "type": "string",
            "enum": [
              "midpoint",
              "split",
              "half"
            ],
            "description": "\"ended\" only: \"midpoint\" (the default) for the full rate from the midpoint of the loss; \"split\" for half the rate while it ran, then the full rate; \"half\" for half the rate throughout."
          },
          "rateKind": {
            "type": "string",
            "enum": [
              "statutory",
              "fixed",
              "base"
            ],
            "description": "\"debt\" only: \"statutory\" for 8% (the default), \"fixed\" for the rate in rate, \"base\" for Bank Rate plus the margin in rate."
          },
          "rate": {
            "type": "string",
            "description": "\"debt\" only: the fixed rate, or the margin over Bank Rate, in % (e.g. \"3.5\")."
          }
        },
        "required": [
          "type",
          "amount",
          "from"
        ]
      }
    },
    "interimPayments": {
      "type": "array",
      "description": "Interim payments, each with a date and an amount. Interest on them is credited against the interest on past losses.",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date paid (YYYY-MM-DD)."
          },
          "amount": {
            "type": "string",
            "description": "Amount paid, in pounds, e.g. \"12500\" or \"12,500.50\"."
          }
        },
        "required": [
          "date",
          "amount"
        ]
      }
    },
    "interimRate": {
      "type": "string",
      "enum": [
        "full",
        "half"
      ],
      "description": "Credit interest on interim payments at the \"full\" special account rate (the default) or \"half\" of it; courts differ."
    }
  },
  "required": [
    "heads"
  ],
  "additionalProperties": false
}
🟢calculate_part_36_offer(proceedings, offeror, offerAmount, offerSent, offerMethod, ...)

Works out a Part 36 offer in England and Wales: when it was made (deemed service, CPR 6.26 and 36.7) and when its relevant period ends; whether an acceptance was in time (CPR 36.13); whether the judgment, or the detailed assessment, beat the offer (CPR 36.17(1)); and the consequences in money: the additional amount, enhanced interest of up to 10% above base rate, indemnity costs and interest on them, the 35% uplift in fixed costs claims (CPR 36.24), or the defendant's costs. Uses the Bank of England's base rate history. Give at least who made the offer, the amount and the date it was sent; add the outcome to see the consequences.

输入模式

{
  "type": "object",
  "properties": {
    "proceedings": {
      "type": "string",
      "enum": [
        "claim",
        "fixed-costs",
        "assessment"
      ],
      "description": "\"claim\" for a claim outside the fixed costs regimes (default), \"fixed-costs\" for a claim in Part 45 Sections VI to VIII, or \"assessment\" for an offer on the bill in detailed assessment (CPR 47.20)."
    },
    "offeror": {
      "type": "string",
      "enum": [
        "claimant",
        "defendant"
      ],
      "description": "Who made the offer. In detailed assessment, claimant means the receiving party and defendant the paying party."
    },
    "offerAmount": {
      "type": "string",
      "description": "The offer, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "offerSent": {
      "type": "string",
      "format": "date",
      "description": "The date the offer was sent (YYYY-MM-DD)."
    },
    "offerMethod": {
      "type": "string",
      "enum": [
        "email",
        "first-class-post",
        "document-exchange",
        "delivery",
        "fax",
        "personal"
      ],
      "description": "How the offer was sent (default email)."
    },
    "offerAfterCutOff": {
      "type": "boolean",
      "description": "The offer was sent at or after 4.30pm (for email, fax, delivery or personal service)."
    },
    "relevantDays": {
      "type": "string",
      "description": "The relevant period in days (default \"21\")."
    },
    "trialDate": {
      "type": "string",
      "format": "date",
      "description": "The trial date, or the detailed assessment hearing date, if one is fixed (YYYY-MM-DD)."
    },
    "outcome": {
      "type": "string",
      "enum": [
        "open",
        "accepted",
        "judgment"
      ],
      "description": "\"open\" (default), \"accepted\", or \"judgment\" (in detailed assessment, the end of the assessment)."
    },
    "acceptanceSent": {
      "type": "string",
      "format": "date",
      "description": "Where accepted: the date the acceptance was sent (YYYY-MM-DD)."
    },
    "acceptanceMethod": {
      "type": "string",
      "enum": [
        "email",
        "first-class-post",
        "document-exchange",
        "delivery",
        "fax",
        "personal"
      ],
      "description": "Where accepted: how the acceptance was sent (default email)."
    },
    "acceptanceAfterCutOff": {
      "type": "boolean",
      "description": "Where accepted: the acceptance was sent at or after 4.30pm."
    },
    "withdrawn": {
      "type": "boolean",
      "description": "The offer was withdrawn (CPR 36.17(7)(a))."
    },
    "changedAndBeaten": {
      "type": "boolean",
      "description": "The offer was changed to be less advantageous, and the result beat the changed terms (CPR 36.17(7)(b))."
    },
    "judgmentDate": {
      "type": "string",
      "format": "date",
      "description": "Where there was judgment: its date (in detailed assessment, the end of the assessment) (YYYY-MM-DD)."
    },
    "awarded": {
      "type": "string",
      "description": "Where there was judgment: the damages awarded, excluding interest (in detailed assessment, the bill as assessed), in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "interestBasis": {
      "type": "string",
      "enum": [
        "rate",
        "figures",
        "none"
      ],
      "description": "Interest on the damages, for the comparison: \"rate\" (a simple rate from a date, the default), \"figures\" (amounts you give) or \"none\"."
    },
    "interestRate": {
      "type": "string",
      "description": "Where interestBasis is \"rate\": the annual rate in percent, e.g. \"2\"."
    },
    "interestFrom": {
      "type": "string",
      "format": "date",
      "description": "Where interestBasis is \"rate\": the date interest runs from (YYYY-MM-DD)."
    },
    "interestToExpiry": {
      "type": "string",
      "description": "Where interestBasis is \"figures\": the interest up to the end of the relevant period, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "interestTotal": {
      "type": "string",
      "description": "Where interestBasis is \"figures\": the interest awarded in total, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "enhancedBasis": {
      "type": "string",
      "enum": [
        "above-base",
        "fixed"
      ],
      "description": "Enhanced interest (CPR 36.17(4)(a)): \"above-base\" (default) or a \"fixed\" annual rate."
    },
    "uplift": {
      "type": "string",
      "description": "Enhanced interest: percentage points above base rate, up to 10 (default \"10\")."
    },
    "fixedRate": {
      "type": "string",
      "description": "Where enhancedBasis is \"fixed\": the annual rate in percent."
    },
    "postExpiryCosts": {
      "type": "string",
      "description": "Costs from the end of the relevant period, for interest on costs (CPR 36.17(4)(c)), in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "costsUplift": {
      "type": "string",
      "description": "Interest on those costs: percentage points above base rate, up to 10 (default \"10\")."
    },
    "fixedCostsAtExpiry": {
      "type": "string",
      "description": "Fixed costs claims: the fixed costs for the stage reached when the relevant period ended, in pounds, e.g. \"12500\" or \"12,500.50\"."
    },
    "fixedCostsAtJudgment": {
      "type": "string",
      "description": "Fixed costs claims: the fixed costs for the stage reached at judgment, in pounds, e.g. \"12500\" or \"12,500.50\"."
    }
  },
  "required": [
    "offeror",
    "offerAmount",
    "offerSent"
  ],
  "additionalProperties": false
}
🟢check_awaabs_law_timescales(landlord, hazard, track, fireLocation, aware, ...)

Checks a social landlord's Awaab's Law timescales in England (section 10A of the Landlord and Tenant Act 1985 and the Hazards in Social Housing (Prescribed Requirements) (England) Regulations 2025, S.I. 2025/1042, in force from 27 October 2025 for damp and mould and for emergency hazards): the investigation, the written summary, the safety work, alternative accommodation and supplementary preventative work, each with its deadline and whether it was met, counting working days or 24-hour periods. It does not decide whether a hazard is significant or an emergency: that is a question of fact. Give the hazard, the timescale (track) and the date the landlord became aware; add later dates to check each step.

输入模式

{
  "type": "object",
  "properties": {
    "landlord": {
      "type": "string",
      "enum": [
        "social",
        "private",
        "other"
      ],
      "description": "\"social\" for a council or housing association (default), \"private\" or \"other\". Awaab's Law covers social housing."
    },
    "hazard": {
      "type": "string",
      "enum": [
        "damp",
        "excess-cold",
        "excess-heat",
        "hygiene",
        "falls-level",
        "falls-stairs",
        "falls-between",
        "electrical",
        "fire",
        "explosion",
        "collapse",
        "other",
        "crowding"
      ],
      "description": "The hazard: \"damp\" (Damp, mould or fungal growth), \"excess-cold\" (Excess cold), \"excess-heat\" (Excess heat), \"hygiene\" (Domestic hygiene, including food, pests, waste and sanitation), \"falls-level\" (Falls on the level, including baths and showers), \"falls-stairs\" (Falls on stairs, steps or ramps), \"falls-between\" (Falls between levels), \"electrical\" (Electrical hazards), \"fire\" (Fire and smoke), \"explosion\" (Explosions), \"collapse\" (Structural collapse or falling elements), \"other\" (Another housing hazard (e.g. water supply, carbon monoxide or gas, intruders)), \"crowding\" (Crowding and space)."
    },
    "track": {
      "type": "string",
      "enum": [
        "significant",
        "emergency"
      ],
      "description": "\"significant\" (working days, default) or \"emergency\" (24 hours)."
    },
    "fireLocation": {
      "type": "string",
      "enum": [
        "",
        "inside",
        "block"
      ],
      "description": "For a fire hazard: \"inside\" (inside a flat, or anywhere in a house) or \"block\" (a building with two or more homes: its structure, external walls, common parts or a flat's front door)."
    },
    "aware": {
      "type": "string",
      "format": "date",
      "description": "The date the landlord became aware of the issue (a report, complaint, inspection or letter of claim) (YYYY-MM-DD)."
    },
    "awareTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Emergency: the time the landlord became aware (24-hour HH:MM). Leave out if not known."
    },
    "groundsLater": {
      "type": "boolean",
      "description": "Emergency: reasonable grounds to believe there was an emergency arose later than awareness."
    },
    "groundsDate": {
      "type": "string",
      "format": "date",
      "description": "Where groundsLater: when the grounds arose (YYYY-MM-DD)."
    },
    "groundsTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Where groundsLater: the time the grounds arose (24-hour HH:MM). Leave out if not known."
    },
    "knewBefore": {
      "type": "boolean",
      "description": "The landlord knew of the problem before the regulations applied to it (reg 21)."
    },
    "investigated": {
      "type": "string",
      "format": "date",
      "description": "The date the investigation (or emergency investigation) was completed (YYYY-MM-DD)."
    },
    "investigatedTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Emergency: the time the investigation was completed (24-hour HH:MM). Leave out if not known."
    },
    "askedInspection": {
      "type": "boolean",
      "description": "The tenant asked for a physical inspection."
    },
    "inspectionRequested": {
      "type": "string",
      "format": "date",
      "description": "Where askedInspection: the date of the request (YYYY-MM-DD)."
    },
    "firstWasPhysical": {
      "type": "string",
      "enum": [
        "",
        "yes",
        "no"
      ],
      "description": "Whether the first investigation included a physical inspection: \"yes\", \"no\" or \"\" if not known."
    },
    "renewed": {
      "type": "string",
      "format": "date",
      "description": "A renewed investigation (reg 7): the date it was completed (YYYY-MM-DD)."
    },
    "renewedTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "The time the renewed investigation was completed (24-hour HH:MM). Leave out if not known."
    },
    "firstOutcome": {
      "type": "string",
      "enum": [
        "",
        "none",
        "significant"
      ],
      "description": "Where there was a renewed investigation: what the first one found, \"none\" or \"significant\"."
    },
    "outcome": {
      "type": "string",
      "enum": [
        "",
        "none",
        "significant",
        "emergency",
        "further"
      ],
      "description": "What the latest investigation found: \"none\" (no significant or emergency hazard), \"significant\", \"emergency\", or \"further\" (a hazard, but a further investigation was needed)."
    },
    "furtherHazard": {
      "type": "string",
      "enum": [
        "",
        "significant",
        "emergency"
      ],
      "description": "Where outcome is \"further\": the hazard found."
    },
    "safetyBy": {
      "type": "string",
      "enum": [
        "",
        "first",
        "further"
      ],
      "description": "Where outcome is \"further\": which investigation identified the safety work."
    },
    "further": {
      "type": "string",
      "format": "date",
      "description": "The date the further investigation was completed (YYYY-MM-DD)."
    },
    "furtherTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "The time the further investigation was completed (24-hour HH:MM). Leave out if not known."
    },
    "summary1": {
      "type": "string",
      "format": "date",
      "description": "The date the written summary was given after the first investigation (handed over, posted or emailed) (YYYY-MM-DD)."
    },
    "summary2": {
      "type": "string",
      "format": "date",
      "description": "The date the written summary was given after the renewed investigation (YYYY-MM-DD)."
    },
    "summary3": {
      "type": "string",
      "format": "date",
      "description": "The date the written summary was given after the further investigation (YYYY-MM-DD)."
    },
    "safetyDone": {
      "type": "string",
      "format": "date",
      "description": "The date the safety work was completed (YYYY-MM-DD)."
    },
    "safetyDoneTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Emergency: the time the safety work was completed (24-hour HH:MM). Leave out if not known."
    },
    "alt": {
      "type": "string",
      "enum": [
        "none",
        "provided",
        "refused"
      ],
      "description": "Alternative accommodation: \"none\" recorded (default), \"provided\", or \"refused\" (the tenant refused an offer)."
    },
    "altDate": {
      "type": "string",
      "format": "date",
      "description": "Where provided: the date alternative accommodation was provided from (YYYY-MM-DD)."
    },
    "altTime": {
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
      "description": "Where provided: the time (24-hour HH:MM). Leave out if not known."
    },
    "adviceGiven": {
      "type": "string",
      "format": "date",
      "description": "The date a safety advice document was given (optional) (YYYY-MM-DD)."
    },
    "preventative": {
      "type": "string",
      "enum": [
        "",
        "yes",
        "no"
      ],
      "description": "Whether supplementary preventative work was identified (reg 13): \"yes\", \"no\" or \"\" if not known."
    },
    "prevBy": {
      "type": "string",
      "enum": [
        "",
        "first",
        "first-wait",
        "further"
      ],
      "description": "Which investigation identified the preventative work: \"first\" (and it could begin at once), \"first-wait\" (it needed the further investigation first) or \"further\"."
    },
    "stepsTaken": {
      "type": "string",
      "format": "date",
      "description": "The date steps were taken to arrange the preventative work (e.g. a contractor booked) (YYYY-MM-DD)."
    },
    "workBegan": {
      "type": "string",
      "format": "date",
      "description": "The date the preventative work began (YYYY-MM-DD)."
    },
    "workCompleted": {
      "type": "string",
      "format": "date",
      "description": "The date the preventative work was completed (YYYY-MM-DD)."
    },
    "asAt": {
      "type": "string",
      "format": "date",
      "description": "Check as at this date (defaults to today) (YYYY-MM-DD)."
    }
  },
  "required": [
    "hazard",
    "track",
    "aware"
  ],
  "additionalProperties": false
}
🟢look_up_j_codes(query, kinds)

Finds the code for a piece of work in an electronic bill of costs (Precedent S, PD 47 Schedule 2) by code or by the work done: phases P1 to P15, tasks T1 to T41, activities A1 to A10, expenses X1 to X15 and the matching J-codes, with each task's Precedent H budget phase.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A code (e.g. 'T19', 'JK10', 'A5') or the work done (e.g. 'trial bundle', 'Part 36 offer')."
    },
    "kinds": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "phase",
          "task",
          "activity",
          "expense",
          "j-activity"
        ]
      },
      "description": "Limit the search to these kinds of code."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本13 个工具