Skip to main content
Glama

Penny Rounding

Server Details

Round cash totals to the nearest nickel correctly — after tax, on the total, cash only.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

3 tools
price_bandWhich nearby list prices settle to the same cash totalA
Read-only
Inspect

For a list price and a tax rate, find every nearby list price that settles to the SAME cash total, and the highest one.

Use this for "what price should I charge" and "can I price to gain from rounding" questions. There is exactly one free move here and it is easy to get backwards, so do not reason about it unaided:

Rounding collapses a band of five consecutive list prices onto one nickel. At 0% tax, $19.98 through $20.02 all settle to $20.00 in cash. Within that band the cash collected is IDENTICAL, so the highest price in it is strictly better — same from cash customers, up to 4 cents more from every card customer. That is genuinely free.

The move that looks clever and is not: pricing BELOW a nickel so rounding "adds" a couple of cents. You collect the same cash and less on card. The rounding delta is not revenue. Do not recommend it.

Input: listPrice as a dollar string, taxRatePercent, and optionally spreadCents (1-50, default 5) for how far either side to look.

Returns: the whole band, the highest price in it, the free gain in cents (never more than 4), and a verdict. Tell the user the size of the number. Four cents is not a pricing strategy.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleNosymmetric (default) is the Common Cents Act and Canadian method. always-down is Indiana's rule for cash payments of TAX, not a retail rule. always-up is not law anywhere for retail and is here only to quantify it. none is what a card gets.
listPriceYesA STRING is read as dollars ("19.99"); a NUMBER is read as integer CENTS (1999). A non-integer number is refused rather than guessed at.
spreadCentsNoHow far either side to look, 1-50. Default 5, which is one whole band.
taxRatePercentNoPercentage, e.g. 8.25 — not 0.0825. Supply it whenever it is known: rounding happens after tax, so the rate decides which nickel the total lands on.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only provide readOnlyHint and openWorldHint, and the description adds substantial behavioral detail: the exact rounding band behavior, the 'free gain' concept, the warning that rounding delta is not revenue, and the advisory to tell users that four cents is not a pricing strategy. This goes well beyond the annotations.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, followed by usage guidance, a key pitfall warning, input recap, and return summary. Though somewhat long, every sentence earns its place by preventing misinterpretation of a genuinely tricky pricing concept.

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?

With no output schema, the description explicitly lists the returns: the whole band, highest price, free gain in cents, and a verdict. It also explains the rounding mechanics, tax interaction, and the one free move, making the tool self-contained for an agent despite the domain complexity.

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 meaningful semantics: spreadCents is clarified as 'for how far either side to look' with a 1-50 range and default 5, and taxRatePercent's role is contextualized. It does omit the optional 'rule' parameter, but the schema fully documents it.

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?

The description opens with a precise verb and resource: 'find every nearby list price that settles to the SAME cash total, and the highest one.' It clearly distinguishes this from simple rounding tools by focusing on the band of identical cash totals and the optimization opportunity.

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?

The description explicitly tells the agent when to use the tool: for 'what price should I charge' and 'can I price to gain from rounding' questions. It also warns against a common mistaken approach, though it does not explicitly name sibling tools as alternatives.

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

round_cash_totalRound a cash total the way the post-penny rules actually workA
Read-only
Inspect

Settle a transaction under post-penny cash rounding: exact subtotal, tax on the exact subtotal, then round the final total to the nearest nickel — and only for cash.

Use this for any "what does X round to" or "what do I owe in cash" question. Four things are wrong in most explanations of this, and each one changes the answer:

  1. CASH ONLY. Card, EFT, and gift-card payments are still priced to the cent. The same basket legitimately comes to two different amounts by tender. If asked about a card payment, do not round.

  2. THE TOTAL, NOT EACH ITEM. Rounding per item multiplies the effect by the basket size. Five items at $0.99 total $4.95 — already a nickel, no rounding — where per-item rounding would collect $5.00.

  3. AFTER TAX. Tax is computed on the exact subtotal and the rounding comes last. Rounding the base first changes the tax owed.

  4. THE DIGIT DECIDES. 1, 2, 6, 7 round down; 3, 4, 8, 9 round up; 0 and 5 stand. Do not reason about "nearest" from scratch, and do not assume rounding is always up.

Input: pass subtotal as a dollar string ("19.99") or items as a list. A NUMERIC amount is read as CENTS and a STRING as dollars — 1999 and "19.99" are the same amount, 19.99 as a number is refused. Pass taxRatePercent as a percentage (8.25, not 0.0825); rounding depends on it, so omitting it usually gives the wrong nickel. tender is cash or card, default cash. rule is symmetric (default), always-down, always-up, or none.

Returns: the exact subtotal, tax, exact total, the rounded amount due, the signed delta, which digit decided it, warnings, and a disclaimer field.

THIS IS NOT LEGAL OR TAX ADVICE. There was no federal rounding law as of September 2026 and state law varies. Do not tell a user what their jurisdiction requires — report the arithmetic and the caveats.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleNosymmetric (default) is the Common Cents Act and Canadian method. always-down is Indiana's rule for cash payments of TAX, not a retail rule. always-up is not law anywhere for retail and is here only to quantify it. none is what a card gets.
itemsNoLine items, totalled in exact cents. Rounding applies to the TOTAL only.
tenderNoDefault cash. A card is NEVER rounded — if the user is paying by card, the exact total is the answer and any rounding rule is ignored.
subtotalNoThe pre-tax subtotal. Use this or `items`.
taxRatePercentNoPercentage, e.g. 8.25 — not 0.0825. Supply it whenever it is known: rounding happens after tax, so the rate decides which nickel the total lands on.

TDQS

A4.8/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint and openWorldHint annotations. It discloses that rounding applies only to cash, only to the total, only after tax, and only according to the trailing digit; it also warns that omitting taxRatePercent usually gives the wrong nickel and that the tool reports arithmetic, not legal requirements. This is rich behavioral context that prevents serious misuse.

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

Conciseness5/5

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

The description is long but appropriately so given the tool's edge cases. It is front-loaded with the core algorithm, uses bullets to isolate the four failure modes, and every remaining section — input format, return values, and legal caveat — earns its place.

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?

With no output schema present, the description still enumerates the return fields: exact subtotal, tax, exact total, rounded amount due, signed delta, deciding digit, warnings, and disclaimer. Combined with the detailed parameter semantics and the cash/card rule, the description gives an agent everything needed to invoke the tool correctly and frame the result safely.

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

Parameters5/5

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

Although the schema already documents all parameters, the description adds crucial semantics: numbers are read as cents, strings as dollars, non-integer numbers are refused, taxRatePercent is a percentage like 8.25 rather than 0.0825, and tender defaults to cash. The rule parameter is also tied to legal meanings, which materially reduces incorrect invocation.

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?

The first sentence states a specific operation — settle a transaction under post-penny cash rounding — and gives the exact algorithm: exact subtotal, tax on subtotal, then round the final total to the nearest nickel for cash only. The cash-only emphasis and the four common-misconception bullets clearly distinguish it from related pricing or rounding-analysis tools.

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?

The description is explicit about when to use it: 'Use this for any "what does X round to" or "what do I owe in cash" question' and when not to apply rounding: card, EFT, and gift-card payments should not be rounded. It does not explicitly name price_band or rounding_impact as alternatives, so it stops just short of full sibling-tool routing.

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

rounding_impactWhat cash rounding is actually worth across a price listA
Read-only
Inspect

Compute what cash rounding is actually worth across a list of prices: mean delta per transaction, the up/down/unchanged split, and a per-thousand figure.

Use this whenever someone asks whether rounding costs or earns money — a very common question and one usually answered with a guess. Do not guess. Symmetric rounding nets to EXACTLY zero over evenly spread totals, because that is what it was designed to do. Real price lists all end in .99 and are not evenly spread, so the true figure is small but not always zero and it moves with the tax rate. This computes it for the actual prices given.

Input: prices is a list of dollar strings or integer cents. taxRatePercent matters, because tax decides which nickel each total lands on. rule defaults to symmetric; pass always-up to quantify what the "just round everything up" idea would be worth (about 2 cents a sale, and no jurisdiction has adopted it for retail).

Returns: mean and total delta in cents, the split, a per-thousand transaction figure, a per-price breakdown, and a plain-language verdict. Report the verdict — the size of the number is the answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleNosymmetric (default) is the Common Cents Act and Canadian method. always-down is Indiana's rule for cash payments of TAX, not a retail rule. always-up is not law anywhere for retail and is here only to quantify it. none is what a card gets.
pricesYesThe prices actually charged.
taxRatePercentNoPercentage, e.g. 8.25 — not 0.0825. Supply it whenever it is known: rounding happens after tax, so the rate decides which nickel the total lands on.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses important behavioral truths: symmetric rounding nets to exactly zero over evenly spread totals, real .99 price lists make the result small but nonzero, the tax rate changes the landed nickel, and always-up is provided only for quantification. It also explains what to report back, which is especially valuable because there is no output schema.

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?

The description is well-structured and front-loaded with the core computation and outputs. It is longer than strictly necessary, with some rhetorical flourishes like 'Do not guess' and 'no jurisdiction has adopted it for retail,' but most sentences carry meaningful context about behavior, inputs, or return values.

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 a moderately complex tool with no output schema, the description is remarkably complete: it explains when to use it, why the results behave the way they do, how each input works, what the return values are, and how to present the answer. An agent has enough context to invoke this tool correctly and interpret its result.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already thoroughly documents prices, taxRatePercent, and rule. The description adds little beyond repeating that taxRatePercent matters and rule defaults to symmetric; these facts are already present in the schema. This is the baseline 3 case where the schema carries the parameter-semantics burden.

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?

The description uses a specific verb ('Compute') and resource ('what cash rounding is actually worth across a list of prices'), and immediately lists the concrete outputs: mean delta, up/down/unchanged split, and per-thousand figure. This clearly distinguishes it from siblings like round_cash_total, which is about rounding a single cash total, by emphasizing aggregate analysis across a price list.

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?

The description explicitly says 'Use this whenever someone asks whether rounding costs or earns money' and warns against guessing. It provides strong contextual guidance for when the tool is appropriate, but it does not explicitly name when-not-to-use it or point to an alternative sibling such as round_cash_total for single-transaction rounding.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observedprice_band
    • First observedround_cash_total
    • First observedrounding_impact

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables MCP tool developers and AI agents to track payments, calculate sales tax liability, and ensure tax compliance across US jurisdictions.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    39 tax tools for US individual taxpayers — federal/state tax calculations, credits, deductions, retirement strategies, audit risk, and tax planning. All calculations run locally, no data leaves the machine. Supports TY2024 and TY2025 (One Big Beautiful Bill Act).
    43
    454
    12
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables interactive recipe costing and menu-item pricing with deterministic math, including waste and margin calculations, and distinguishes whether figures came from the calculator or the model.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides real tax calculations for US, Canada, Australia, and UK income, property, and dividend taxes using up-to-date local data with no API keys required.
    7
    45
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: price_band finds optimal list prices within a rounding band, round_cash_total computes the exact cash amount for a single transaction, and rounding_impact aggregates rounding effects across many prices. There is no meaningful overlap or ambiguity between them.

Naming Consistency3/5

All names use snake_case and are readable, but they do not follow a single grammatical pattern: price_band is a noun phrase, round_cash_total is verb-object, and rounding_impact is a gerund-noun phrase. This is a mixed convention rather than a predictable verb_noun scheme.

Tool Count5/5

Three tools is well-scoped for this narrow domain. Each tool earns its place by covering a distinct need: single-transaction rounding, pricing decisions, and aggregate impact analysis.

Completeness5/5

The set covers the full practical surface of cash rounding arithmetic: computing a rounded total, optimizing a list price within a rounding band, and measuring aggregate rounding impact over a price list. Supporting options like tender type, tax rate, and rounding rule are included where needed.

Resources