mcp-fns-calc
This MCP server provides Russian tax calculations and fiscal status checks for accountants, sole proprietors, and small businesses.
Offline tax calculators (no API key required): VAT (calc_vat), simplified tax USN (calc_usn), IP fixed insurance contributions (calc_insurance_ip), progressive NDFL (calc_ndfl), patent tax (calc_patent), and late-payment penalties (calc_penalty).
Tax rates and limits (get_rates): bundled offline snapshot or live fresh rates with a Pro key.
Live fiscal status checks (Pro API key required): self-employed/NPD status by INN (check_selfemployed), IP/EGRIP status (check_ip_status), disqualified persons register (check_disqualified), account block/suspension status (check_account_block), and tax arrears flags (check_tax_arrears).
Every calculator returns formulas, relevant NK RF article references, a disclaimer, and metadata for audit trails.
atomno-mcp-fns-calc
Налоговый калькулятор РФ прямо в ассистенте: НДС, УСН, взносы ИП, НДФЛ, патент и пени. Шесть расчётов работают без интернета и без ключа — с формулой и ссылкой на статью НК РФ. Для бухгалтеров, ИП и малого бизнеса.
Russian tax calculator for AI agents.
MCP-сервер для бухгалтеров, ИП и малого бизнеса. 6
калькуляторов работают локально и офлайн, без ключа, с формулой и ссылкой на статью
НК РФ: calc_vat (НДС 20/10/0 и спец-ставки 5/7), calc_usn (доходы 6% и
доходы-минус-расходы 15% с минимальным налогом и вычетом взносов), calc_insurance_ip
(фиксвзносы ИП + 1% с дохода свыше 300 000 ₽, неполный год), calc_ndfl
(прогрессивная шкала 2025+ 13/15/18/20/22% с разбивкой по ступеням), calc_patent
(ПСН), calc_penalty (пени по ключевой ставке ЦБ, 1/300 и 1/150). Плюс get_rates —
актуальные ставки и лимиты.
Ещё 5 live-проверок фискальных статусов (через hosted-API, тариф Pro):
check_selfemployed (самозанятый/НПД по ИНН — обязательная проверка перед выплатой
физлицу), check_ip_status (ИП/ОКВЭД из ЕГРИП), check_disqualified,
check_account_block, check_tax_arrears.
Калькуляторы — бесплатно и офлайн. Live-проверки и всегда-свежие ставки берём с hosted-бэкенда Atomno MCP (данные ФНС на дату запроса, ничего парсить не нужно) — для них нужен API-ключ: atomno-mcp.ru/pricing.
Каждый ответ содержит дисклеймер и ссылку на первоисточник. Не является налоговой консультацией.
Быстрый старт
uvx atomno-mcp-fns-calc # запустить без установки
# или
pipx install atomno-mcp-fns-calcmcp.json (Cursor / Claude Desktop) — калькуляторы работают сразу, без ключа:
{
"mcpServers": {
"fns-calc": {
"command": "uvx",
"args": ["atomno-mcp-fns-calc"],
"env": { "MCP_FNS_CALC_TOKEN": "<ключ для live-проверок, опционально>" }
}
}
}Related MCP server: mcp-fns-check
Переменные окружения
Переменная | Описание | Обязательна |
| API-ключ (тариф Pro) для live-проверок статусов и свежих ставок | нет (калькуляторы работают без него) |
| Базовый URL hosted-бэкенда | нет |
| Таймаут HTTP, сек (default 30) | нет |
Инструменты
Тул | Тип | Что делает |
| офлайн | НДС: начислить сверху / выделить из суммы |
| офлайн | УСН доходы 6% / доходы-расходы 15% + мин.налог |
| офлайн | Взносы ИП «за себя» + 1% сверх 300k |
| офлайн | НДФЛ по прогрессивной шкале 2025+ |
| офлайн | Стоимость патента (ПСН) |
| офлайн | Пени по ключевой ставке ЦБ РФ |
| офлайн/hosted | Ставки и лимиты (снапшот или свежие) |
| hosted (Pro) | Статус самозанятого (НПД) по ИНН |
| hosted (Pro) | Статус ИП и ОКВЭД из ЕГРИП |
| hosted (Pro) | Реестр дисквалифицированных лиц |
| hosted (Pro) | Приостановление операций по счетам |
| hosted (Pro) | Недоимки / задолженность |
Дисклеймер
Инструмент расчётов и доступа к открытым данным ФНС. Не является налоговой, бухгалтерской или юридической консультацией. Ставки и лимиты меняются — проверяйте актуальность по НК РФ и официальным сервисам ФНС / Банка России. Не аффилирован с ФНС.
Лицензия
MIT.
Available Tools
12 toolscalc_insurance_ipA
IP fixed insurance contributions + 1% on income above 300k RUB (NK RF art. 430).
When to use: annual IP self-contribution estimate; set months<12 for partial year. When NOT to use: employee payroll — use payroll tools; amounts for closed years without snapshot check. Side effects: read-only, deterministic, offline; rates from bundled snapshot.
Returns: {fixed, extra_1pct, total, income, year, months, formula, article, disclaimer}.
Inputs: income (required), year, months. Returns: object
calc_ndflA
Progressive personal income tax (NDFL/НДФЛ) 2025+ with per-bracket breakdown (NK RF art. 224).
When to use: estimate annual NDFL on salary or IP income after deductions. When NOT to use: monthly withholding by employer — use payroll; non-resident rates not modeled. Side effects: read-only, deterministic, offline; no auth or network.
Returns: {tax_total, taxable_base, brackets[], formula, article, disclaimer, snapshot_date}.
Inputs: income (required), year, deductions. Returns: object
calc_patentA
Patent taxation (PSN/ПСН) cost: potential income × 6% × months/12 minus contributions (NK RF ch. 26.5).
When to use: compare patent cost vs USN for an activity; potential_income from regional law. When NOT to use: eligibility/OKVED limits — verify with FNS; employee-heavy cases need manual review. Side effects: read-only, deterministic, offline; no auth or network.
Returns: {patent_cost, before_deduction, contributions_deduction, months, formula, article, disclaimer}.
Inputs: potential_income (required), months, has_employees, contributions_paid. Returns: object
calc_penaltyA
Estimate late-payment tax penalty (пени) per NK RF art. 75 using the CBR key rate.
When to use
Quick what-if: how much penalty accrues on a known arrears amount and delay in days.
Org vs IP/individual: orgs use 1/300 for days 1–30, then 1/150; IP and individuals use 1/300 for all days.
Before a payment plan or negotiation — ballpark figure, not a filing document.
When NOT to use
Multi-period calculation where the key rate changed during the delay (this tool uses one flat rate).
Penalties on non-tax debts (commercial loans, fines outside NK art. 75).
Official amount on a tax notice — always take the figure from FNS/LK; use this tool only for estimates.
Parameters
amount: principal arrears in RUB (non-negative).
days: calendar days of delay (0 → penalty 0).
key_rate: annual CBR %; omit to use bundled snapshot default (response includes warning_ru if default used).
payer:
org|ip|individual— selects the 1/300 vs 1/150 split for legal entities.
Returns (dict)
penalty (float): total penalty in RUB, rounded to kopecks.
amount, days, key_rate, payer: echo inputs used in the formula.
formula (str): human-readable breakdown.
article: "ст. 75 НК РФ".
snapshot_date, disclaimer, source: metadata for audit trail.
warning_ru (optional): present when key_rate was taken from snapshot, not passed explicitly.
Limitations
Single key rate for the whole period; for rate changes call get_rates(fresh=true) and run per sub-period manually.
Does not include other sanctions (штрафы) under NK art. 122/123 — only пени art. 75.
Read-only, offline, deterministic; no side effects; idempotent for identical inputs.
Examples
Org, 100_000 RUB, 45 days, key_rate=21: days 1–30 @ amount×21%/300×30 + days 31–45 @ amount×21%/150×15.
IP, 50_000 RUB, 10 days: amount×rate%/300×10 for all days.
days=0 → penalty=0 regardless of amount.
Inputs: days (required), amount (required), payer, key_rate. Returns: object
calc_usnA
Calculate simplified tax (USN/УСН): 6% on income or 15% income-minus-expense with minimum tax (NK RF ch. 26.2).
When to use
Estimate USN tax for a quarter/year before payment.
Object
income(6%): deduct paid IP contributions (capped at 50% if has_employees).Object
income_minus_expense(15%): apply minimum tax 1% of income if 15% base is lower.
When NOT to use
Exact advance-payment calendar or KKT cash reporting.
Taxpayers above USN income limits — check get_rates for limits first.
Parameters: income, obj, expenses, rate (regional override), contributions_paid, has_employees, advances_paid.
Returns: {tax, base, rate, min_tax, contributions_deduction, advances, formula, article, disclaimer}.
Limitations: read-only, offline; regional rates optional; subtracts advances_paid from result.
Inputs: income (required), obj, rate, expenses, +3 more. Returns: object
calc_vatA
Compute Russian VAT (НДС): add on top of net or extract from gross (NK RF art. 164, 168).
When to use
Invoice line: net→gross (mode=add) or gross→net+VAT (mode=extract).
USN taxpayers on special VAT rates 5% or 7% (from 2025 rules).
Quick sanity check before bookkeeping export.
When NOT to use
VAT declaration filing, multi-rate invoices, or export/zero-rate cases.
Mixed taxable/exempt lines — sum per line in accounting software.
Parameters
amount: base sum in RUB (net for add, gross for extract).
rate: 20, 10, 0, 5, or 7 (percent).
mode:
add|extract.
Returns: {net, vat, gross, rate, mode, formula, article, disclaimer, snapshot_date}.
Limitations: read-only, offline, single-rate line; no side effects. Example: amount=100000, rate=20, mode=add → vat=20000, gross=120000.
Inputs: amount (required), mode, rate. Returns: object
check_account_blockA
Bank account operation suspension info from FNS (10–12 digit INN). Requires Pro API key.
When to use: treasury/compliance check before large outbound payment. When NOT to use: real-time bank balance — different service; offline unavailable. Side effects: read-only HTTPS; needs MCP_FNS_CALC_TOKEN.
Returns: {suspended, inn, details, disclaimer} or error.
Inputs: inn (required). Returns: object
check_disqualifiedA
Match against FNS disqualified persons register by INN or FIO. Requires Pro API key.
When to use: compliance screen before appointing director/signatory; provide inn or fio. When NOT to use: sole evidence for legal decisions — result is indicative, verify manually. Side effects: read-only HTTPS; needs MCP_FNS_CALC_TOKEN. At least one of inn/fio required.
Returns: {matches[], query, disclaimer} or validation/error.
Inputs: fio, inn. Returns: object
check_ip_statusA
IP registration status, OKVED and EGRIP dates by 12-digit INN. Requires Pro API key.
When to use: confirm counterparty is active IP before contract/payment. When NOT to use: full EGRUL extract — use mcp-egrul; offline mode unavailable. Side effects: read-only HTTPS; needs MCP_FNS_CALC_TOKEN.
Returns: {status, inn, okved, registration_date, ... disclaimer} or error.
Inputs: inn (required). Returns: object
check_selfemployedA
Check self-employed (NPD/НПД) status by taxpayer INN via FNS open data. Requires Pro API key.
When to use: before paying a sole proprietor as individual — mandatory NPD verification. When NOT to use: offline what-if math — use calculators; without token returns missing_token error. Side effects: read-only HTTPS to hosted backend; no local data mutation. Needs MCP_FNS_CALC_TOKEN.
Returns: {is_selfemployed, inn, checked_at, source, disclaimer} or error/missing_token.
Inputs: inn (required). Returns: object
check_tax_arrearsA
Tax arrears / debt flags from FNS Transparent Business open data. Requires Pro API key.
When to use: counterparty due diligence alongside mcp-fns-check; 10–12 digit INN. When NOT to use: official debt certificate — request from FNS; offline unavailable. Side effects: read-only HTTPS; needs MCP_FNS_CALC_TOKEN.
Returns: {has_arrears, inn, amounts[], disclaimer} or error.
Inputs: inn (required). Returns: object
get_ratesA
Tax rates and limits: offline snapshot (default) or live hosted pull (fresh=true, Pro key).
When to use
Before calc_penalty: pass fresh CBR key_rate or read cbr_key_rate_default from snapshot.
Before calc_usn/calc_insurance_ip: verify USN income limits and IP contribution fixed amounts.
kinds filter narrows response: cbr_key_rate | ip_fixed_contrib | usn_limits | ndfl_scale | deflator.
When NOT to use
Legal interpretation of limits — snapshot may lag; use fresh=true for production DD.
Parameters
fresh: false (default) = bundled snapshot, no network; true = hosted API (MCP_FNS_CALC_TOKEN).
kinds: optional list to subset tables.
Returns: rate tables, snapshot_date (offline) or live payload + disclaimer.
Limitations: fresh=true requires Pro token; snapshot date fixed at package build time.
Inputs: fresh, kinds. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Each tool targets a distinct tax or compliance function, with calculators (calc_*) clearly separated from checks (check_*) and rates (get_rates). There is no overlap in purpose.
All tools follow a consistent verb_noun pattern using underscores: calc_* for calculations, check_* for verifications, and get_rates for rates. No mixing of styles.
With 12 tools covering tax calculations, compliance checks, and rate retrieval, the count is well-scoped for the server's stated purpose—neither too few nor too many.
The tool set covers key Russian tax calculations (IP, NDFL, patent, penalty, USN, VAT) and essential checks (account block, disqualified persons, IP status, self-employed, tax arrears). Obvious gaps like corporate income tax or full EGRUL are implied to be handled by other servers, keeping this surface focused and complete.
Maintenance
Related MCP Connectors
23-in-1 MCP server: EVM tx simulator, funding rate arb, macro radar, swap calldata & security.
Every L50 data API in one MCP server: UK companies, tenders, property, eBay, YouTube. x402 USDC.
Brazil PTAX, CNPJ/KYB, CEIS-CNEP sanctions, PIX and boleto. Paid x402 MCP API (USDC on Base).
UAE Corporate Tax Calculator: the site's own MCP server — calculator, enquiry (enquiry = a human...
Related MCP Servers
- AlicenseAqualityBmaintenanceCentral Bank of Russia (CBR) data for AI agents — daily and historical currency rates, key rate, inflation, and macro statistics. Five typed MCP tools, in-memory TTL cache, MIT-licensed, no API key required.572 PyPI1MIT
- AlicenseAqualityBmaintenanceMCP server for verifying Russian counterparties (legal entities and individual entrepreneurs) via public Federal Tax Service data: EGRUL/EGRIP, bankruptcy registry (EFRSB), Transparent Business, bailiff service (FSSP), and arbitration courts (KAD).877 PyPI15MIT
- AlicenseAqualityCmaintenanceMCP server for the Russian state registries EGRUL (legal entities) and EGRIP (individual entrepreneurs), built on official Federal Tax Service open-data dumps. Self-hosted via local SQLite.857 PyPI2MIT
- AlicenseAqualityBmaintenanceAI-доступ к кабинетам Wildberries, Ozon, Яндекс Маркета и Авито через MCP-сервер над официальными Seller API. 1022 метода: продажи, заказы, остатки, цены, финансы, отзывы, чаты и реклама. Каждая запись закрыта явным флагом подтверждения, есть авто-пагинация.126307 PyPI62MIT