Skip to content

USTariffRates

com.ustariffrates/tariff-mcpustariffrates.comstreamable-httpv1.0.0Scanned

US HTS search, origin-specific duty breakdowns, tariff sources and missing-fact guidance.

12 tools: 7 change things and 5 only read.

Tools: 0 delete, 0 irreversible, 7 write, 5 read.
  • Reads private data · 0
  • Reads text others write · 0
  • Can send data out · 0
  • 13 findings

Anlyon alternative

7 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

12 tools

Changes things 7Claude Code: ask
  • adcvd_cash_depositAccess: API key required.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Access: API key required. Current CBP cash-deposit rate for one AD/CVD case, exporter, producer and entry date, from reviewed CBP instruction histories, with the governing CBP message, its effective dates and content hash. Named exporter/producer combinations and company rates come first; the all-others rate applies only when both parties are named and neither has its own rate. A combination the instruction excludes from the order is answered excluded_from_order. Refusals state the reason. Scope is not evaluated; deposits are estimates, never final assessed duties.
  • assess_import_entryAccess: API key required.3 findings

    Why it is in this group

    • The name "assess_import_entry" says "import": a word for a change.

    Findings

    • Warn

      The input schema at properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 58-character base64 string.

      Matched text

      inputSchema.properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/tariff_facts/additionalProperties/anyOf/5/properties/agricultural_safeguard..."

      What this check looks for
    • Warn

      The input schema at properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 58-character base64 string.

      Matched text

      inputSchema.properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/tariff_facts/additionalProperties/anyOf/5/properties/agricultural_safeguard..."

      What this check looks for
    • Warn

      The input schema at properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 58-character base64 string.

      Matched text

      inputSchema.properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/tariff_facts/additionalProperties/anyOf/5/properties/agricultural_safeguard..."

      What this check looks for
    Description, as the server wrote it
    Access: API key required. Assess tariff treatments, AD/CVD cases and import requirements for one entry, the same operation as POST /v1/import-assessments, with the same answer field for field. Only the classification (hts_code, chapters 01-97), origin and entry date are required. Without customs_value_usd every ad valorem amount, subtotal and MPF/HMF estimate is null, the rate expressions are unchanged, and the customs value is listed as a missing calculation input; it is never assumed to be zero. Without requirement_facts each requirement family that depends on them stays pending with the questions to answer; never answer no for an unknown. Omit case_numbers to discover AD/CVD cases from the current Commerce inventory, 20 per page: pass adcvd.discovery.next_cursor as adcvd_cursor with the same entry to continue. Each call is one metered request; reaching the last page does not establish coverage. Adding the customs value or answers later changes the entry, so discovery restarts from the first page. Not a full landed cost, not clearance, and evidence is not verified.
  • audit_entryAccess: Team or Enterprise API key required.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Access: Team or Enterprise API key required. Audit declared duty against supported rates by entry line, returning discrepancies, coverage boundaries, and provenance.
  • calculate_dutyAccess: API key, OAuth, or x402 payment when offered.3 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    Description, as the server wrote it
    Access: API key, OAuth, or x402 payment when offered. Calculate supported US duty layers and fees for one import line. The response separates total import charges (duty + fees) from total landed cost (entered value + duty + fees) without estimating fact-dependent treatment.
  • compare_tariff_codesAccess: API key required.No findings

    Why it is in this group

    • The name "compare_tariff_codes" says "compare": a word for reading.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Access: API key required. Find edition-aware concordance candidates between China, US, EU, GB, and Brazil tariff systems. Supports historical as-of resolution, up to five targets, projections, and cursor pagination. Candidates are non-binding classification leads.
  • replay_tariffAccess: API key, OAuth, or x402 payment when offered.3 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    Description, as the server wrote it
    Access: API key, OAuth, or x402 payment when offered. Compare a supported historical tariff stack with the current stack while reporting archive coverage explicitly.
  • screen_import_requirementsAccess: API key required.1 finding

    Why it is in this group

    • The name "screen_import_requirements" says "import": a word for a change.

    Findings

    • Info

      The description is 4,777 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...results are the same. This is not import clearance, and evidence is not verified."

      What this check looks for
    Description, as the server wrote it
    Access: API key required. Screen declared product and entry facts against the published import-requirement families (FDA including prior notice, CPSC, EPA, FCC, APHIS Lacey Act plant declaration, soil import permits, and plant-pest import permits, NHTSA, OFAC rough diamonds, AMS shell eggs, TTB tobacco, TTB alcohol beverage imports, Commerce steel and aluminum import licenses, DOE natural gas import authorization, State Section 609 shrimp (DS-2031), CBP marking, CBP vessel Importer Security Filing, EPA composite wood formaldehyde (TSCA Title VI), FDA radiation-emitting electronic products, FDA acidified and low-acid canned food filings, FDA 361-only HCT/P imports, EPA HFC and ozone-depleting substance bulk imports, FTC textile, wool, fur and care labeling, FTC energy and water use labels, FWS wildlife import ports, clearance and declarations, CBP cultural property import restrictions, ATF explosives imports, DEA listed chemical and tableting or encapsulating machine imports, NRC nuclear equipment and material import licenses, the NOAA Seafood Import Monitoring Program and International Fisheries Trade Permit, the NOAA tuna and driftnet-fish Fisheries Certificate of Origin, ITAR temporary imports of defense articles (DSP-61 and 22 CFR 123.4), EPA hazardous waste imports (40 CFR part 262 subpart H), DOE energy conservation certification of imported appliances and equipment, CITES import documents and permits, the forced labor import prohibition (section 307, UFLPA, withhold release orders), the OFAC Cuba, Iran and North Korea import prohibitions, section 337 exclusion and seizure orders, recorded trademark counterfeit, copying and gray market restrictions, recorded copyright piratical article restrictions, CPSC refusal of admission of consumer products, FDA refusal of admission and reconditioning, EPA fuel and fuel additive imports, the CBP importer identity number and entry bond, FCC equipment authorization at import, seafood and juice HACCP importer verification, FDA animal food CGMP and preventive controls, medicated feed and veterinary feed directive drugs, FDA human food labeling, major food allergens, nutrition labeling and dietary supplements, FDA food additives, color additives and food contact substances, TSCA significant new use notification for imports, quota-class merchandise at entry, APHIS fruit and vegetable imports, Endangered Species Act import prohibitions, FDA medical device imports, FDA drug establishment registration and listing for imported drugs, ICTS connected vehicle hardware and software (BIS), pre-Columbian monumental sculpture and murals, EPA pesticide and device imports and the Notice of Arrival, DEA controlled substance import permits, declarations and transshipment, ATF firearms, ammunition and Munitions Import List import permits, AMS organic import certificates, CDC import permits for infectious agents and vectors, CDC admission of dogs, cats, turtles, nonhuman primates and African rodents, FDA cosmetics facility registration, product listing and label contact under MoCRA, FDA tobacco product premarket authorization, flavor and modified risk standards, user fees, registration and labeling, EPA vehicle and engine emissions imports, CPSC product safety rules, lead and phthalate limits, third-party testing and children's product tracking labels, PHMSA hazardous materials imports including lithium cells and batteries, OSHA approval of workplace electrical equipment by a nationally recognized testing laboratory, APHIS live animal, animal product, veterinary biologic and organism imports, NHTSA Registered Importer conformance and import eligibility of nonconforming vehicles, FAA import acceptance and airworthiness of aviation products, Coast Guard boat labels, hull identification numbers and equipment approval, entry user fees and federal excise taxes payable at entry) for one entry date, the same operation as POST /v1/import-requirements/screen. Each family answers requirement_identified with actions, not_applicable_to_this_rule, needs_information with the exact questions to answer, outside_coverage naming the undecided provision, or unavailable outside the reviewed source dates. Omit a fact you do not know; never answer no for an unknown. Name destination_states (ISO 3166-2 codes; US-CA is supported) to also receive state_requirements for the states the goods will be sold or distributed in: California Proposition 65 consumer product warnings and California alcoholic beverage importation through a licensed importer. State requirements apply to sale or distribution in the state and are not enforced at the border; without destination_states, state_requirements is empty and the federal results are the same. This is not import clearance, and evidence is not verified.
Only reads 5Show 5 read-only tools
  • get_rulingAccess: API key required.No findings

    Why it is in this group

    • The name "get_ruling" says "get": a word for reading.
    Description, as the server wrote it
    Access: API key required. One CBP CROSS ruling by number (for example N338012 or H313152), the same operation as GET /v1/rulings/{ruling_number}: its date, subject, the HTS codes it cites, the later and earlier rulings CBP lists against it, and, when extracted, the held HTS codes, holding and merchandise description from the ruling text. A ruling binds only the merchandise it was issued for.
  • list_tariff_changesAccess: Pro API key or higher required.No findings

    Why it is in this group

    • The name "list_tariff_changes" says "list": a word for reading.
    Description, as the server wrote it
    Access: Pro API key or higher required. List customer-scoped tariff changes with optional workflow and classification filters.
  • lookup_tariffAccess: API key, OAuth, or x402 payment when offered.3 findings

    Why it is in this group

    • The name "lookup_tariff" says "lookup": a word for reading.

    Findings

    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    • Warn

      The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 70-character base64 string.

      Matched text

      inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

      What this check looks for
    Description, as the server wrote it
    Access: API key, OAuth, or x402 payment when offered. Look up a US HTS classification with bounded CBP CROSS ruling evidence and, when origin is supplied, its supported duty layers, warnings, coverage, and provenance.
  • search_rulingsAccess: API key required.No findings

    Why it is in this group

    • The name "search_rulings" says "search": a word for reading.
    Description, as the server wrote it
    Access: API key required. Search CBP CROSS rulings by an HTS code or prefix the ruling cites (4 to 10 digits) and/or words in the ruling subject, the same operation as GET /v1/rulings. Each ruling lists the HTS codes it cites, the later rulings CBP lists as modifying or revoking it, and a link to the ruling at CBP. Coverage states which rulings are held and when they were last checked against CBP. A ruling binds only the merchandise it was issued for; a ruling with no later ruling listed is not thereby in force.
  • search_tariffsAccess: API key, OAuth, or x402 payment when offered.No findings

    Why it is in this group

    • The name "search_tariffs" says "search": a word for reading.
    Description, as the server wrote it
    Access: API key, OAuth, or x402 payment when offered. Search current US HTS classifications by product description, code, or prefix. Optionally include origin-specific rate stacks.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

12 warn1 info
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
Show 7 more findings
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 70-character base64 string.

    Matched text

    inputSchema.properties.facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/facts/additionalProperties/anyOf/5/properties/agricultur..."

    What this check looks for
  • The input schema at properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref contains a 58-character base64 string.

    Matched text

    inputSchema.properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.customs_value_usd.$ref: "#/properties/tariff_facts/additionalProperties/anyOf/5/properties/agricultural_safeguard..."

    What this check looks for
  • The input schema at properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref contains a 58-character base64 string.

    Matched text

    inputSchema.properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.net_mass_kg.$ref: "#/properties/tariff_facts/additionalProperties/anyOf/5/properties/agricultural_safeguard..."

    What this check looks for
  • The input schema at properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref contains a 58-character base64 string.

    Matched text

    inputSchema.properties.tariff_facts.additionalProperties.anyOf[5].properties.agricultural_safeguard.properties.valuation.properties.volume_liters.$ref: "#/properties/tariff_facts/additionalProperties/anyOf/5/properties/agricultural_safeguard..."

    What this check looks for
  • The description is 4,777 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...results are the same. This is not import clearance, and evidence is not verified."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http tariff https://mcp.ustariffrates.com --header 'X-Api-Key: <your-x-api-key>'
claude mcp add --transport http tariff https://mcp.ustariffrates.com --header 'X-Api-Key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__tariff__search_tariffs",
      "mcp__tariff__lookup_tariff",
      "mcp__tariff__list_tariff_changes",
      "mcp__tariff__search_rulings",
      "mcp__tariff__get_ruling"
    ],
    "ask": [
      "mcp__tariff__calculate_duty",
      "mcp__tariff__replay_tariff",
      "mcp__tariff__compare_tariff_codes",
      "mcp__tariff__adcvd_cash_deposit",
      "mcp__tariff__screen_import_requirements",
      "mcp__tariff__assess_import_entry",
      "mcp__tariff__audit_entry"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as tariff. Review it before you use it.

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.ustariffrates/tariff-mcp/verify?hash=9878e85ded56b5731e70f04d8e859278e78b665acf0b986ea0256682e749ea8f" | jq -e '.changed == false'

Pinned hash 9878e85ded56, from Oct 26, 2026, 16:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.ustariffrates/tariff-mcp/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.ustariffrates/tariff-mcp
[![anlyon.dev](https://anlyon.dev/badge/com.ustariffrates/tariff-mcp.svg)](https://anlyon.dev/servers/com.ustariffrates/tariff-mcp)

Source: MCP Registry. Synced Oct 26, 2026, 16:17 UTC.