Skip to main content
Glama

tax_estimate

Read-only

Preview the full order price breakdown, including tax on the orchestration fee, before placing an order so buyers see exact line items with no hidden fees.

Instructions

Preview the complete price breakdown — including tax — before placing an order.

        Terms §7 contract: "Preview the tax for any order with the
        ``tax_estimate`` tool before placing it.  We display the full
        fee + tax breakdown before charging.  No hidden fees."

        This tool fulfills that contract by returning the same line
        items the order will commit to at charge time.  Per Terms §7
        tax is computed on the orchestration fee ONLY — never on
        the manufacturer's quoted total.  The manufacturer is
        responsible for any taxes on their own charges.

        Two calling shapes are supported:

        1. **Canonical preview** (recommended): pass
           ``manufacturer_quote_usd`` and the tool returns the
           full breakdown — ``manufacturer_quote``,
           ``orchestration_fee``, ``tax_on_fee``, ``total`` — so
           the agent can show the user the exact line items that
           match the eventual charge.  This is the shape Terms §7
           commits to.
        2. **Tax-only legacy** (compatibility): pass ``fee_amount``
           with no ``manufacturer_quote_usd`` and the tool returns
           the older ``{tax: {...}}`` shape, useful for callers
           that already know the fee and only want the tax line.

        Args:
            fee_amount: Legacy — the platform fee amount (from the
                quote's ``kiln_fee``).  Used only when
                ``manufacturer_quote_usd`` is omitted.
            jurisdiction: Where the buyer is located (e.g.
                ``"US-CA"``, ``"DE"``, ``"AU"``).  Use
                ``tax_jurisdictions`` to see all supported codes.
                When empty in canonical-preview mode, no tax is
                applied (preview shows manuf + fee only).
            business_tax_id: If the buyer is a business, their tax
                ID (e.g. EU VAT number).  In the EU, UK, Australia,
                and Japan, businesses are exempt — the tax line
                shows $0.00 with a note that reverse charge
                applies.
            manufacturer_quote_usd: Provider's quoted price (e.g.
                from ``fulfillment_quote``).  When non-zero,
                triggers canonical-preview mode.
            currency: Currency of the manufacturer quote (default
                USD).  Tax rates are applied at the standard
                jurisdiction rate regardless.
            user_email: Buyer's email, so the preview can apply any
                fee waiver the buyer's plan carries this month.  Read
                in canonical-preview mode only.

        Returns:
            Canonical mode (``manufacturer_quote_usd > 0``):
                ``{success, manufacturer_quote, orchestration_fee,
                tax_on_fee, total, currency, fee_waived,
                fee_waiver_reason, tax_jurisdiction,
                tax_rate_percent, tax_reverse_charge, note}``.
            Legacy mode (``manufacturer_quote_usd == 0``):
                ``{success, tax: {...}}``.

        Read-only — charges no card, contacts no provider.
        

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": "tax_estimate"
  }
}

Input Schema

NameRequiredDescriptionDefault
currencyNoCurrency of the manufacturer quote (default USD). Tax rates are applied at the standard jurisdiction rate regardless. Default: "USD".
fee_amountNoLegacy — the platform fee amount (from the quote's ``kiln_fee``). Used only when ``manufacturer_quote_usd`` is omitted. Default: 0.0.
user_emailNoBuyer's email, so the preview can apply any fee waiver the buyer's plan carries this month. Read in canonical-preview mode only. Default: "".
jurisdictionNoWhere the buyer is located (e.g. ``"US-CA"``, ``"DE"``, ``"AU"``). Use ``tax_jurisdictions`` to see all supported codes. When empty in canonical-preview mode, no tax is applied (preview shows manuf + fee only). Default: "".
business_tax_idNoIf the buyer is a business, their tax ID (e.g. EU VAT number). In the EU, UK, Australia, and Japan, businesses are exempt — the tax line shows $0.00 with a note that reverse charge applies. Default: "".
manufacturer_quote_usdNoProvider's quoted price (e.g. from ``fulfillment_quote``). When non-zero, triggers canonical-preview mode. Default: 0.0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.5.1
    • changedInput schema / properties / business_tax_id / description
      Previous value: -"Default: \"\"."New value: +"If the buyer is a business, their tax ID (e.g. EU VAT number).  In the EU, UK, Australia, and Japan, businesses are exempt — the tax line shows $0.00 with a note that reverse charge applies. Default: \"\"."
    • changedInput schema / properties / currency / description
      Previous value: -"Default: \"USD\"."New value: +"Currency of the manufacturer quote (default USD).  Tax rates are applied at the standard jurisdiction rate regardless. Default: \"USD\"."
    • changedInput schema / properties / fee_amount / description
      Previous value: -"Default: 0.0."New value: +"Legacy — the platform fee amount (from the quote's ``kiln_fee``).  Used only when ``manufacturer_quote_usd`` is omitted. Default: 0.0."
    • changedInput schema / properties / jurisdiction / description
      Previous value: -"Default: \"\"."New value: +"Where the buyer is located (e.g. ``\"US-CA\"``, ``\"DE\"``, ``\"AU\"``).  Use ``tax_jurisdictions`` to see all supported codes. When empty in canonical-preview mode, no tax is applied (preview shows manuf + fee only). Default: \"\"."
    • changedInput schema / properties / manufacturer_quote_usd / description
      Previous value: -"Default: 0.0."New value: +"Provider's quoted price (e.g. from ``fulfillment_quote``).  When non-zero, triggers canonical-preview mode. Default: 0.0."
    • changedInput schema / properties / user_email / description
      Previous value: -"Default: \"\"."New value: +"Buyer's email, so the preview can apply any fee waiver the buyer's plan carries this month.  Read in canonical-preview mode only. Default: \"\"."
  2. Changed12 schema fields changedv1.5.0
    • removedInput schema / properties / business_tax_id / default
      Removed value: -""
    • addedInput schema / properties / business_tax_id / description
      Added value: +"Default: \"\"."
    • removedInput schema / properties / currency / default
      Removed value: -"USD"
    • addedInput schema / properties / currency / description
      Added value: +"Default: \"USD\"."
    • removedInput schema / properties / fee_amount / default
      Removed value: -0
    • addedInput schema / properties / fee_amount / description
      Added value: +"Default: 0.0."
    • removedInput schema / properties / jurisdiction / default
      Removed value: -""
    • addedInput schema / properties / jurisdiction / description
      Added value: +"Default: \"\"."
    • removedInput schema / properties / manufacturer_quote_usd / default
      Removed value: -0
    • addedInput schema / properties / manufacturer_quote_usd / description
      Added value: +"Default: 0.0."
    • removedInput schema / properties / user_email / default
      Removed value: -""
    • addedInput schema / properties / user_email / description
      Added value: +"Default: \"\"."
  3. First observedv0.1.0

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the closing 'Read-only — charges no card, contacts no provider' largely restates structured data. However the description does add real behavioural context the annotations cannot: tax is computed on the orchestration fee only, reverse-charge regions zero out the tax line, and fee waivers are applied from `user_email`. That added policy detail lifts it above a bare restatement but the read-only claim itself is redundant.

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 leading purpose and the mode explanation are well front-loaded, but several lines are waste: an inlined legal quote from Terms §7, and an Args section that duplicates schema descriptions word for word. The Returns block is justified because there is no output schema, but the whole definition could shed a third of its length without losing information.

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 six optional parameters, no output schema and a mode-dependent return shape, the description supplies everything an agent needs: which mode each parameter activates, the exact field names returned per mode, and the zero-tax and reverse-charge outcomes. Nothing required for a correct call is missing.

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% and the Args block is near-verbatim copy of the schema property descriptions, so most of it earns no credit. The one genuinely additive piece is the mode-selection semantics (non-zero `manufacturer_quote_usd` triggers canonical preview; `fee_amount` is ignored otherwise), but the schema already states that too, so baseline 3 applies.

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 opening sentence gives a specific verb and resource ('Preview the complete price breakdown — including tax — before placing an order') and the body defines exactly what is taxed (orchestration fee only, never the manufacturer quote). It also names a sibling, `tax_jurisdictions`, for the supported-code lookup, so an agent can distinguish it from neighbouring estimate tools.

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

Usage Guidelines5/5

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

It states a hard when-to-use rule ('before placing an order', per Terms §7), then breaks usage into two named modes with explicit switch conditions: canonical when `manufacturer_quote_usd` is passed, legacy tax-only when only `fee_amount` is supplied. Edge cases (empty jurisdiction, business tax ID exemption) are each given a stated outcome.

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

Deploy Server

Other Tools