tax-engine
What this MCP does
Calculates and explains Czech OSVČ taxes, insurance, VAT obligations, filing deadlines, penalties, exchange rates, and flat-tax eligibility.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['currentBand', 'actualAnnualIncome'], 'properties': {'currentBand': {'enum': ['band1', 'band2', 'band3'], 'type': 'string', 'description': 'Band actually paid during the year'}, 'isProjection': {'type': 'boolean', 'default': False, 'description': 'True for a mid-year projection instead of a final settlement'}, 'monthsInRegime': {'type': 'integer', 'default': 12, 'maximum': 12, 'minimum': 1}, 'flatRatePercent': {'anyOf': [{'type': 'number', 'const': 0.4}, {'type': 'number', 'const': 0.6}, {'type': 'number', 'const': 0.8}], 'description': 'Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)'}, 'actualAnnualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['monthlyIncome'], 'properties': {'taxRegime': {'enum': ['standard', 'pausal_band_1', 'pausal_band_2', 'pausal_band_3'], 'type': 'string', 'default': 'standard'}, 'activityType': {'enum': ['main', 'secondary'], 'type': 'string', 'default': 'main'}, 'advanceExempt': {'type': 'boolean', 'default': False}, 'monthlyIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Gross monthly business income in CZK (§ 7 ZDP)'}, 'flatRatePercent': {'anyOf': [{'type': 'number', 'const': 0.4}, {'type': 'number', 'const': 0.6}, {'type': 'number', 'const': 0.8}], 'default': 0.6, 'description': 'Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)'}, 'reducedMinimumBase': {'type': 'boolean', 'default': False, 'description': 'New OSVÄ\x8c in the first 2 years (lower social minimum)'}, 'rentalMonthlyIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Monthly rental income in CZK (§ 9 ZDP); triggers the mixed-income calculation'}, 'employerCoversHealth': {'type': 'boolean', 'default': False}, 'secondaryThresholdExceeded': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['annualIncome'], 'properties': {'activityType': {'enum': ['main', 'secondary'], 'type': 'string'}, 'annualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Expected annual business income in CZK'}, 'citizenshipType': {'enum': ['eu', 'non_eu_public', 'non_eu_private'], 'type': 'string', 'description': 'eu = EU/EEA citizen; non_eu_public = non-EU participating in Czech public health insurance (e.g. doÄ\x8dasná ochrana, employment); non_eu_private = non-EU with private/commercial insurance only'}, 'isVATRegistered': {'type': 'boolean', 'description': 'Full VAT payer (plátce DPH). Identifikovaná osoba is NOT blocking.'}, 'publicHealthStatus': {'enum': ['public', 'outside', 'unknown'], 'type': 'string'}, 'rentalAnnualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['vatStatus', 'foreignServicePurchase'], 'properties': {'today': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Evaluation date; defaults to today'}, 'vatStatus': {'enum': ['unknown', 'not_registered', 'identified_person', 'vat_payer'], 'type': 'string', 'description': 'Current VAT status of the OSVÄ\x8c'}, 'foreignSales': {'type': 'array', 'items': {'type': 'object', 'required': ['amount'], 'properties': {'amount': {'type': 'number', 'maximum': 100000000, 'minimum': 0}, 'clientLocation': {'enum': ['cz', 'eu', 'non_eu', 'unknown'], 'type': 'string'}, 'clientVatStatus': {'enum': ['business_vat_id', 'business_no_vat_id', 'consumer', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Year-to-date foreign client income for the sales-side (§ 6i) check'}, 'purchaseDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Date of the qualifying purchase; drives the 15-day § 97 registration deadline'}, 'vatStatusConfirmedAt': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'When the VAT status was last confirmed (freshness window 180 days)'}, 'foreignServicePurchase': {'enum': ['unknown', 'none_confirmed', 'possible', 'qualifying_confirmed'], 'type': 'string', 'description': 'Foreign service purchases: none_confirmed = verified none, possible = maybe (e.g. runs online ads), qualifying_confirmed = a qualifying purchase from a non-CZ supplier is confirmed'}, 'foreignServicePurchaseConfirmedAt': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['annualIncome'], 'properties': {'annualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['annualIncome'], 'properties': {'isMarried': {'type': 'boolean'}, 'deductions': {'type': 'object', 'properties': {'dipContributions': {'type': 'number', 'minimum': 0}, 'mortgageLoanYear': {'type': 'integer', 'maximum': 2030, 'minimum': 1990}, 'mortgageInterestPaid': {'type': 'number', 'minimum': 0}, 'mortgageIsOwnHousing': {'type': 'boolean'}, 'pensionContributions': {'type': 'number', 'minimum': 0}, 'lifeInsuranceContributions': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}, 'annualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Gross annual business income in CZK'}, 'hasChildUnder3': {'type': 'boolean'}, 'flatRatePercent': {'anyOf': [{'type': 'number', 'const': 0.4}, {'type': 'number', 'const': 0.6}, {'type': 'number', 'const': 0.8}], 'default': 0.6, 'description': 'Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)'}, 'numberOfChildren': {'type': 'integer', 'maximum': 10, 'minimum': 0}, 'rentalAnnualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0}, 'spouseIncomeUnderLimit': {'type': 'boolean', 'description': 'Spouse annual income under the credit limit (sleva na manžela/manželku)'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'hasZTP': {'type': 'boolean', 'default': False}, 'taxYear': {'type': 'number', 'const': 2026, 'default': 2026, 'description': 'Only 2026 is supported because the engine currently has a 2026 ruleset'}, 'children': {'type': 'array', 'items': {'type': 'object', 'required': ['birthYear'], 'properties': {'hasZTP': {'type': 'boolean', 'default': False}, 'birthYear': {'type': 'integer', 'maximum': 2030, 'minimum': 1950}, 'isStudying': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}, 'default': [], 'maxItems': 10}, 'isMarried': {'type': 'boolean', 'default': False}, 'isNewOsvc': {'type': 'boolean', 'default': False}, 'taxRegime': {'enum': ['standard', 'pausal_band_1', 'pausal_band_2', 'pausal_band_3'], 'type': 'string', 'default': 'standard'}, 'deductions': {'type': 'object', 'properties': {'dipContributions': {'type': 'number', 'minimum': 0}, 'mortgageLoanYear': {'type': 'integer', 'maximum': 2030, 'minimum': 1990}, 'mortgageInterestPaid': {'type': 'number', 'minimum': 0}, 'mortgageIsOwnHousing': {'type': 'boolean'}, 'pensionContributions': {'type': 'number', 'minimum': 0}, 'lifeInsuranceContributions': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}, 'activityType': {'enum': ['main', 'secondary'], 'type': 'string', 'default': 'main'}, 'targetRegime': {'enum': ['standard', 'pausal_band_1', 'pausal_band_2', 'pausal_band_3'], 'type': 'string', 'description': 'Simulate a different regime without changing the stored facts'}, 'hasChildUnder3': {'type': 'boolean'}, 'citizenshipType': {'enum': ['eu', 'non_eu_public', 'non_eu_private'], 'type': 'string', 'default': 'eu'}, 'disabilityGrade': {'enum': ['none', 'grade_1_2', 'grade_3'], 'type': 'string', 'default': 'none'}, 'flatRatePercent': {'anyOf': [{'type': 'number', 'const': 0.4}, {'type': 'number', 'const': 0.6}, {'type': 'number', 'const': 0.8}], 'default': 0.6, 'description': 'Flat-rate expense percentage as a decimal (0.4 / 0.6 / 0.8)'}, 'isVATRegistered': {'type': 'boolean', 'default': False}, 'isCzechTaxResident': {'type': 'boolean', 'default': True}, 'publicHealthStatus': {'enum': ['public', 'outside', 'unknown'], 'type': 'string'}, 'rentalMonthlyIncome': {'type': 'number', 'default': 0, 'maximum': 100000000, 'minimum': 0}, 'annualBusinessIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Exact annual business income in CZK; takes precedence over the monthly figure'}, 'employerCoversHealth': {'type': 'boolean', 'default': False}, 'monthlyBusinessIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Gross monthly business income in CZK (§ 7 ZDP)'}, 'spouseIncomeUnderLimit': {'type': 'boolean', 'description': 'Spouse annual income under the sleva na manžela limit'}, 'hasReducedSocialMinimum': {'type': 'boolean', 'default': False}, 'isExemptFromMonthlyZalohy': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['amountEur'], 'properties': {'amountEur': {'type': 'number', 'maximum': 1000000000, 'description': 'Amount in EUR', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'date': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Optional date (YYYY-MM-DD) to test for working-day status'}, 'year': {'type': 'integer', 'maximum': 2030, 'minimum': 2020}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['obligationType', 'owedAmount', 'daysOverdue'], 'properties': {'dueDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Original due date (YYYY-MM-DD); anchors the correct half-year repo rate'}, 'owedAmount': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Outstanding amount in CZK'}, 'daysOverdue': {'type': 'integer', 'maximum': 3650, 'minimum': 0}, 'obligationType': {'enum': ['health', 'social', 'tax_advance', 'pausal', 'pausal_oznameni', 'pausal_doplatek', 'tax_return', 'prehled_social', 'prehled_health', 'annual_social'], 'type': 'string', 'description': 'Obligation family: health/social insurance debt, tax_advance (záloha na daÅ\x88), pausal (paušálnÃ\xad daÅ\x88 payment), tax_return (late filing), prehled_* (late PÅ\x99ehled), annual_social (doplatek)'}, 'gracePeriodActive': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['taxYear'], 'properties': {'route': {'enum': ['standard_deadline', 'self_electronic_extension', 'advisor_extension'], 'type': 'string', 'description': 'Filing route: standard_deadline = paper/no extension (1 April), self_electronic_extension = filed electronically after 1 April (+1 month), advisor_extension = filed by a tax advisor (1 July)'}, 'taxYear': {'type': 'integer', 'maximum': 2030, 'minimum': 2020, 'description': 'The tax year the return is FOR (e.g. 2025 return is filed in 2026)'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['annualIncome'], 'properties': {'annualIncome': {'type': 'number', 'maximum': 100000000, 'minimum': 0}, 'flatRatePercent': {'anyOf': [{'type': 'number', 'const': 0.4}, {'type': 'number', 'const': 0.6}, {'type': 'number', 'const': 0.8}], 'default': 0.6, 'description': 'Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['taxYear'], 'properties': {'route': {'enum': ['standard_deadline', 'self_electronic_extension', 'advisor_extension'], 'type': 'string', 'description': 'Filing route: standard_deadline = paper/no extension (1 April), self_electronic_extension = filed electronically after 1 April (+1 month), advisor_extension = filed by a tax advisor (1 July)'}, 'taxYear': {'type': 'integer', 'maximum': 2030, 'minimum': 2020}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['topic'], 'properties': {'topic': {'enum': ['pausalni_dan', 'identifikovana_osoba', 'dph_registrace', 'zalohy', 'prehledy', 'penale', 'danove_pasmo_23', 'vedlejsi_cinnost'], 'type': 'string'}, 'locale': {'enum': ['en', 'cs'], 'type': 'string', 'default': 'en'}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
FalaZuki Finance BR
Provides Brazil-focused financial calculations and rules for investments, credit, taxes, payroll, labor costs, debt, budgeting, a…
XBOSS
Accesses Korean tax, social insurance, payroll, cash receipt, e-tax invoice, and certificate filing services.
Sirenic
Provides European company registry, financial, procurement, sanctions, regulatory, insolvency, ownership, and ongoing due-diligen…
taxsort-mcp
Classifies personal tax transactions, applies user-defined rules, manages tax-year sessions, and provides account, usage, and cre…
mcp
Analyzes medical bills and insurance denials, estimates healthcare costs, identifies assistance options, and supports appeals and…
AINumbers Fintech Intelligence Suite
Provides deterministic fintech, payment-policy, financial analysis, regulatory compliance, credential integrity, and audit-trail …
Xearno Tools
Provides financial, tax, employment-benefit, lending, pricing, and business calculators using jurisdiction-specific rules and cur…
schedule-iii
Transforms Indian company trial balances into controlled Schedule III financial statement workbooks with account mappings, disclo…