Skip to main content
Glama

DAITK (Dibblee AI Tool Kit) - Total Import Cost

Server Details

Import duty into Canada only. By HS code and origin: tariff, surtax, quota, anti-dumping.

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

6 tools
get_measure_detailAInspect

Full detail for one trade measure: every date (registration, Gazette publication, in-force, last-amended, repeal), its amendment history, and its best-effort HS-code coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
measure_idYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden and does well by enumerating the exact date fields, amendment history, and best-effort HS-code coverage. It does not mention error behavior or read-only status, but for a get-detail tool the primary behavior is well disclosed.

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?

A single sentence with a colon-separated list packs all key information with no filler. The output scope is front-loaded and every clause adds useful detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output content is well described, and the best-effort caveat is useful, but the description lacks guidance on obtaining or supplying measure_id and does not distinguish itself from alternatives. For a simple one-parameter lookup, this is adequate but not fully complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to explain measure_id. It only indirectly references 'one trade measure' and does not say where the ID comes from, how it is formatted, or how it relates to sibling tools. This adds minimal value beyond the schema's required number type.

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 clearly identifies the resource as 'one trade measure' and specifies exactly what detail is provided: dates, amendment history, and HS-code coverage. This distinguishes it from siblings like list_trade_measures, which focuses on multiple measures.

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 phrase 'for one trade measure' makes the scope explicit: use this when you need full detail for a single measure rather than a list. It does not name alternatives or exclusions, but the context is clear enough for an agent to select it appropriately.

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

list_trade_measuresAInspect

List tracked surtax / remission / SIMA orders. status one of 'in_force' | 'not_yet_in_force' | 'repealed'. instrument_type one of 'surtax_order' | 'surtax_remission_order' | 'sima_order' | 'other'.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
instrument_typeNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. The verb "List" implies a read-only operation, and the phrase "tracked" adds a scope qualifier. However, it does not state whether results are paginated, ordered, or how many records are returned, leaving some behavioral ambiguity.

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 two sentences with no fluff. The purpose is front-loaded in the first sentence, and the parameter constraints are compactly listed in the second. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter list operation, the description is mostly adequate: it names the resource, defines all filters, and implies a read-only action. However, it does not mention whether filters can be combined, what happens if omitted, or any output format. These are minor gaps but not critical for basic invocation.

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?

The input schema has two bare string properties with no descriptions and 0% schema coverage, so the description must compensate. It explicitly enumerates the allowed values for status ('in_force', 'not_yet_in_force', 'repealed') and instrument_type ('surtax_order', 'surtax_remission_order', 'sima_order', 'other'), fully clarifying the parameter meaning.

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 begins with a specific verb and resource: "List tracked surtax / remission / SIMA orders." This clearly distinguishes the tool from siblings like get_measure_detail, lookup_tariff, and recent_changes, which serve different purposes such as retrieving details or resolving duties.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool vs alternatives. The description does not mention get_measure_detail or recent_changes, nor does it state circumstances where one should prefer a sibling. The reader is left to infer the appropriate context from the tool name alone.

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

lookup_tariffAInspect

Look up base Canadian duty rates for an HS/tariff number (e.g. '0101.21.00.00'), plus any tracked surtax/trade-measure orders whose HS coverage might overlap it. as_of defaults to today (YYYY-MM-DD). This returns EVERY treatment code on the tariff item, most of which do not apply to any one shipment — use resolve_duty with a country of origin to get the one that actually applies to a specific import. Some rows carry treatment_label: null; a null is a gap in this service's own data, not a signal about what the treatment is — check unlabeled_treatment_codes and never call one an FTA or infer its identity yourself.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
hs_codeYes

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers: it warns that the result set is intentionally over-inclusive ('most of which do not apply to any one shipment'), discloses that as_of defaults to today, and explains a subtle data-quality trap (treatment_label: null means a gap in the service's own data, not evidence about the treatment type). This is exactly the kind of behavioral context that prevents an agent from drawing wrong conclusions.

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 purpose is front-loaded and every sentence earns its place: purpose, parameter default, result-set caveat with routing, and null-label warning. Though dense, the content is all load-bearing given zero schema annotations and no output schema; nothing is fluff or repetition.

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?

Given no annotations, no output schema, and 0% schema description coverage, the description provides a complete picture: what is returned (base rates, overlapping trade-measure orders, every treatment code), how to use the two parameters, when to choose an alternative, and how to interpret an anomalous return value. Nothing needed for correct selection or invocation is missing.

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?

Schema description coverage is 0%, so the description must compensate, and it does. hs_code gets a format example ('0101.21.00.00'), and as_of gets both a format ('YYYY-MM-DD') and a default value (today). Both parameters are semantically enriched in a way that makes correct invocation possible.

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 specific verb+resource pair ('Look up base Canadian duty rates') and gives a concrete HS-code format example. It also distinguishes itself from resolve_duty by stating that this returns every treatment code while resolve_duty returns the one that actually applies, so an agent can tell them apart without opening any schema.

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 explicitly names the sibling alternative (resolve_duty) and states the exact condition that should route the agent elsewhere: 'use resolve_duty with a country of origin to get the one that actually applies to a specific import.' This is explicit when-to-use and when-not-to-use guidance, not just implied context.

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

recent_changesAInspect

What changed since a given date (YYYY-MM-DD, default today): newly-touched trade measures and newly-detected amendments. Good for a daily 'what did the government change today' digest.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the default value of the 'since' parameter and the result categories, which is helpful. However, it does not explicitly state that this is a read-only query, nor does it mention ordering, pagination, inclusivity of the date, or any access requirements.

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 two sentences with no wasted words. The first sentence states the tool's function and parameter details; the second gives a concrete use case. Information is front-loaded and easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with no output schema, the description covers the essential points: what it returns, how to specify the date, the default, and a typical use case. Minor gaps like exact return structure and date boundary semantics exist, but they are not critical for the intended digest use case.

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 description coverage is 0%, but the description compensates well for the only parameter by specifying the expected format (YYYY-MM-DD) and the default value (today). This gives an agent the meaningful semantic context that the bare 'type: string' schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a time-bounded query over trade measures and amendments, specifying what it covers: 'newly-touched trade measures and newly-detected amendments.' It is distinct from the sibling detail/lookup tools by its focus on changes over time, though it could have been stronger with an explicit verb like 'list' or 'get recent changes.'

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

Usage Guidelines3/5

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

The phrase 'Good for a daily what did the government change today digest' provides a concrete use case, so an agent can infer when to use it. However, there is no explicit guidance on when not to use it in favor of siblings such as list_trade_measures or get_measure_detail, so the usage guidance remains implied rather than explicit.

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

resolve_dutyAInspect

Estimate the total Canadian import duty for an HS code and country of origin, for costing. Returns a single rate, or a low/mid/high RANGE when surtax orders may or may not stack — pick low/mid/high as your risk profile. Covers base duty + any surtax layers. Sales tax is NOT included and must never be implied: GST, HST, QST and PST are outside this service's scope because the rate depends on the province of entry and recovery depends on the importer's own registration, neither of which is derivable from an HS code and an origin. Every response carries sales_tax.included: false - tell the user sales tax is on top and not quoted here. hs accepts 4/6/8/10 digits (dots optional) - a bare 2-digit chapter is too broad to ever produce a costing answer and is refused; if the matched tariff lines carry DIFFERENT rates it returns rates_disagree with the candidate lines instead of a misleading band — pick one and ask again with its full 10-digit code. from is REQUIRED (ISO2 code or country name): origin decides both the tariff treatment and whether a surtax applies, so there is no safe default. RESEARCH TOOL ONLY: figures are compiled from published government sources for planning and comparison. Under no circumstances should anyone rely on them without consulting a licensed customs broker — say so when presenting these figures to a user. Does NOT classify products — you supply the HS code. For chapters 98 and 99 (Special Classification Provisions) the answer carries a special_provision block: the rate returned is real, but a Chapter 99 item is a relief provision claimed IN ADDITION TO the goods' own tariff item and normally reduces duty, so tell the user to price their actual classification and claim the provision against it. Chapter 98 governs admissibility — a prohibition there means not without authorisation rather than nobody, and the exception is usually written into the provision's own text, so report the rate and flag the permit question rather than telling anyone they cannot import. No surtax is overlaid on these chapters. Conversely, an ordinary code may come back with possible_relief: Chapter 99 provisions whose own text references that chapter or heading. Those reduce duty and are claimed in addition to the tariff item, so surface them to the user as worth asking a broker about — but they are candidates carrying end-use conditions, never entitlements, and they are deliberately not reflected in duty_rate. If the code has no Canadian tariff line the answer falls back to the 6-digit international subheading and returns hs_fallback saying so: only the first 6 digits of an HS code are international, so a code from a foreign supplier (a US HTS number, an EU CN code) will not resolve — ask the supplier for the 6-digit HS instead. IMPORTANT for costing: duty_rate covers base duty plus surtaxes only. Two other charges are returned SEPARATELY and are deliberately NOT in it, because neither can be resolved from the HS code and origin alone: conditional_measures (quota safeguards, owed only above a quarterly volume threshold — a live utilisation reading is attached) and sima_measures (anti-dumping / countervailing duty, which depends on the EXPORTER named on the customs documents, not the manufacturer; an exporter on CBSA's co-operative list pricing at or above its normal value pays none, anyone else pays the all-other rate, which reaches, on some measures, far more than every surtax combined - the exact number is only in the response you just got back, never assume one from a prior answer). Always read all three before quoting a landed cost. NEVER state a conditional or SIMA rate as a bare delta ("+50%", "adds 158.9%") without also stating the resulting TOTAL — a reader cannot reliably add percentages themselves, and "158.9%" reported next to a 25% base has been misread as "add 158.9 to your budget" instead of "your total just became 233.9%". Each conditional_measures and sima_measures entry carries total_if_applies precomputed for exactly this reason — quote it, don't recompute it. worst_case_all_measures is the single ceiling figure if every conditional and SIMA layer lands at once; state it up front whenever any conditional or SIMA measure is present, then walk through which conditions would have to be true to reach it.

ParametersJSON Schema
NameRequiredDescriptionDefault
hsYes
fromYes
as_ofNo

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and meets it: it discloses refusal behavior (2-digit, foreign codes), the rates_disagree guardrail against misleading bands, hs_fallback behavior, Chapter 98/99 special handling, possible_relief semantics, and the deliberate separation of conditional_measures and sima_measures from duty_rate. It even explains why total_if_applies and worst_case_all_measures are precomputed, preventing arithmetic misreading. No annotation contradiction exists because none were supplied.

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 purpose is front-loaded, but the description is very long with many multi-clause run-on sentences that are hard to scan (the SIMA sentence alone buries several distinct rules and conditions). Each topic block is purposeful and mostly non-redundant, but the density crosses from thorough into over-specified, and an agent may lose key facts in the flood.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with no output schema and no annotations, this is nearly complete: it names the return variants (rate/range, rates_disagree, special_provision, possible_relief, hs_fallback, conditional_measures, sima_measures, worst_case_all_measures) and dictates how to present each one to a user. The only material gap is the undocumented as_of parameter; otherwise an agent has everything needed to call the tool correctly and interpret its results.

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 0%, so the description must compensate. It exhaustively documents hs (4/6/8/10 digits, dots optional, 2-digit rejected, fallback and disagreement behaviors) and identifies from as the country of origin. However, the optional as_of parameter is never mentioned anywhere, leaving its meaning to be guessed — a real gap given the schema itself provides no description.

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?

Opens with a specific verb-resource-input triad: 'Estimate the total Canadian import duty for an HS code and country of origin, for costing.' The scope ('Covers base duty + any surtax layers') and the explicit sales-tax exclusion position it as the comprehensive duty-estimation tool, distinct from a generic tariff lookup. No ambiguity about what the tool produces or for whom.

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?

Gives explicit when-to-use ('for costing') and unusually rich when-not-to-use guidance: sales tax 'must never be implied', bare 2-digit codes 'are refused', foreign supplier codes 'will not resolve — ask the supplier for the 6-digit HS instead', and it 'Does NOT classify products — you supply the HS code'. It goes further with presentation rules ('quote it, don't recompute it', 'state it up front' for worst_case_all_measures), though it never names 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.

service_statusAInspect

What this service reads and how current it is. Returns the server version, row counts, when the mirror was last pushed, and every government source by its published name and authority with a link to it — CBSA Customs Tariff, Canada Gazette Part II, Justice Laws, CBSA Customs Notices, CBSA SIMA Measures in Force, Global Affairs steel quota utilisation, Finance Canada announcements — each with when it was last read. Cite the source name and URL when you tell a user where a figure came from.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does so well by disclosing the exact outputs and the citation behavior. It conveys a read-only status inspection without needing to state it explicitly. It could be more transparent about potential errors or access constraints, but those are not critical for this zero-parameter read tool.

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 front-loaded with the core purpose and then enumerates the detailed return contents. The long list of government sources is useful because there is no output schema, and every sentence earns its place. It is slightly dense but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description covers the major return values and even adds citation guidance. It is complete enough for an agent to know what to expect and how to use the result. Minor gaps like error behavior or exact date formats are acceptable at this level.

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?

The input schema is empty, so there are no parameter semantics to explain. According to the rubric baseline for zero parameters, a 4 is appropriate since the description does not need to compensate for missing parameter documentation.

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 states exactly what the tool does—reads service status and freshness—and lists the concrete return items: server version, row counts, mirror push time, and each government source with name, authority, link, and last-read time. This clearly distinguishes it from the sibling lookup tools like lookup_tariff or list_trade_measures.

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 opening line gives clear context: this tool is about what the service reads and how current it is. It also provides a specific usage instruction to cite the source name and URL when reporting a figure. However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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. 6 tool updates
    • First observedget_measure_detail
    • First observedlist_trade_measures
    • First observedlookup_tariff
    • First observedrecent_changes
    • First observedresolve_duty
    • First observedservice_status

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
    C
    maintenance
    Provides access to US import tariff rates via the USITC Harmonized Tariff Schedule, enabling natural language queries for tariff data.
    15
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Calculates estimated import duties, taxes, and customs clearance rules for overseas purchases, with all tools being read-only and operating without external API calls.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Live US import tariff calculator covering 19,856 HTS codes, allowing AI to look up stacked tariff rates and project the November 10, 2026 cliff impact on any product.
    2
    45
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct operation: enumerating measures, inspecting one measure, looking up raw tariff treatments, computing a landed-duty estimate, listing changes, and reporting service status. Potential overlap between lookup_tariff and resolve_duty is explicitly resolved in the descriptions, with lookup_tariff directing callers to resolve_duty for applicable treatment.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (get_measure_detail, list_trade_measures, lookup_tariff, resolve_duty). recent_changes and service_status deviate into adjective_noun / noun_noun forms, but all names are snake_case, short, and readable.

Tool Count5/5

Six tools is a well-scoped size for a read-only Canadian tariff and trade-measure research service. Each tool covers a distinct part of the workflow without redundancy or unnecessary surface area.

Completeness5/5

The surface covers the full read-only lifecycle: listing and detailing trade measures, looking up tariff rates, resolving final duty estimates with safeguards and SIMA handling, monitoring recent changes, and checking data freshness. No obvious operation is missing for the stated purpose.

Resources