Skip to main content
Glama

China Import Quote Preflight

Normalize supplier quote before payment

normalize_supplier_quote
Read-only

Use BEFORE accepting or paying one China supplier quote. Turn the quote into a comparable preflight_quote_passport, preserve Incoterm and validity context, and expose missing landed-cost fields and hidden/unknown costs. Use compare_preflight_quotes for 2–5 quotes and trade_preflight for a shipment-level gate. Do not use it as a live freight quote, HTS/TARIC classifier, customs brokerage service, or legal advice. Output includes quote, preflight, missing_quote_fields, hidden_or_unknown_costs, ready_for_comparison, and disclaimer. UNKNOWN means a cost or field is not supplied; NEEDS_MORE_DATA means the passport cannot support a reliable comparison; MANUAL_REVIEW means a human must decide.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hs_codeNoOptional supplier- or broker-provided HS/HTS/CN code. Omit if unavailable; no classification is fabricated.
currencyNoCurrency for a numeric unit_price. Omit only when unit_price is an object carrying currency; otherwise the passport marks currency missing.
incotermNoOptional stated Incoterms rule, for example EXW, FOB, DAP, or DDP. Omit only when absent from the quote; it will be listed as missing.
quantityYesRequired positive number of units covered by the supplier quote.
lead_timeNoOptional supplier production/transit lead-time text, such as 15 days. Omit when not stated.
unit_priceYesRequired non-negative per-unit supplier price. Pass a number with currency, or an object containing amount/value and currency.
material_useNoOptional material and intended-use context. Supply it when known to improve restricted-category screening.
shipping_costNoOptional quoted freight/shipping amount. Omit when the supplier did not state it; hidden_or_unknown_costs will flag the gap.
origin_countryYesRequired country of shipment origin; this v1 is for China/CN/PRC.
quote_valid_untilNoOptional supplier validity date or text, preferably YYYY-MM-DD. Omit when the quote has no stated expiry.
shipping_currencyNoCurrency for a numeric shipping_cost. Omit when shipping_cost is an object carrying currency or is absent.
destination_countryYesRequired destination country or EU; this v1 supports United States and EU member states.
product_descriptionNoOptional plain-language physical-good description; strongly recommended before payment and needed for a useful product-risk screen.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / currency / description
      Added value: +"Currency for a numeric unit_price. Omit only when unit_price is an object carrying currency; otherwise the passport marks currency missing."
    • addedInput schema / properties / currency / pattern
      Added value: +"^[A-Za-z]{3}$"
    • addedInput schema / properties / destination_country / description
      Added value: +"Required destination country or EU; this v1 supports United States and EU member states."
    • addedInput schema / properties / hs_code / description
      Added value: +"Optional supplier- or broker-provided HS/HTS/CN code. Omit if unavailable; no classification is fabricated."
    • addedInput schema / properties / incoterm / description
      Added value: +"Optional stated Incoterms rule, for example EXW, FOB, DAP, or DDP. Omit only when absent from the quote; it will be listed as missing."
    • addedInput schema / properties / lead_time / description
      Added value: +"Optional supplier production/transit lead-time text, such as 15 days. Omit when not stated."
    • addedInput schema / properties / material_use / description
      Added value: +"Optional material and intended-use context. Supply it when known to improve restricted-category screening."
    • addedInput schema / properties / origin_country / description
      Added value: +"Required country of shipment origin; this v1 is for China/CN/PRC."
    • addedInput schema / properties / product_description / description
      Added value: +"Optional plain-language physical-good description; strongly recommended before payment and needed for a useful product-risk screen."
    • addedInput schema / properties / quantity / description
      Added value: +"Required positive number of units covered by the supplier quote."
    • addedInput schema / properties / quote_valid_until / description
      Added value: +"Optional supplier validity date or text, preferably YYYY-MM-DD. Omit when the quote has no stated expiry."
    • addedInput schema / properties / shipping_cost / description
      Added value: +"Optional quoted freight/shipping amount. Omit when the supplier did not state it; hidden_or_unknown_costs will flag the gap."
    • addedInput schema / properties / shipping_cost / oneOf
      Added value: +[
      +  {
      +    "minimum": 0,
      +    "type": "number"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "Non-negative amount in the stated currency.",
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "currency": {
      +        "description": "Three-letter ISO 4217 currency code, for example USD or EUR.",
      +        "pattern": "^[A-Za-z]{3}$",
      +        "type": "string"
      +      },
      +      "value": {
      +        "description": "Alias for amount; use amount when possible.",
      +        "minimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / shipping_currency / description
      Added value: +"Currency for a numeric shipping_cost. Omit when shipping_cost is an object carrying currency or is absent."
    • addedInput schema / properties / shipping_currency / pattern
      Added value: +"^[A-Za-z]{3}$"
    • addedInput schema / properties / unit_price / description
      Added value: +"Required non-negative per-unit supplier price. Pass a number with currency, or an object containing amount/value and currency."
    • addedInput schema / properties / unit_price / oneOf
      Added value: +[
      +  {
      +    "minimum": 0,
      +    "type": "number"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "Non-negative amount in the stated currency.",
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "currency": {
      +        "description": "Three-letter ISO 4217 currency code, for example USD or EUR.",
      +        "pattern": "^[A-Za-z]{3}$",
      +        "type": "string"
      +      },
      +      "value": {
      +        "description": "Alias for amount; use amount when possible.",
      +        "minimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations by defining the transformation into a preflight_quote_passport, enumerating output fields, and explaining the semantics of UNKNOWN, NEEDS_MORE_DATA, and MANUAL_REVIEW. No contradiction with annotations exists.

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 most critical usage instruction ('Use BEFORE accepting or paying') and every sentence earns its place: purpose, alternative tools, exclusions, output fields, and status definitions. It is compact despite covering a complex tool.

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 13-parameter tool with no output schema, the description is remarkably complete: it states scope, alternatives, non-uses, outputs, and status vocabulary. Combined with the fully documented schema and annotations, an agent has everything needed to select and invoke the tool correctly.

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 input schema already documents every parameter and its role. The description reinforces high-level concepts like Incoterm preservation, validity context, and hidden costs, but it does not add parameter-level detail beyond what the schema provides; baseline 3 is appropriate.

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 and resource: normalize a single supplier quote into a comparable preflight_quote_passport. It clearly distinguishes this tool from siblings by framing it around one quote before payment, while compare_preflight_quotes and trade_preflight are explicitly named as different operations.

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?

Explicit timing is given ('BEFORE accepting or paying one China supplier quote'), plus direct routing to alternatives: compare_preflight_quotes for 2–5 quotes and trade_preflight for shipment-level gates. It also lists exclusions such as live freight quote, HTS/TARIC classifier, customs brokerage, and legal advice, leaving no ambiguity about when to use it.

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