ru.xonta/customs
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ru.xonta/customs Calculate duty and VAT for 1,000 leather shoes from China worth 20,000 CNY"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| 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 |
| TN VED EAEU (ТН ВЭД ЕАЭС) codes by product words or code prefix, with duty rates |
| Name, parent headings, parsed ETT duty rate, antidumping measures, EEC rulings for a code |
| Duty (ad valorem, specific, combined), antidumping, excise, VAT 22% / 10%, 2026 customs fee, total in RUB |
| Car recycling fee (утильсбор) for M1 vehicles by engine, volume, power, age and year (Dec 2025–2030), commercial and personal-use tables |
| 2026 customs clearance fee by declaration value, with the full bracket table |
| EAEU antidumping measures by code, product and origin country, with EEC decisions |
| EEC decisions on classification of specific goods (binding in all EAEU countries) |
| Official Bank of Russia rates used for customs payments |
| 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/mcpClaude 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 8765Endpoints: /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]"
pytestLicense
MIT. Made by Xonta.
Xonta Customs RU — по-русски
Бесплатный MCP-сервер для импорта в Россию и ЕАЭС. Даёт ИИ-агенту инструменты таможенного брокера.
Инструменты
Инструмент | Что делает |
| Разбор инвойса или упаковочного листа поставщика (китайские, английские, русские заголовки): позиции, количество, цены, веса, HS-код, Инкотермс, проверка арифметики, подсказка для поиска ТН ВЭД |
| Подбор кодов ТН ВЭД ЕАЭС по описанию товара или началу кода, со ставками пошлин |
| Наименование, вышестоящие позиции, ставка ЕТТ в разобранном виде, антидемпинг, решения ЕЭК по коду |
| Пошлина (адвалорная, специфическая, комбинированная), антидемпинг, акциз, НДС 22% / 10%, сбор 2026 года, итог в рублях |
| Утильсбор на легковые автомобили по таблице с 01.12.2025 (по мощности), на 2026–2030 годы, для бизнеса и для личного пользования |
| Сбор за таможенные операции 2026 года по стоимости декларации |
| Антидемпинговые меры ЕАЭС по коду, товару и стране происхождения |
| Решения Коллегии ЕЭК о классификации отдельных товаров |
| Официальные курсы ЦБ РФ |
| Версии и источники данных |
Чем отличается
Считает специфические и комбинированные ставки: «10%, но не менее 2 евро за пару».
У каждой цифры есть источник: постановление, решение ЕЭК, курс ЦБ.
Не выдумывает цифры: если ставку не удалось разобрать или размер антидемпинговой пошлины неизвестен, сервер прямо об этом говорит.
Учитывает 2026 год: НДС 22%, новая шкала сборов, действующие меры защиты рынка ЕАЭС, утильсбор по мощности.
От инвойса до платежей: китайский инвойс на входе, готовые строки для расчёта на выходе.
Результаты справочные. Окончательно код и платежи определяют декларант и таможня.
Подключение
Удалённо, без установки
https://mcp.xonta.ru/customs/mcpClaude 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 toolsantidumping_checkARead-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_paymentsARead-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_feeARead-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.
classification_rulings_searchARead-onlyIdempotent
Search EEC (Eurasian Economic Commission) decisions on classification of specific goods.
These decisions are binding for all EAEU customs and are the strongest evidence for a code. Returns the decision number and date, the product, the TN VED code or heading and a source link.
Inputs: code, query.
customs_clearance_feeARead-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_ratesARead-onlyIdempotent
Official Bank of Russia exchange rates (RUB per 1 unit) used for customs payments.
Inputs: on_date, currencies.
parse_invoiceARead-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_statusARead-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_infoARead-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.
tnved_searchARead-onlyIdempotent
Search the TN VED EAEU (ТН ВЭД ЕАЭС) commodity nomenclature by product words or code prefix.
Returns candidate 10-digit codes with official names and the ETT import duty rate. Use the candidates to pick a code, then call tnved_code_info for details. Text search matches nomenclature wording, so use technical terms (material, function), not brand names. Results are candidates, not a classification decision.
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
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).
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.
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).
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
Related MCP Connectors
Russian docs for AI agents: invoices/acts PDF, document parsing, INN checks, medical ad checks
Classify, validate & verify HS codes and access tariff compliance data for cross-border trade
Cross-border duty-rate and Trade & Tariff content lookups with product compliance and restrictions
Neutral freight reference + validation layer for AI agents: ADR, HS, UN/LOCODE, freight math
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides 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 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform international trade operations such as calculating landed costs, classifying goods, explaining trade terms, estimating shipping, and converting currencies for Kazakhstan/EAEU/Central Asia trade routes.18 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search EU/French customs codes, get duty rates, and monitor tariff changes via natural language, using the DouaneCode API.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to track packages, rate and create shipments, manage pickups and customs documentation, and perform international shipping logistics checks through natural language.MIT