Zentria Flow

io.github.orhansavashPublished by GitHub account orhansavashv0.2.0Updated Nov 14, 2026

US tariff layers by HTS code and origin, origin comparison, HTSUS search and landed cost.

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

Looks up US import tariffs by HTS code and origin, compares origins, searches HTSUS lines, and estimates full landed cost for shipments.

What you can do
  • Check every US tariff layer for one HTS code and origin, with optional entry date, quantity and value
  • Compare the same tariff check across 2 to 6 origins, lowest total first
  • Find 8-digit HTSUS lines by product words or the start of a code
  • Estimate full landed cost of a shipment, including freight, insurance, duty layers, VAT/GST and fees for 70+ countries
When to use it
Useful when an assistant needs current US duty rates and tariff layers for a product code rather than answering from memory, when comparing sourcing origins, or when estimating the landed cost of a shipment.
Requirements
Local Node.js 18 or newer, run via npx or Docker over stdio. The three tariff tools need no account; landed_cost needs an API key in ZENTRIA_API_KEY. Tool calls go to zentriaflow.com over HTTPS, and ZENTRIA_API_BASE can override the base URL.
Before you install
Tool arguments (HTS code, origin, date, quantity, value or search words) are sent to zentriaflow.com. The API key is sent in the X-API-Key header and counts against a paid plan quota; the free Sandbox plan allows 100 calls a month. Keyless tools are rate-limited per IP. Results are planning estimates, not customs rulings, and exclude anti-dumping and countervailing duties.

Installation

In SourceWeft

  1. Open Zentria Flow in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

zentria-flow-mcp

A Model Context Protocol server for Zentria Flow, a landed-cost and US tariff engine for importers. It lets an AI assistant look up US import tariffs instead of answering from memory.

  • Three tools work with no account and no API key.
  • No dependencies: one small Node.js program that talks MCP over stdio.
  • Every answer carries the date it was checked and the HTSUS revision it was read from.

Results are planning estimates, not customs rulings. Zentria Flow is software, not a customs broker.

Tools

ToolWhat it doesNeeds a key
us_tariff_checkEvery US tariff layer for one HTS code from one origin: MFN duty, China Section 301, the forced-labor Section 301 tariff, Section 232 and Section 338 on Canada, the total, exemptions, USMCA and CAFTA-DR cases, and dated changes ahead. Optional as_of entry date (today to 12 months ahead). Optional quantity + value to price a specific or compound duty exactly.No
compare_originsThe same check for 2 to 6 origins, lowest total first. One call per origin, 2 seconds apart.No
hts_searchFinds 8-digit HTSUS lines by product words or the start of a code.No
landed_costFull landed cost of a shipment: product value, freight, insurance, duty layers, VAT/GST and fees, for 70+ countries.Yes: ZENTRIA_API_KEY

Example (us_tariff_check, HTS 6109.10.00 from China, engine answer of 14 Nov 2026; rates change, so run it again for today's):

US tariff check: HTS 6109.10.00 from CNProduct line: T-shirts, singlets, tank tops and similar garments, knitted or crocheted — Of cottonEntry date: 2026-11-14Total duty rate: 36.5% of the customs valueLayers:- MFN duty: 16.5%- Section 301: 7.5% (List 4A, 9903.88.15)- Forced-labor Section 301 tariff: 12.5% (applies, 12.5% flat)- Section 232: 0%- Section 338 (Canada): 0%Source: HTSUS 2026 Revision 23 (USITC, in force 10 Nov 2026, checked 10 Nov 2026): ...Checked on 2026-11-14 (UTC) with the Zentria Flow engine, zentriaflow.com.Planning estimate, not a customs ruling. ...

Each result also has structuredContent with the same values as JSON (total_rate_pct, layers, scheduled_changes, checked_on, source).

Requirements

Node.js 18 or newer. Nothing else to install.

Install

All clients below start the server with the same command:

npx -y github:orhansavash/zentria-flow-mcp

npx fetches the server straight from this GitHub repository (no npm account or install step). To run it from a local copy instead, use node /absolute/path/to/src/index.js wherever a config below says npx, with no -y github:… arguments.

Claude Desktop

Settings → Developer → Edit Config opens claude_desktop_config.json. Add:

json
{  "mcpServers": {    "zentria-flow": {      "command": "npx",      "args": ["-y", "github:orhansavash/zentria-flow-mcp"]    }  }}

Restart Claude Desktop. To use landed_cost, add "env": { "ZENTRIA_API_KEY": "your key" } next to "args".

Claude Code

claude mcp add zentria-flow -- npx -y github:orhansavash/zentria-flow-mcp

With a key: claude mcp add zentria-flow --env ZENTRIA_API_KEY=your_key -- npx -y github:orhansavash/zentria-flow-mcp

Cursor

Create .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project, with the same mcpServers block as Claude Desktop.

VS Code

Create .vscode/mcp.json:

json
{  "servers": {    "zentria-flow": {      "type": "stdio",      "command": "npx",      "args": ["-y", "github:orhansavash/zentria-flow-mcp"]    }  }}

Docker

docker build -t zentria-flow-mcp .docker run -i --rm zentria-flow-mcp

Add -e ZENTRIA_API_KEY=your_key to use landed_cost. MCP clients that start servers with Docker use "command": "docker", "args": ["run", "-i", "--rm", "zentria-flow-mcp"].

Each release is also published as a ready-made image, so the build step can be skipped: docker run -i --rm ghcr.io/orhansavash/zentria-flow-mcp:0.2.0.

Local-model clients and other MCP clients

Any client that can start a stdio MCP server from a command works, including the ones that run local models (for example LM Studio, Jan, Continue, Cline and Open WebUI through an MCP-to-OpenAPI proxy). Use the mcpServers block above in the client's MCP configuration file. The model runs on your machine; the tool calls still go to zentriaflow.com over HTTPS, because the tariff data lives there.

Smaller local models follow tool results less reliably. Ask them to quote the tool's numbers and its "Checked on" line as they are.

Configuration

VariableMeaning
ZENTRIA_API_KEYOptional. An API key from https://zentriaflow.com/settings/api-keys, used only by landed_cost. It is sent only in the X-API-Key header of that request, and is never logged or written to a result.
ZENTRIA_API_BASEOptional. Default https://zentriaflow.com. Must be https (or a local development host).

The Sandbox API plan is free and allows 100 calls a month; plans and quotas are at https://zentriaflow.com/api-integration.

Limits

  • The three keyless tools use Zentria Flow's free public endpoints: tariff checks are limited to 60 an hour per IP address and HTS searches to 600 an hour, each counted over a rolling 60 minutes. compare_origins uses one tariff check per origin, so a six-origin comparison uses 6 of the 60. When the limit is reached the tool says so, gives the wait the server sent, and returns no rate; it does not retry by itself.
  • landed_cost counts against the quota of the API plan behind the key.
  • Requests time out after 20 seconds.

What the numbers are, and are not

  • US rates are read from the HTSUS revision named in each result (Source:). An exact 8- or 10-digit line is priced from that line; a shorter code is an estimate and is labelled as one.
  • Totals are percent of the customs value. Anti-dumping and countervailing duties are company-specific and are never in a total. Use-dependent duties are shown as notices.
  • Scheduled changes can be extended, changed or withdrawn before their date.
  • The server prints only values the API returned. A value that was not returned is shown as "not returned".
  • A licensed customs broker should confirm classification and rates before entry.

Privacy

The server sends the arguments of a tool call (HTS code, origin, optional date, quantity and value, or the search words) to zentriaflow.com. It sends nothing else from the conversation, keeps no files and has no telemetry. Zentria Flow's privacy policy: https://zentriaflow.com/privacy

API

The same endpoints are documented as OpenAPI 3.1 at https://zentriaflow.com/openapi.json and on https://zentriaflow.com/developers.

Development

npm test

The tests run with node --test and a stand-in for fetch; they make no network calls. test/fixtures/engine-samples.json holds real answers of the engine.

The MCP protocol (JSON-RPC over stdio: initialize, ping, tools/list, tools/call) is implemented in src/server.js without the MCP SDK, so the package has no dependencies.

License

MIT for this software, see LICENSE. Data returned by the API is provided under the Zentria Flow Terms of Service: https://zentriaflow.com/terms

Zentria Flow, Inc. · [email protected]

Source: README.md at commit dbae12c

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.0LatestNov 14, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.