Penalties and safe harbours: Claude skills backed by tested code

Analysis only. No tool in this server places orders, modifies custodian records or files returns. This server holds no client data: every figure arrives in the call and nothing is stored. Results are estimates over those figures, not a return and not tax advice. Interest is never computed: the rate is set quarterly and compounds daily, so no rate is stored here.

What taxagent-compliance computes

4 commands, every one callable over MCP. Every result carries the method it used, the rule pack it was pinned to, what is still missing and whether coverage was complete, for a licensed professional to review.

CommandWhat it returnsWhat it needs
calculate_filing_penaltyBoth additions to tax, with the section 6651(c) offset for months in which both run. Interest is not included.nothing required
calculate_entity_penaltyCharged per owner per month regardless of tax owed, which is the part that surprises people.nothing required
calculate_safe_harbourThe smaller of the current-year and prior-year routes, with the higher prior-year percentage for higher incomes.nothing required
get_compliance_capabilitiesWhich calculators taxagent-compliance exposes, what it will not compute, and the rule pack its figures are pinned to.nothing required

When to use it

Late filing and payment penalties, and the estimated tax safe harbour. It holds no client data: every figure arrives in the call and nothing is stored.

Requests it answers:

  • “What is the penalty for filing and paying late?”
  • “What does a late partnership return cost?”
  • “What must I pay to avoid an underpayment penalty?”
  • “Which penalties can this server compute?”

Skills that route here, each with the moment it applies:

penalty-review

A return or a payment is late and someone wants to know the cost, or an entity missed its filing date.

Compute late filing and late payment additions to tax, and partnership or S corporation late-filing penalties. Use when a return or payment is late. Interest is never included, so the figure is always lower than what is owed.

What it does not do

Named here because leaving it out is how an agent ends up asserting something the code never computed. Each line is the registry's own wording, not a summary of it.

  • Interest. The underpayment rate is set quarterly and compounds daily, so no rate is stored here and these figures are penalties only.
  • Reasonable cause, first-time abatement and the fraud rate, any of which changes the result substantially.
  • Whether estimated payments were timely by quarter, as opposed to sufficient in total.

Where the figures come from

5 rules in the pack this server reads, each carrying its authority and legal effective date. The engines read from the pack, and a constant reappearing in the calculation path fails the build.

RuleAuthority
estimated_tax_safe_harbourIRC 6654(d)(1)
failure_to_fileIRC 6651(a)(1), (c)(1); Rev. Proc. 2025-32 sec. 4.52
failure_to_payIRC 6651(a)(2), (a)(3)
partnership_late_filingIRC 6698(b)(1); Rev. Proc. 2025-32 sec. 4.55
s_corporation_late_filingIRC 6699(b)(1); Rev. Proc. 2025-32 sec. 4.56

Scripted case coverage

7 of the 71 console cases call this server over JSON-RPC on every build, across 1 of the 15 client objectives the case inventory groups by: Fix a filing problem.

CaseWhat it asksWhat it showsOutcome
comp-file-vs-payThree months late, nothing filedFailure to file runs at ten times the failure-to-pay rate, with the section 6651(c) offset applied so the combined rate is 5%, not 5.5%.completed
comp-filed-not-paidThe same debt, but the return was filed$200 instead of $2,000. This is why 'file even if you cannot pay' is the standard advice, and the numbers make the case.completed
comp-minimum-penaltyA small balance more than 60 days lateThe percentage addition would be $360, so the statutory floor applies instead. Small balances are not proportionally cheap.completed
comp-partnership-penaltyA partnership that owes no tax at all$8,320 for eight partners and four months. The penalty is per owner per month and does not depend on tax owed.completed
comp-safe-harbour-jumpIncome jumped; what must be paid in110% of last year's known tax beats 90% of this year's guess. The prior-year route is what protects a year like this.completed
comp-safe-harbour-fallIncome fell; paying last year's figure would overpayThe current-year route governs when income drops. Taking the prior-year route out of habit ties up cash for a year.completed
comp-rejects-negative-daysA negative number of days lateRefused rather than producing a negative penalty.VALIDATION_FAILED

Questions it answers

What is the penalty for filing and paying late?

Both additions to tax, with the section 6651(c) offset for months in which both run. Interest is not included. Nothing is required to start: every input has a declared default the result reports. Call calculate_filing_penalty on taxagent-compliance over MCP. Every result carries the method it used, the rule pack it was pinned to, what is still missing and whether coverage was complete, for a licensed professional to review.

What does a late partnership return cost?

Charged per owner per month regardless of tax owed, which is the part that surprises people. Nothing is required to start: every input has a declared default the result reports. Call calculate_entity_penalty on taxagent-compliance over MCP. Every result carries the method it used, the rule pack it was pinned to, what is still missing and whether coverage was complete, for a licensed professional to review.

What must I pay to avoid an underpayment penalty?

The smaller of the current-year and prior-year routes, with the higher prior-year percentage for higher incomes. Nothing is required to start: every input has a declared default the result reports. Call calculate_safe_harbour on taxagent-compliance over MCP. Every result carries the method it used, the rule pack it was pinned to, what is still missing and whether coverage was complete, for a licensed professional to review.

Which penalties can this server compute?

Which calculators taxagent-compliance exposes, what it will not compute, and the rule pack its figures are pinned to. Nothing is required to start: every input has a declared default the result reports. Call get_compliance_capabilities on taxagent-compliance over MCP. Every result carries the method it used, the rule pack it was pinned to, what is still missing and whether coverage was complete, for a licensed professional to review.

The other servers