Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

mcp-fns-calc

PYPI · ATOMNO-MCP-FNS-CALC · SCANNED SEP 20

Russian tax calculators (VAT, USN, NDFL) and FNS fiscal-status checks via MCP.

−1 this week 80 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 1 of 22 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2859 tokens (~238/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the mcp-fns-calc server?

mcp-fns-calc runs locally as a PyPI package, launched with uvx atomno-mcp-fns-calc. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · atomno-mcp-fns-calc

# add to Claude Code
claude mcp add atomno-mcp-mcp-fns-calc -- uvx atomno-mcp-fns-calc
// .cursor/mcp.json
{
  "mcpServers": {
    "atomno-mcp-mcp-fns-calc": {
      "command": "uvx",
      "args": [
        "atomno-mcp-fns-calc"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "atomno-mcp-mcp-fns-calc": {
      "command": "uvx",
      "args": [
        "atomno-mcp-fns-calc"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add atomno-mcp-mcp-fns-calc -- uvx atomno-mcp-fns-calc
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "atomno-mcp-mcp-fns-calc": {
      "type": "local",
      "command": [
        "uvx",
        "atomno-mcp-fns-calc"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add atomno-mcp-mcp-fns-calc --command uvx --arg atomno-mcp-fns-calc
# ~/.hermes/config.yaml
mcp_servers:
  atomno-mcp-mcp-fns-calc:
    command: "uvx"
    args: ["atomno-mcp-fns-calc"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "atomno-mcp-mcp-fns-calc": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "atomno-mcp-fns-calc"
      ]
    }
  }
}
# add to Vellum
assistant mcp add atomno-mcp-mcp-fns-calc -t stdio -c uvx -a atomno-mcp-fns-calc
// mcp.json
{
  "mcpServers": {
    "atomno-mcp-mcp-fns-calc": {
      "command": "uvx",
      "args": [
        "atomno-mcp-fns-calc"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −4
    • Stability: pass → 0.77 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 11 Sept 26 +1
    • Stability: 0.97 → pass security
  • 9 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/atomno-mcp-fns-calc@0.1.7

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 22 packages
Packages resolved 22
Stale 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 12 exposed · ~2,703 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
calc_insurance_ip ~152

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}.

NameTypeReqDescription
incomenumberyesГодовой доход ИП.
monthsintegerПолных месяцев деятельности (неполный год).
yearintegerГод расчёта.

Structured output declared, but exposes no named fields.

No examples provided.

calc_ndfl ~153

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}.

NameTypeReqDescription
deductionsnumberВычеты.
incomenumberyesГодовой доход.
yearintegerГод (прогрессивная шкала с 2025).

Structured output declared, but exposes no named fields.

No examples provided.

calc_patent ~202

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}.

NameTypeReqDescription
contributions_paidnumberУплаченные страховые взносы.
has_employeesbooleanЕсть работники (вычет взносов макс. 50%).
monthsintegerСрок патента в месяцах.
potential_incomenumberyesПотенциально возможный годовой доход (закон региона).

Structured output declared, but exposes no named fields.

No examples provided.

calc_penalty ~649

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.

NameTypeReqDescription
amountnumberyesСумма недоимки (руб.), на которую начисляются пени.
daysintegeryesЧисло календарных дней просрочки с даты, когда платёж должен был быть уплачен.
key_rateКлючевая ставка ЦБ РФ, % годовых. Если не задана — берётся из встроенного снапшота (см. snapshot_date в ответе).
payerstringТип плательщика: org (организация), ip (ИП), individual (физлицо, не ИП).

Structured output declared, but exposes no named fields.

No examples provided.

calc_usn ~347

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.

NameTypeReqDescription
advances_paidnumberРанее уплаченные авансовые платежи.
contributions_paidnumberУплаченные страховые взносы (для объекта income).
expensesnumberРасходы (для income_minus_expense).
has_employeesbooleanЕсть работники (ограничивает вычет взносов 50%).
incomenumberyesДоход за период.
objstringincome (6%) или income_minus_expense (15%).
rateРегиональная ставка, если отличается от базовой.

Structured output declared, but exposes no named fields.

No examples provided.

calc_vat ~323

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.

NameTypeReqDescription
amountnumberyesСумма (без НДС для add, с НДС для extract).
modestringadd — начислить сверху; extract — выделить из суммы.
ratenumberСтавка НДС: 20/10/0 или спец 5/7 (УСН с 2025).

Structured output declared, but exposes no named fields.

No examples provided.

check_account_block ~103

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.

NameTypeReqDescription
innstringyesИНН организации/ИП.

Structured output declared, but exposes no named fields.

No examples provided.

check_disqualified ~136

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.

NameTypeReqDescription
fioФИО для поиска (если нет ИНН).
innИНН для поиска в реестре дисквалифицированных.

Structured output declared, but exposes no named fields.

No examples provided.

check_ip_status ~118

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.

NameTypeReqDescription
innstringyesИНН ИП (12 цифр).

Structured output declared, but exposes no named fields.

No examples provided.

check_selfemployed ~139

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.

NameTypeReqDescription
innstringyesИНН физлица (10 или 12 цифр).

Structured output declared, but exposes no named fields.

No examples provided.

check_tax_arrears ~116

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.

NameTypeReqDescription
innstringyesИНН организации/ИП.

Structured output declared, but exposes no named fields.

No examples provided.

get_rates ~265

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.

NameTypeReqDescription
freshbooleantrue — тянуть свежие ставки с hosted (нужен ключ Pro); false — офлайн-снапшот.
kindsФильтр: cbr_key_rate | ip_fixed_contrib | usn_limits | ndfl_scale | deflator.

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the mcp-fns-calc server?

mcp-fns-calc is listed in the public MCP registry as io.github.atomno-mcp/mcp-fns-calc. Russian tax calculators (VAT, USN, NDFL) and FNS fiscal-status checks via MCP. This page covers its PyPI package (atomno-mcp-fns-calc).

Is the mcp-fns-calc server safe to use?

mcp-fns-calc scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the mcp-fns-calc server expose?

mcp-fns-calc exposes 12 tools: calc_vat, calc_usn, calc_insurance_ip, calc_ndfl, calc_patent, and 7 more. Their descriptions and schemas cost roughly 2,703 tokens of context every time the server is loaded.

Is the mcp-fns-calc server still maintained?

mcp-fns-calc is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the mcp-fns-calc server under?

mcp-fns-calc declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.