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

cz.freelax/tax-engine

REMOTE · FREELAX.CZ · SCANNED AUG 3

Deterministic Czech OSVC tax tools for 2026: tax, insurance, deadlines, VAT and exchange rates.

Available components

61 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 14 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability50
  • AI-judged instruction clarity (fair).Partial
  • Context-footprint check failed: tool/resource definitions use about 2291 tokens (~163/item across 14 items; 14 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 Management7
  • Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage82
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 45% of tool parameters carry a description.Partial
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · freelax.cz

# add to Claude Code
claude mcp add --transport http cz-freelax-tax-engine https://freelax.cz/api/mcp
# ~/.codex/config.toml
[mcp_servers.cz-freelax-tax-engine]
url = "https://freelax.cz/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cz-freelax-tax-engine": {
      "type": "remote",
      "url": "https://freelax.cz/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cz-freelax-tax-engine --url https://freelax.cz/api/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cz-freelax-tax-engine:
    url: "https://freelax.cz/api/mcp"
// mcp.json
{
  "mcpServers": {
    "cz-freelax-tax-engine": {
      "type": "http",
      "url": "https://freelax.cz/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

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.

  • 3 Aug 26 +1

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

  • 2 Aug 26 +7
    • Schema quality: unverified → fair functional
    • Stability: unverified → 0.03 functional
  • 1 Aug 26 53

    First indexed and scored.

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 3 Aug 2026 · Probed https://freelax.cz/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=freelax.cz CN=YR2,O=Let's Encrypt,C=US 14 Jun 2026 12 Sept 2026 RSA 2048 SHA256-RSA 538cea6dfcb5a5a3b08ca263a94c103fd66
SANs: freelax.cz, www.freelax.cz
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC secure

Validation of freelax.cz. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
cz. present 20237 13 Verified
freelax.cz. present 33701 13 Verified
freelax.cz. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' https://js.stripe.com https://plausible.io; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://api.stripe.com https://js.stripe.com https://*.sentry.io https://*.ingest.sentry.io https://plausible.io; frame-src 'self' https://js.stripe.com https://hooks.stripe.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self' https://checkout.stripe.com https://appleid.apple.com; worker-src 'self' blob:; object-src 'none'
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), interest-cohort=(), accelerometer=(), gyroscope=(), magnetometer=(), payment=(), usb=()
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://freelax.cz/api/mcp Verified 200
http (plaintext) http://freelax.cz/api/mcp HTTPS enforced 301 https://freelax.cz/api/mcp
MCP tools — 14 exposed · ~2,291 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.

Tool Tokens
calc_flat_tax_settlement ~160

Given the paušální daň band you paid and the actual annual income, computes whether you owe a doplatek (top-up), get a vratka (refund), or must exit the flat-tax regime (income above 2,000,000 CZK).

NameTypeReqDescription
actualAnnualIncomenumberyes
currentBandstringyesBand actually paid during the year
flatRatePercentFlat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)
isProjectionbooleanTrue for a mid-year projection instead of a final settlement
monthsInRegimeinteger

No output schema declared.

No examples provided.

calc_set_aside ~219

How much of a monthly OSVČ income to set aside for Czech income tax, social and health insurance, and what remains safe to spend. Supports mixed §7 business + §9 rental income and the paušální daň (flat tax) regimes.

NameTypeReqDescription
activityTypestring
advanceExemptboolean
employerCoversHealthboolean
flatRatePercentFlat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)
monthlyIncomenumberyesGross monthly business income in CZK (§ 7 ZDP)
reducedMinimumBasebooleanNew OSVČ in the first 2 years (lower social minimum)
rentalMonthlyIncomenumberMonthly rental income in CZK (§ 9 ZDP); triggers the mixed-income calculation
secondaryThresholdExceededboolean
taxRegimestring

No output schema declared.

No examples provided.

check_flat_tax_eligibility ~197

Screens whether an OSVČ may enter or stay in the paušální daň (flat tax) regime: public health insurance participation (decisive for foreigners), VAT-payer status, income ceiling 2,000,000 CZK, side income and secondary activity. Returns reasons with severity.

NameTypeReqDescription
activityTypestring
annualIncomenumberyesExpected annual business income in CZK
citizenshipTypestringeu = EU/EEA citizen; non_eu_public = non-EU participating in Czech public health insurance (e.g. dočasná ochrana, employment); non_eu_private = non-EU with private/commercial insurance only
isVATRegisteredbooleanFull VAT payer (plátce DPH). Identifikovaná osoba is NOT blocking.
publicHealthStatusstring
rentalAnnualIncomenumber

No output schema declared.

No examples provided.

check_io_trigger ~243

Checks whether buying services from abroad (Google Ads, Meta, ChatGPT, hosting…) or selling services to EU businesses has made an OSVČ an identifikovaná osoba under § 6h/§ 6i ZDPH, with the 15-day registration deadline (§ 97) and fact-freshness handling. Verdict: ok / check / act_now.

NameTypeReqDescription
foreignSalesarrayYear-to-date foreign client income for the sales-side (§ 6i) check
foreignServicePurchasestringyesForeign 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
foreignServicePurchaseConfirmedAtstring
purchaseDatestringDate of the qualifying purchase; drives the 15-day § 97 registration deadline
todaystringEvaluation date; defaults to today
vatStatusstringyesCurrent VAT status of the OSVČ
vatStatusConfirmedAtstringWhen the VAT status was last confirmed (freshness window 180 days)

No output schema declared.

No examples provided.

check_thresholds ~78

Checks an annual income against the four statutory thresholds: VAT registration 2,000,000 CZK, immediate VAT registration 2,536,500 CZK, the 23% higher tax bracket, and the paušální daň eligibility ceiling. Reports approaching (90%), exceeded and remaining amounts.

NameTypeReqDescription
annualIncomenumberyes

No output schema declared.

No examples provided.

compare_regimes ~184

Compares the standard OSVČ regime against paušální daň (flat tax) for a yearly income, including tax credits that would be lost with the flat tax (children, spouse), and recommends the cheaper regime.

NameTypeReqDescription
annualIncomenumberyesGross annual business income in CZK
deductionsobject
flatRatePercentFlat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)
hasChildUnder3boolean
isMarriedboolean
numberOfChildreninteger
rentalAnnualIncomenumber
spouseIncomeUnderLimitbooleanSpouse annual income under the credit limit (sleva na manžela/manželku)

No output schema declared.

No examples provided.

compute_year ~368

Computes a full Czech OSVČ tax year from personal facts: income tax with credits (children, spouse, deductions), social and health insurance, monthly set-aside, safe-to-spend, flat-tax band and regime-eligibility evaluation. All figures come from the deterministic Freelax engine, never from the model.

NameTypeReqDescription
activityTypestring
annualBusinessIncomenumberExact annual business income in CZK; takes precedence over the monthly figure
childrenarray
citizenshipTypestring
deductionsobject
disabilityGradestring
employerCoversHealthboolean
flatRatePercentFlat-rate expense percentage as a decimal (0.4 / 0.6 / 0.8)
hasChildUnder3boolean
hasReducedSocialMinimumboolean
hasZTPboolean
isCzechTaxResidentboolean
isExemptFromMonthlyZalohyboolean
isMarriedboolean
isNewOsvcboolean
isVATRegisteredboolean
monthlyBusinessIncomenumberGross monthly business income in CZK (§ 7 ZDP)
publicHealthStatusstring
rentalMonthlyIncomenumber
spouseIncomeUnderLimitbooleanSpouse annual income under the sleva na manžela limit
targetRegimestringSimulate a different regime without changing the stored facts
taxRegimestring
taxYearnumberOnly 2026 is supported because the engine currently has a 2026 ruleset

No output schema declared.

No examples provided.

convert_eur_czk ~79

Converts an EUR amount to CZK using the Czech National Bank daily exchange rate (the rate used for Czech tax purposes). Reports the rate, its publication date and whether a stale cached ČNB publication had to be used. Fails closed when no verified ČNB rate is available.

NameTypeReqDescription
amountEurnumberyesAmount in EUR

No output schema declared.

No examples provided.

czech_working_days ~76

Czech public holidays for a year (including movable Easter feasts) and, for a specific date, whether it is a working day and the next working day a statutory deadline would shift to.

NameTypeReqDescription
datestringOptional date (YYYY-MM-DD) to test for working-day status
yearintegeryes

No output schema declared.

No examples provided.

estimate_penalty ~213

Estimates the Czech penalty/interest for a late payment or filing: repo rate + 8 p.p. for insurance and tax interest (3.5% H1 / 3.75% H2 2026), 3 grace days for tax payments, 200 CZK health aggregation floor and the 1,000 CZK tax non-assessment threshold. A dated estimate is rejected when its required rate period falls outside the implemented history.

NameTypeReqDescription
daysOverdueintegeryes
dueDatestringOriginal due date (YYYY-MM-DD); anchors the correct half-year repo rate
gracePeriodActiveboolean
obligationTypestringyesObligation family: health/social insurance debt, tax_advance (záloha na daň), pausal (paušální daň payment), tax_return (late filing), prehled_* (late Přehled), annual_social (doplatek)
owedAmountnumberyesOutstanding amount in CZK

No output schema declared.

No examples provided.

get_filing_deadlines ~129

Deadline for the Czech personal income tax return (DPFO) for a given tax year, per filing route: paper, self-filed electronic, or via tax advisor. Weekend and holiday shifts are applied.

NameTypeReqDescription
routestringFiling 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)
taxYearintegeryesThe tax year the return is FOR (e.g. 2025 return is filed in 2026)

No output schema declared.

No examples provided.

get_flat_tax_band ~106

Which paušální daň band (pásmo 1/2/3) an annual income falls into given the expense flat-rate, the current monthly payment for that band, and the next income threshold to watch.

NameTypeReqDescription
annualIncomenumberyes
flatRatePercentFlat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)

No output schema declared.

No examples provided.

get_prehled_deadlines ~122

Filing deadlines for the annual OSVČ Přehled o příjmech a výdajích for both social insurance (ČSSZ) and the health insurer, per tax-return filing route, plus the payment due date (8 calendar days after the filing deadline).

NameTypeReqDescription
routestringFiling 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)
taxYearintegeryes

No output schema declared.

No examples provided.

get_rule_source ~117

For a Czech OSVČ tax topic, returns the governing rule with current values, primary-source citations (zákon, ČSSZ, VZP, Finanční správa) with verification dates, and related Freelax articles. Topics: pausalni_dan, identifikovana_osoba, dph_registrace, zalohy, prehledy, penale, danove_pasmo_23, vedlejsi_cinnost.

NameTypeReqDescription
localestring
topicstringyes

No output schema declared.

No examples provided.