Skip to main content
Glama

Xonta Customs RU

MCP server for importing goods into Russia and the Eurasian Economic Union (EAEU). Free and open source.

Русская версия ниже

What it does

Gives an AI agent the customs tools a Russian broker uses every day:

Tool

What it returns

parse_invoice

Line items from a supplier invoice or packing list (Chinese, English, Russian headers): qty, price, amount, weights, HS code, Incoterms, origin, arithmetic checks, a TN VED search hint per line

tnved_search

TN VED EAEU (ТН ВЭД ЕАЭС) codes by product words or code prefix, with duty rates

tnved_code_info

Name, parent headings, parsed ETT duty rate, antidumping measures, EEC rulings for a code

calc_import_payments

Duty (ad valorem, specific, combined), antidumping, excise, VAT 22% / 10%, 2026 customs fee, total in RUB

calc_recycling_fee

Car recycling fee (утильсбор) for M1 vehicles by engine, volume, power, age and year (Dec 2025–2030), commercial and personal-use tables

customs_clearance_fee

2026 customs clearance fee by declaration value, with the full bracket table

antidumping_check

EAEU antidumping measures by code, product and origin country, with EEC decisions

classification_rulings_search

EEC decisions on classification of specific goods (binding in all EAEU countries)

exchange_rates

Official Bank of Russia rates used for customs payments

server_status

Data versions and sources

What sets it apart:

  • Specific and combined rates. "10%, but not less than 2 EUR per pair" is parsed and computed, not skipped.

  • Every number has a source. Fees cite the Government decree, measures cite EEC decisions, rates cite the Bank of Russia.

  • No made-up numbers. If a rate can't be parsed or a measure's rate is unknown, the server says so and asks for it.

  • Russian legal context for 2026: VAT 22%, new customs fee scale, EAEU trade defence measures, the December 2025 power-based recycling fee for cars.

  • From invoice to payments. A Chinese invoice goes in, customs-ready lines come out: the supplier's HS code is used as the first 6 digits of TN VED, Incoterms tell what to add for customs value.

All results are informational. The final code and payments are decided by the declarant and customs.

Related MCP server: Bankr Industrial Customs MCP

Connect

Hosted (no install)

https://mcp.xonta.ru/customs/mcp

Claude Desktop / Cursor / any client with remote MCP support:

{
  "mcpServers": {
    "xonta-customs": { "url": "https://mcp.xonta.ru/customs/mcp" }
  }
}

Local (stdio)

uvx xonta-customs-mcp
{
  "mcpServers": {
    "xonta-customs": { "command": "uvx", "args": ["xonta-customs-mcp"] }
  }
}

The local server needs the tariff table for code search (calculation works without it if you pass the rate):

uvx --from xonta-customs-mcp xonta-customs-load-tariff tnved.xlsx --source "ETT EAEU, export of 05.11.2026"

Any .xlsx or .csv with a header row containing a code column and a name column works; the duty rate and unit columns are picked up when present.

Example

Shoes with leather uppers from China, 1 000 pairs, invoice value 20 000 CNY. What will customs cost?

The agent calls tnved_search("обувь с верхом из натуральной кожи"), then calc_import_payments(customs_value=20000, currency="CNY", code="6403990000", quantity_pair=1000) and gets duty by the specific part of the combined rate, VAT 22% on top, the 2026 fee and the total.

Here is the supplier's invoice (PDF). Work out the payments.

parse_invoice(file_url=...) returns three lines with quantities, prices, net weights and HS codes, plus a note that FOB terms need freight and insurance added. Each line then goes through tnved_search and calc_import_payments.

A 2 l, 170 hp car, 2 years old, imported by a company. Recycling fee?

calc_recycling_fee(engine="ice", power_hp=170, engine_volume_cc=1998) → coefficient 45, 900 000 RUB in 2026.

Data and sources

Data

Source

Updated

TN VED EAEU and ETT rates

Decision of the EEC Council No. 80 of 14.09.2021, loaded from an export file

on load

Customs fees 2026

Government Decree No. 1637 of 28.11.2024 as amended by No. 1638 of 23.10.2025

01.01.2026

Import VAT

Tax Code art. 164 as amended by Federal Law No. 425-FZ

01.01.2026

Antidumping measures

EEC Board decisions renewed in 2026 (partial list)

05.11.2026

Classification rulings

EEC Board decisions (partial list)

05.11.2026

Exchange rates

Bank of Russia, daily

live

Car recycling fee

Government Decree No. 1291 of 26.12.2013, annex section I, as amended by No. 1713 of 01.11.2025

01.12.2025, schedule to 2030

Contributions of new measures and rulings are welcome: edit src/xonta_customs/data/*.json and open a PR.

Self-hosting

pip install xonta-customs-mcp
xonta-customs-load-tariff tnved.xlsx
ALLOWED_HOSTS=mcp.example.com xonta-customs-mcp --http --host 127.0.0.1 --port 8765

Endpoints: /mcp (Streamable HTTP), /health, /.well-known/mcp/server-card.json. See deploy/ for systemd and nginx examples, and Dockerfile.

PDF and scanned invoices are converted to Markdown by DocParse (io.github.mrsergeiluzhnov/docparse in the MCP registry). Set DOCPARSE_URL (endpoint that takes {"url": ...} and returns Markdown) and optionally DOCPARSE_TOKEN. Without it, .xlsx/.csv invoices still work, and any client can pass invoice text directly in invoice_text. File links pointing to private or local addresses are refused.

Development

pip install -e ".[dev]"
pytest

License

MIT. Made by Xonta.


Xonta Customs RU — по-русски

Бесплатный MCP-сервер для импорта в Россию и ЕАЭС. Даёт ИИ-агенту инструменты таможенного брокера.

Инструменты

Инструмент

Что делает

parse_invoice

Разбор инвойса или упаковочного листа поставщика (китайские, английские, русские заголовки): позиции, количество, цены, веса, HS-код, Инкотермс, проверка арифметики, подсказка для поиска ТН ВЭД

tnved_search

Подбор кодов ТН ВЭД ЕАЭС по описанию товара или началу кода, со ставками пошлин

tnved_code_info

Наименование, вышестоящие позиции, ставка ЕТТ в разобранном виде, антидемпинг, решения ЕЭК по коду

calc_import_payments

Пошлина (адвалорная, специфическая, комбинированная), антидемпинг, акциз, НДС 22% / 10%, сбор 2026 года, итог в рублях

calc_recycling_fee

Утильсбор на легковые автомобили по таблице с 01.12.2025 (по мощности), на 2026–2030 годы, для бизнеса и для личного пользования

customs_clearance_fee

Сбор за таможенные операции 2026 года по стоимости декларации

antidumping_check

Антидемпинговые меры ЕАЭС по коду, товару и стране происхождения

classification_rulings_search

Решения Коллегии ЕЭК о классификации отдельных товаров

exchange_rates

Официальные курсы ЦБ РФ

server_status

Версии и источники данных

Чем отличается

  • Считает специфические и комбинированные ставки: «10%, но не менее 2 евро за пару».

  • У каждой цифры есть источник: постановление, решение ЕЭК, курс ЦБ.

  • Не выдумывает цифры: если ставку не удалось разобрать или размер антидемпинговой пошлины неизвестен, сервер прямо об этом говорит.

  • Учитывает 2026 год: НДС 22%, новая шкала сборов, действующие меры защиты рынка ЕАЭС, утильсбор по мощности.

  • От инвойса до платежей: китайский инвойс на входе, готовые строки для расчёта на выходе.

Результаты справочные. Окончательно код и платежи определяют декларант и таможня.

Подключение

Удалённо, без установки

https://mcp.xonta.ru/customs/mcp

Claude Desktop, Cursor и любой клиент с поддержкой удалённых MCP-серверов:

{
  "mcpServers": {
    "xonta-customs": { "url": "https://mcp.xonta.ru/customs/mcp" }
  }
}

Локально (stdio)

uvx xonta-customs-mcp
{
  "mcpServers": {
    "xonta-customs": { "command": "uvx", "args": ["xonta-customs-mcp"] }
  }
}

Для поиска кодов локальному серверу нужна таблица ТН ВЭД. Расчёт работает и без неё, если передать ставку:

uvx --from xonta-customs-mcp xonta-customs-load-tariff tnved.xlsx --source "ЕТТ ЕАЭС, выгрузка от 05.11.2026"

Подойдёт любой .xlsx или .csv со строкой заголовков, где есть колонки кода и наименования. Колонки ставки и единицы измерения подхватываются, если они есть.

Примеры

Обувь с верхом из натуральной кожи из Китая, 1 000 пар, по инвойсу 20 000 юаней. Сколько заплатим на таможне?

Агент вызывает tnved_search("обувь с верхом из натуральной кожи"), затем calc_import_payments(customs_value=20000, currency="CNY", code="6403990000", quantity_pair=1000) и получает пошлину по специфической части комбинированной ставки, НДС 22% сверху, сбор 2026 года и итог.

Вот инвойс поставщика (PDF). Посчитай платежи.

parse_invoice(file_url=...) возвращает три позиции с количеством, ценами, весом нетто и HS-кодами, и предупреждает, что при условиях FOB к таможенной стоимости нужно добавить фрахт и страховку. Дальше каждая позиция проходит через tnved_search и calc_import_payments.

Автомобиль 2 л, 170 л. с., 2 года, ввозит компания. Какой утильсбор?

calc_recycling_fee(engine="ice", power_hp=170, engine_volume_cc=1998) → коэффициент 45, 900 000 рублей в 2026 году.

Данные и источники

Данные

Источник

Обновлено

ТН ВЭД ЕАЭС и ставки ЕТТ

Решение Совета ЕЭК № 80 от 14.09.2021, загружается из файла выгрузки

при загрузке

Таможенные сборы 2026

Постановление Правительства № 1637 от 28.11.2024 в редакции № 1638 от 23.10.2025

01.01.2026

НДС при ввозе

Ст. 164 НК РФ в редакции Федерального закона № 425-ФЗ

01.01.2026

Антидемпинговые меры

Решения Коллегии ЕЭК, продлённые в 2026 году (неполный список)

05.11.2026

Решения о классификации

Решения Коллегии ЕЭК (неполный список)

05.11.2026

Курсы валют

Банк России, ежедневно

в реальном времени

Утильсбор на автомобили

Постановление Правительства № 1291 от 26.12.2013, приложение, раздел I, в редакции № 1713 от 01.11.2025

01.12.2025, график до 2030

Новые меры и решения можно добавить самому: правьте src/xonta_customs/data/*.json и присылайте pull request.

Своя установка

pip install xonta-customs-mcp
xonta-customs-load-tariff tnved.xlsx
ALLOWED_HOSTS=mcp.example.com xonta-customs-mcp --http --host 127.0.0.1 --port 8765

Адреса: /mcp (Streamable HTTP), /health, /.well-known/mcp/server-card.json. Примеры для systemd и nginx в папке deploy/, есть Dockerfile.

PDF и сканы инвойсов переводятся в Markdown через DocParse (io.github.mrsergeiluzhnov/docparse в реестре MCP). Укажите DOCPARSE_URL (адрес, который принимает {"url": ...} и отдаёт Markdown) и при необходимости DOCPARSE_TOKEN. Без этого инвойсы в .xlsx/.csv всё равно разбираются, а текст инвойса клиент может передать сам в invoice_text. Ссылки на файлы с частных и локальных адресов сервер не открывает.

Разработка

pip install -e ".[dev]"
pytest

Лицензия

MIT. Сделано в Xonta.

Available Tools

10 tools
antidumping_checkA
Read-onlyIdempotent

Check EAEU trade defence measures (antidumping duties) by code, product and origin country.

Returns matching measures with the Eurasian Economic Commission decision, the decision that sets duty rates per producer, expiry date and a link. The bundled list covers measures renewed in 2026 and is not exhaustive: absence of a match is not proof that no measure applies.

Inputs: code, product, origin_country.

calc_import_paymentsA
Read-onlyIdempotent

Calculate import customs payments into Russia for one goods item, in RUB.

Computes: import duty by the EAEU ETT rate (ad valorem, specific per kg/pcs/pair/litre, or combined 'X%, but not less than Y EUR per unit'), antidumping duty, excise, import VAT ((customs value + duty + antidumping + excise) x 22% or 10%) and the 2026 customs clearance fee by customs value bracket. Converts currencies at Bank of Russia rates. Returns a line-by-line breakdown with sources.

Inputs: customs_value (required), code, on_date, currency, +12 more.

calc_recycling_feeA
Read-onlyIdempotent

Recycling fee (утилизационный сбор) for a passenger car (category M1) imported into Russia.

Uses the official coefficient table (Decree 1291 as amended by Decree 1713 of 01.11.2025): base rate 20 000 RUB x coefficient by engine type, volume, power band (kW), age and year (Dec 2025, 2026 ... 2030). Covers the commercial table and the personal-use table (0.17 / 0.26 for up to 160 hp and up to 3 l). Returns the coefficient, band and source.

Inputs: engine (required), on_date, power_hp, power_kw, +4 more.

customs_clearance_feeA
Read-onlyIdempotent

Customs clearance fee (сбор за таможенные операции) for an import declaration into Russia in 2026.

The fee depends on the total customs value of the declaration: from 1 231 RUB (up to 200 000) to 73 860 RUB (over 10 million). Also returns the full bracket table and the legal source.

Inputs: total_customs_value_rub (required).

exchange_ratesA
Read-onlyIdempotent

Official Bank of Russia exchange rates (RUB per 1 unit) used for customs payments.

Inputs: on_date, currencies.

parse_invoiceA
Read-onlyIdempotent

Parse a supplier's commercial invoice or packing list into customs-ready line items.

Extracts invoice number, date, parties, currency, Incoterms and country of origin, and for each line: description, model, material, supplier HS code, quantity, unit, price, amount, net and gross weight. Checks arithmetic (qty x price, sum vs total), explains what to add to the invoice value for customs value under the given Incoterms, and suggests a TN VED search query per line (HS code first 6 digits or Russian keywords). Feed the lines to tnved_search and calc_import_payments.

Inputs: file_url, invoice_text.

server_statusA
Read-onlyIdempotent

Data versions of this server: tariff load date and source, antidumping and rulings list dates, fee table source.

Inputs: no named parameters.

tnved_code_infoA
Read-onlyIdempotent

Get everything known about one TN VED EAEU code.

Returns the official name with parent headings, the ETT import duty rate parsed into ad valorem / specific / combined parts, EAEU antidumping measures that may apply (filtered by origin country if given) and EEC classification rulings for this heading.

Inputs: code (required), origin_country.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 10 tools

    Disambiguation4/5

    Each tool has a distinct primary role (nomenclature search vs. code detail vs. payment calc vs. invoice parsing vs. reference lookups), and descriptions explicitly chain them (parse_invoice → tnved_search → calc_import_payments). Minor overlap remains: calc_import_payments already computes the customs clearance fee that customs_clearance_fee exposes separately, and tnved_code_info returns antidumping measures that antidumping_check also covers (albeit with producer-level rates and origin filtering).

    Naming Consistency4/5

    All names are snake_case and follow a legible scheme: lookups use domain+suffix (tnved_search, antidumping_check, classification_rulings_search), calculators use verb_noun (calc_import_payments, calc_recycling_fee, parse_invoice), and reference data uses plain nouns (exchange_rates, server_status). The mix of verb-first and noun-first patterns is a minor inconsistency but never confusing.

    Tool Count5/5

    Ten tools is squarely in the well-scoped range, and each maps to a real step in the customs-classification-and-payment workflow rather than being filler. No tool feels redundant enough to be dropped outright (the clearance-fee tool is the only borderline case).

    Completeness4/5

    The surface covers the core lifecycle: invoice parsing, code search, code detail, duty/VAT/excise computation, recycling fee, clearance fee, antidumping measures, binding rulings, FX rates and data provenance. Gaps exist for adjacent needs (export payments, customs-value adjustment methods, personal-use import limits, or producing a declaration), but the stated classification/import-payment scope is well served.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides 14 customs and trade operations as MCP tools, enabling AI agents to query tariff, track declarations, screen dual-use items, and generate AI-powered declarations.
      47 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to search EU/French customs codes, get duty rates, and monitor tariff changes via natural language, using the DouaneCode API.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to track packages, rate and create shipments, manage pickups and customs documentation, and perform international shipping logistics checks through natural language.
      MIT