Skip to main content
Glama
atomno-mcp

mcp-fns-calc

by atomno-mcp

atomno-mcp-fns-calc

Налоговый калькулятор РФ прямо в AI-ассистенте — Russian tax math & fiscal-status checks for AI agents (Cursor, Claude Desktop, Cline, and any MCP client).

MCP-сервер (Model Context Protocol) для бухгалтеров, ИП и малого бизнеса. 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-calc

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

Переменные окружения

Переменная

Описание

Обязательна

MCP_FNS_CALC_TOKEN

API-ключ (тариф Pro) для live-проверок статусов и свежих ставок

нет (калькуляторы работают без него)

MCP_FNS_CALC_API_BASE

Базовый URL hosted-бэкенда

нет

MCP_FNS_CALC_TIMEOUT

Таймаут HTTP, сек (default 30)

нет

Инструменты

Тул

Тип

Что делает

calc_vat

офлайн

НДС: начислить сверху / выделить из суммы

calc_usn

офлайн

УСН доходы 6% / доходы-расходы 15% + мин.налог

calc_insurance_ip

офлайн

Взносы ИП «за себя» + 1% сверх 300k

calc_ndfl

офлайн

НДФЛ по прогрессивной шкале 2025+

calc_patent

офлайн

Стоимость патента (ПСН)

calc_penalty

офлайн

Пени по ключевой ставке ЦБ РФ

get_rates

офлайн/hosted

Ставки и лимиты (снапшот или свежие)

check_selfemployed

hosted (Pro)

Статус самозанятого (НПД) по ИНН

check_ip_status

hosted (Pro)

Статус ИП и ОКВЭД из ЕГРИП

check_disqualified

hosted (Pro)

Реестр дисквалифицированных лиц

check_account_block

hosted (Pro)

Приостановление операций по счетам

check_tax_arrears

hosted (Pro)

Недоимки / задолженность

Дисклеймер

Инструмент расчётов и доступа к открытым данным ФНС. Не является налоговой, бухгалтерской или юридической консультацией. Ставки и лимиты меняются — проверяйте актуальность по НК РФ и официальным сервисам ФНС / Банка России. Не аффилирован с ФНС.

Лицензия

MIT.

Available Tools

12 tools
calc_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}.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoГод расчёта.
incomeYesГодовой доход ИП.
monthsNoПолных месяцев деятельности (неполный год).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description fully carries the burden by stating side effects: read-only, deterministic, offline, and rates from bundled snapshot. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise, front-loading purpose, then usage, side effects, and return fields. Every sentence serves a purpose, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, behavior, and return fields. Missing error conditions or edge cases (e.g., negative income), but given sibling tools and output schema existence, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. Description adds value by clarifying 'months' usage for partial year, reinforcing schema ranges and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it calculates IP fixed insurance contributions plus 1% on income above 300k RUB, citing tax code art. 430. It distinguishes from sibling tools like calc_ndfl and calc_patent by focusing on IP self-contribution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides 'When to use' (annual IP self-contribution estimate, partial year with months<12) and 'When NOT to use' (employee payroll, closed years without snapshot check) with alternative tool suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoГод (прогрессивная шкала с 2025).
incomeYesГодовой доход.
deductionsNoВычеты.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses 'Side effects: read-only, deterministic, offline; no auth or network.' These are critical behavioral traits. However, it could mention error handling or edge cases (e.g., negative income already handled by schema minimum=0). Still, the key safety and performance aspects are clearly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise: 4 sentences covering purpose, usage guidelines, side effects, and return structure. Every sentence adds value with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (progressive tax, 3 parameters, output schema exists), the description covers purpose, when/not to use, side effects, and return fields. It lacks detailed explanation of bracket structure in returns, but since an output schema likely exists, this is acceptable. The legal reference (NK RF art. 224) adds useful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all parameters have descriptions). The description reinforces that deductions are subtracted from income and that the result includes per-bracket breakdown, but it does not add significant new meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Progressive personal income tax (NDFL/НДФЛ) 2025+ with per-bracket breakdown' and specifies the resource 'salary or IP income after deductions'. The verb 'estimate annual NDFL' is precise, and the tool is clearly distinguished from siblings like calc_insurance_ip, calc_vat, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides 'When to use' and 'When NOT to use' sections, including an alternative for employer withholding ('use payroll') and a limitation ('non-resident rates not modeled'). This provides clear guidance on when to invoke this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
monthsNoСрок патента в месяцах.
has_employeesNoЕсть работники (вычет взносов макс. 50%).
potential_incomeYesПотенциально возможный годовой доход (закон региона).
contributions_paidNoУплаченные страховые взносы.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses side effects: read-only, deterministic, offline, no auth/network, and lists the return fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with formula, and each sentence adds value (usage, side effects, return structure). No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete coverage: calculation formula, usage guidelines, side effects, and return fields. Output schema exists, so return value detail is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions; the additional formula and usage context in the description provide extra meaning (e.g., how contributions_paid and has_employees affect the calculation).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates patent taxation (PSN/ПСН) cost using a specific formula, distinguishing it from sibling tax calculators (e.g., calc_usn, calc_vat).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides 'When to use' (compare patent vs USN, use regional law potential_income) and 'When NOT to use' (eligibility limits, employee-heavy cases), with clear alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description fully handles disclosure. It states read-only, offline, deterministic, no side effects, idempotent, and lists limitations like single key rate and exclusion of other sanctions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections and bullet points, every sentence adds value. Slightly long but necessary for a complex tax tool. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive coverage: purpose, when-to-use/not, parameter explanations, return value details (dict fields), limitations, and examples. Output schema referenced. Full context for an AI agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description adds significant meaning beyond schema: explains amount as principal arrears, days as calendar delay, key_rate as optional with default warning, and payer selecting penalty split. Includes examples illustrating parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates late-payment tax penalty under NK RF art. 75 using CBR key rate. It distinguishes from siblings like calc_insurance_ip by focusing on tax penalties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'When to use' and 'When NOT to use' sections provide clear guidance. It mentions context (quick what-if, before payment plan) and exclusions (multi-period, non-tax debts, official amounts).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
objNoincome (6%) или income_minus_expense (15%).income
rateNoРегиональная ставка, если отличается от базовой.
incomeYesДоход за период.
expensesNoРасходы (для income_minus_expense).
advances_paidNoРанее уплаченные авансовые платежи.
has_employeesNoЕсть работники (ограничивает вычет взносов 50%).
contributions_paidNoУплаченные страховые взносы (для объекта income).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explicitly states the tool is 'read-only, offline', explains the calculation logic for both tax objects, minimum tax, contributions deduction, and that it subtracts advances_paid. It also lists return fields, providing full behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with headings ('When to use', 'When NOT to use', 'Parameters', 'Returns', 'Limitations') and bullet points. It is concise yet comprehensive, with every sentence adding necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 params, two tax regimes, contributions deduction, minimum tax), the description covers all aspects: usage context, parameter explanation, return structure, and limitations. The existence of an output schema complements the description, but the description itself is highly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by grouping parameters (e.g., 'Parameters: income, obj, expenses...') and explaining their role in context (e.g., 'contributions_paid: for object income'). It also notes rate is regional override, enhancing understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Calculate simplified tax (USN/УСН): 6% on income or 15% income-minus-expense with minimum tax'. It uses a specific verb and resource, and the description distinguishes it from sibling tools like calc_ndfl or calc_vat by specifying the tax type and regime. The limitations section further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit 'When to use' and 'When NOT to use' sections, providing clear context. It advises to check get_rates for income limits, and lists exclusions like exact advance-payment calendar or KKT cash reporting. This helps the agent decide when to invoke this tool vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description fully covers behavior: states read-only, offline, single-rate line, no side effects. Describes return object fields and includes an example. Exceeds required disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections (purpose, when to use, when not, parameters, returns, limitations, example). Every sentence is informative and necessary. Front-loaded with core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters and an output schema, the description is fully complete: covers all use cases, exclusions, parameter semantics, return format, limitations, and provides an example. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema describes all 3 parameters with 100% coverage. Description adds context for each parameter (e.g., 'base sum in RUB (net for add, gross for extract)') and demonstrates usage with example. Adds value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool computes Russian VAT (НДС) with two modes (add to net or extract from gross). Distinguishes from sibling tools like calc_insurance_ip by focusing specifically on VAT.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'When to use' (invoice line, USN taxpayers, sanity check) and 'When NOT to use' (VAT declaration, multi-rate, export/zero-rate, mixed lines). This is comprehensive guidance for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
innYesИНН организации/ИП.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses read-only HTTPS behavior, required token (MCP_FNS_CALC_TOKEN), and that it returns an object or error. No annotations present, so description carries full burden and does so well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then uses bullet points for usage, side effects, and return value. Every sentence adds value, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description explains return structure ({suspended, inn, details, disclaimer}) and covers prerequisites, limitations, and side effects comprehensively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage for 'inn' parameter with description; tool description adds context like '10–12 digit' and 'from FNS', enhancing meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it checks bank account operation suspension info from FNS using a 10–12 digit INN. Differentiates from sibling tools like check_tax_arrears and check_ip_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly specifies when to use (treasury/compliance check before large outbound payment) and when not to use (real-time bank balance, offline unavailable).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fioNoФИО для поиска (если нет ИНН).
innNoИНН для поиска в реестре дисквалифицированных.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description fully discloses behavioral traits: read-only operation, HTTPS side effect, required token (MCP_FNS_CALC_TOKEN), and input constraints (at least one of inn/fio required). It also notes the indicative nature of results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with 5 sentences, each serving a distinct purpose (overall purpose, when to use, when not to use, side effects, returns). No redundant information, and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 parameters, output schema exists), the description covers all necessary aspects: purpose, usage guidelines, behavioral constraints, parameter requirements, and return format. It is fully sufficient for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying that at least one of inn or fio is required (schema marks both as optional) and explains the purpose of each parameter, elevating the score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Match against FNS disqualified persons register by INN or FIO.' It specifies the resource (disqualified persons register) and the action (match), and distinguishes it from sibling tools that handle different checks or calculations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when-to-use ('compliance screen before appointing director/signatory') and when-not-to-use ('sole evidence for legal decisions — result is indicative, verify manually'), along with the required input conditions ('provide inn or fio'). This is exemplary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
innYesИНН ИП (12 цифр).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries the burden of behavioral disclosure. It states the operation is read-only HTTPS, requires MCP_FNS_CALC_TOKEN, and lists side effects. This is comprehensive for a simple lookup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (6 lines) and well-structured with clear sections: purpose, when to use, when not to use, side effects, and return value. Every sentence adds value, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and the description mentions the output schema (status, inn, okved, etc.) and error conditions, it is complete. No critical information is missing for an agent to decide when and how to use this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a description of the 'inn' parameter (12-digit INN for individual entrepreneur). The description briefly reiterates the 12-digit requirement but does not add meaningful new semantics beyond what the schema provides. Schema coverage is 100%, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: checking IP registration status, OKVED, and EGRIP dates using a 12-digit INN. It distinguishes from siblings by explicitly noting that for full EGRUL extract one should use mcp-egrul (though not listed, it provides differentiation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit 'When to use' (confirm counterparty is active IP before contract/payment) and 'When NOT to use' (full EGRUL extract, offline mode unavailable). It also provides an alternative tool (mcp-egrul) and mentions prerequisites (Pro API key).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
innYesИНН физлица (10 или 12 цифр).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description fully compensates by declaring read-only side effects, no local mutation, token requirement, and error case for missing token.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise and well-structured: main action first, then usage guidelines, side effects, and return format. No redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all essential aspects: purpose, usage cues, side effects, parameter, and return structure. Output schema is referenced, fulfilling completeness for a simple read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with description 'ИНН физлица (10 или 12 цифр).' Description adds no extra semantics beyond 'taxpayer INN', which is not significant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes specific verb ('Check') and resource ('self-employed status by INN'), clearly distinguishing from sibling calculators and other check tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (mandatory verification before payment) and when not to use (offline calculations, missing token), and directs to alternatives like calculators.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
innYesИНН организации/ИП.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description covers behavioral aspects: read-only HTTPS, requires Pro API key and token, returns structure. It lacks details on error handling or rate limits but is sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three short paragraphs: purpose, usage guidelines, and return format. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (1 required parameter, no nested objects, output described), the description covers purpose, usage, requirements, and output adequately. Could mention error handling or data freshness but is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with schema description for 'inn'. The description adds usage context (10–12 digit INN, counterparty due diligence) beyond the schema's 'ИНН организации/ИП.', enhancing the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks tax arrears/debt flags from a specific data source, with a specific resource (INN). However, it does not explicitly differentiate from sibling check tools like check_account_block, though the domain (tax arrears) is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when-to-use (counterparty due diligence with specific INN length) and when-not-to-use (official certificate, offline), including an alternative. This fully meets the dimension criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description fully discloses behavior: offline vs live, snapshot date fixed, and that fresh=true requires a Pro token. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear headings, uses bullet points for readability, and contains no unnecessary words. Each section efficiently conveys important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately summarizes return values. It covers all necessary aspects: what the tool does, when to use, parameters, returns, and limitations, ensuring the agent can determine correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters have schema descriptions (100% coverage), but the description adds English usage context, default behavior, and practical implications, enhancing understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves tax rates and limits, with two modes (offline snapshot or live hosted pull). It distinguishes itself from sibling calculators like calc_penalty or calc_usn by being the data provider.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises when to use the tool (before calculations) and when not to (legal interpretation). It also explains the difference between snapshot and fresh=true, guiding selection based on context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.4
    • Changedcalc_penalty4 fields changed
      • changedInput schema / properties / amount / description
        Before
        "Сумма недоимки."
        After
        "Сумма недоимки (руб.), на которую начисляются пени."
      • changedInput schema / properties / days / description
        Before
        "Дней просрочки."
        After
        "Число календарных дней просрочки с даты, когда платёж должен был быть уплачен."
      • changedInput schema / properties / key_rate / description
        Before
        "Ключевая ставка ЦБ РФ, % годовых (если не задана — снапшот)."
        After
        "Ключевая ставка ЦБ РФ, % годовых. Если не задана — берётся из встроенного снапшота (см. snapshot_date в ответе)."
      • changedInput schema / properties / payer / description
        Before
        "org (1/300 до 30 дн, далее 1/150); ip/individual (1/300)."
        After
        "Тип плательщика: org (организация), ip (ИП), individual (физлицо, не ИП)."
  2. 12 tool updatesv0.1.0
    • First observedcalc_insurance_ip
    • First observedcalc_ndfl
    • First observedcalc_patent
    • First observedcalc_penalty
    • First observedcalc_usn
    • First observedcalc_vat
    • First observedcheck_account_block
    • First observedcheck_disqualified
    • First observedcheck_ip_status
    • First observedcheck_selfemployed
    • First observedcheck_tax_arrears
    • First observedget_rates

TDQS

A4.7/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Central 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.
    5
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP 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).
    8
    15
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    8
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A public, no-auth remote MCP server that exposes Arc & Ledger's free tax calculators and intake funnel as tools inside AI assistants. Provides tools for IRS notice explanation, FBAR/FATCA, LLC vs S-Corp comparison, quarterly tax estimates, and more.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/atomno-mcp/mcp-fns-calc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server