DAITK-TIC MCP
An MCP server for calculating total import duty rates into Canada based on HS codes and country of origin. It provides base duty, surtaxes, quotas, and anti-dumping measures from primary Canadian government sources like CBSA and Canada Gazette, returning low/mid/high ranges for imprecise codes. It is a research tool for planning and comparison, not a substitute for licensed customs brokers.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://daitk-tic.dibind.com/mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to dibind.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Calculate total landed duty rate for a specific HS code and origin country
- Lookup base duty rates and tracked trade measures
- Retrieve details on surtax, remission, or SIMA orders
- Check recent changes to Canadian import regulations
Source and maintenance
Protocol and capabilities
- Server
- daitk-total-import-cost 0.5.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
lookup_tariff
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.
{
"type": "object",
"required": [
"hs_code"
],
"properties": {
"as_of": {
"type": "string"
},
"hs_code": {
"type": "string"
}
}
}resolve_duty
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.
{
"type": "object",
"required": [
"hs",
"from"
],
"properties": {
"hs": {
"type": "string"
},
"from": {
"type": "string"
},
"as_of": {
"type": "string"
}
}
}list_trade_measures
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'.
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"instrument_type": {
"type": "string"
}
}
}get_measure_detail
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.
{
"type": "object",
"required": [
"measure_id"
],
"properties": {
"measure_id": {
"type": "number"
}
}
}recent_changes
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.
{
"type": "object",
"properties": {
"since": {
"type": "string"
}
}
}service_status
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.
{
"type": "object",
"properties": {}
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 327 ms
- 95th percentile latency
- 327 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 327 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http daitk-tic-mcp https://daitk-tic.dibind.com/mcpCodex
codex mcp add daitk-tic-mcp --url https://daitk-tic.dibind.com/mcpCursor
{
"mcpServers": {
"daitk-tic-mcp": {
"url": "https://daitk-tic.dibind.com/mcp"
}
}
}Cline
{
"mcpServers": {
"daitk-tic-mcp": {
"type": "streamableHttp",
"url": "https://daitk-tic.dibind.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"daitk-tic-mcp": {
"type": "http",
"url": "https://daitk-tic.dibind.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http daitk-tic-mcp https://daitk-tic.dibind.com/mcpClaude Desktop
https://daitk-tic.dibind.com/mcpWindsurf
{
"mcpServers": {
"daitk-tic-mcp": {
"serverUrl": "https://daitk-tic.dibind.com/mcp"
}
}
}Let your agent find its tools
Find servers like DAITK-TIC MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run DAITK-TIC MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.