_ registry / mcp http-sse · checked 1h ago

osvcalc

https://osvcalc.cz

Registry code: 4a0b209287a0e98b

api record

Czech OSVČ tax calculator: income tax, social and health insurance, VAT, paušální daň.

from a public catalogue that lists it, not from the operator

endpoint
https://osvcalc.cz/api/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is osvcalc live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is osvcalc free to use?
Yes — the hub reached it with no key and no payment.
What tools does osvcalc have?
2 tools: calculate_osvc_taxes, get_field_guide.
Is osvcalc safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
417ms

last good check

priced tools
0

of 2 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 2 tools
2 open 2 of 2 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • calculate_osvc_taxes open 1h ago

    Computes the 2026 income tax, social and health insurance doplatek for a Czech OSVČ (self-employed person), given what they've been paid so far this year and their situation. Also returns VAT registration status, a regime comparison, next year's advances, and a filing guide, with an explanation in the requested locale. Income counts when it's actually received into the account, not when it was invoiced (cash basis), so 'income' should only be what's been paid so far this year, and 'monthly' is a separate estimate of what's still expected between now and December. For example, income: 300000, currentMonth: 6, monthly: 50000 means 300 000 Kč has been received through June, and about 50 000 Kč/month is expected July through December on top of that. Call get_field_guide first if you need to explain an option to the user before they've decided on a value.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "saved": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Money you have already put aside for this year's tax and insurance, for example in a savings account. It's subtracted from what you still need to set aside.\n\nDon't include the monthly zálohy you have already paid. Those are counted separately."
        },
        "income": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "All the money your customers have paid you this year, from 1 January until today. Count only what actually arrived in your bank account (or was handed to you in cash). An invoice you sent doesn't count until it's paid, so an invoice from 2025 that was paid in 2026 counts for 2026.\n\nLeave out money moved between your own accounts, loans, and anything else that isn't payment for your work. If you are a plátce DPH (you charge VAT), enter the amounts without VAT.\n\nSend either income or invoices: leave this out (or 0) when you send invoices."
        },
        "locale": {
          "enum": [
            "en",
            "cs"
          ],
          "type": "string",
          "default": "en",
          "description": "Language for the returned explanation text."
        },
        "soubeh": {
          "type": "boolean",
          "default": false,
          "description": "Tick this if you also have a job this year: a regular employment contract (pracovní poměr), or a DPP or DPČ agreement.\n\nYour wages and your business profit are added together in one tax return, so a salary can push part of your profit into the higher 23 % band. With a job on the side, paušální daň is not available. A job usually also makes your business a vedlejší (side) activity, see Activity status."
        },
        "status": {
          "enum": [
            "hlavniStandard",
            "hlavniZacinajici",
            "vedlejsi"
          ],
          "type": "string",
          "default": "hlavniStandard",
          "description": "This decides how much minimum insurance you have to pay.\n\n• Hlavní (main): the business is your main livelihood. You pay minimum social and health insurance every month, even if you earn little.\n\n• Začínající (starting): choose this if you started in 2024, 2025 or 2026 and were not self-employed (OSVČ) in the 20 calendar years before. Your minimum social insurance is lower in the year you start and the two years after.\n\n• Vedlejší (side): the business runs alongside something else, such as a job, studies, a pension, or maternity or parental leave. There's no minimum health insurance, and social insurance is owed only if the year's profit reaches 117 521 Kč (proportionally less if you were active only part of the year)."
        },
        "credits": {
          "type": "object",
          "default": {
            "ztp": false,
            "dary": 0,
            "manzelZtp": false,
            "pojisteni": 0,
            "disability": "none",
            "hypotekaOld": false,
            "childrenCount": 0,
            "manzelEligible": false,
            "childrenZtpCount": 0,
            "hypotekaInterest": 0,
            "lossCarryForward": 0
          },
          "properties": {
            "ztp": {
              "type": "boolean",
              "default": false,
              "description": "Tick this if you yourself have a ZTP/P card (the card for people with a severe disability who need someone to accompany them). It lowers your tax by 16 140 Kč a year. For a child or spouse with a ZTP/P card, use their own fields instead."
            },
            "dary": {
              "type": "number",
              "default": 0,
              "maximum": 10000000000,
              "minimum": 0,
              "description": "Donations to charities, non-profits, schools, municipalities, political parties and similar recipients for public-benefit purposes (health, education, culture, sport, social care, animal welfare and so on).\n\nGifts don't lower your tax directly. They lower your tax base (your profit, plus wages if you have a job), which the tax is calculated from, so at the 15 % rate you save about 15 % of what you gave. They count only if they add up to at least 1 000 Kč in the year, or to more than 2 % of your tax base, and at most 30 % of your tax base can be deducted. Keep a confirmation (potvrzení o daru) from each recipient."
            },
            "manzelZtp": {
              "type": "boolean",
              "default": false,
              "description": "If your husband or wife has a ZTP/P card, this discount doubles to 49 680 Kč a year."
            },
            "pojisteni": {
              "type": "number",
              "default": 0,
              "maximum": 10000000000,
              "minimum": 0,
              "description": "Money you yourself paid into private pension savings (doplňkové penzijní spoření or penzijní připojištění), a DIP (dlouhodobý investiční produkt, a long-term investment account) and private life insurance (životní pojištění).\n\nIt lowers your tax base (the profit your tax is calculated from) by up to 48 000 Kč a year for all of them together. For pension savings, only the part above 20 400 Kč a year counts, so enter just that part. Employer contributions don't count. Life insurance has to meet the legal conditions, which your insurer's yearly confirmation states."
            },
            "disability": {
              "enum": [
                "none",
                "first",
                "second",
                "third"
              ],
              "type": "string",
              "default": "none",
              "description": "Pick your degree if you receive an invalidní důchod (disability pension). 1st or 2nd degree lowers your tax by 2 520 Kč a year, 3rd degree by 5 040 Kč. This is separate from the ZTP/P discount, and you can claim both."
            },
            "hypotekaOld": {
              "type": "boolean",
              "default": false,
              "description": "Tick this if the loan contract was signed before 1 January 2021. Those older loans keep a higher limit of 300 000 Kč of interest a year. A refinanced older loan usually keeps it too, as long as the amount wasn't increased."
            },
            "childrenCount": {
              "type": "integer",
              "default": 0,
              "maximum": 20,
              "minimum": 0,
              "description": "Number of children (daňové zvýhodnění). Children who live with you and whom you support: up to age 18, or up to 26 while they're studying.\n\nEach child lowers your tax directly: by 15 204 Kč a year for the first child, 22 320 Kč for the second, and 27 840 Kč for the third and each one after. If this is more than your tax, the tax office pays you the difference as a daňový bonus, but only if your income from business and employment for the year is at least 134 400 Kč. Only one parent can claim a given child in a given month."
            },
            "manzelEligible": {
              "type": "boolean",
              "default": false,
              "description": "Lowers your tax by 24 840 Kč a year if all of this is true:\n• you live with your husband or wife,\n• their own income for the whole year is no more than 68 000 Kč,\n• they look after a child under 3 in your household.\n\nOnly months in which all of this is true count. Maternity pay (mateřská) counts toward the 68 000 Kč limit, parental allowance (rodičovský příspěvek) does not."
            },
            "childrenZtpCount": {
              "type": "integer",
              "default": 0,
              "maximum": 20,
              "minimum": 0,
              "description": "of which ZTP/P. How many of those children have a ZTP/P card (the card for people with a severe disability who need someone to accompany them). The tax discount for each such child is doubled."
            },
            "hypotekaInterest": {
              "type": "number",
              "default": 0,
              "maximum": 10000000000,
              "minimum": 0,
              "description": "Interest you paid this year on a mortgage or building-savings loan (úvěr ze stavebního spoření) for your own home. Your bank's yearly statement shows the amount.\n\nOnly the interest counts, not the part of your payments that pays off the loan itself. It lowers your tax base (the profit your tax is calculated from) by up to 150 000 Kč a year, a limit shared by the whole household."
            },
            "lossCarryForward": {
              "type": "number",
              "default": 0,
              "maximum": 10000000000,
              "minimum": 0,
              "description": "A tax loss (daňová ztráta) from your business in an earlier year, as finally assessed, that you have not used up yet. It can be taken off your tax base in the 5 years after it arose (§34). It only reduces business profit, never your wages from employment, and it comes off before the other deductions. Enter the part you are using this year."
            }
          },
          "description": "Optional tax credits and deductions (children, disability, spouse, gifts, mortgage interest, insurance, loss carried forward). Every field defaults to none."
        },
        "insurer": {
          "enum": [
            "",
            "vzp",
            "vozp",
            "cpzp",
            "ozp",
            "zps",
            "zpmvcr",
            "rbp"
          ],
          "type": "string",
          "default": "",
          "description": "The user's health insurer, if known, so the filing guide can name the account to pay into. Leave empty if unknown."
        },
        "monthly": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Your best guess of income still to be paid into your account per month, from the month after currentMonth through December. Only feeds the year-end projection, not the amount owed right now."
        },
        "paidNow": {
          "type": "boolean",
          "default": false,
          "description": "Zálohy are payments you send every month in advance, so you don't have to pay everything at once after the year ends. As OSVČ you usually pay two of them: social insurance to your local social security office (OSSZ) and health insurance to your health insurance company.\n\nTick this once this month's payments have left your account, so the calculator stops counting them as money you still owe."
        },
        "invoices": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "amount",
              "paidDate"
            ],
            "properties": {
              "amount": {
                "type": "number",
                "maximum": 10000000000,
                "minimum": 0,
                "description": "The invoice amount, in Kč, without VAT if you are a plátce DPH."
              },
              "paidDate": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                "description": "The date the payment actually landed in the account (cash basis), not the invoice date."
              }
            }
          },
          "maxItems": 1000,
          "description": "Alternative to entering income/currentMonth directly: a list of what was actually paid and when, letting the tool work out year-to-date income and the current month itself, correctly excluding an invoice issued in December but actually paid the following year. When given, this replaces income and currentMonth rather than adding to them, so don't also pass a non-zero income."
        },
        "platceDph": {
          "type": "boolean",
          "default": false,
          "description": "DPH is Czech VAT. A plátce DPH (VAT payer) adds VAT, usually 21 %, to most invoices, passes it on to the tax office and files regular VAT returns. In return, they can get back the VAT they paid on business purchases.\n\nRegistering becomes compulsory once your turnover (all your income added up) for the calendar year goes over 2 000 000 Kč: you apply within 10 working days and become a plátce from 1 January of the next year. If it goes over 2 536 500 Kč, you become a plátce from the very next day, again applying within 10 working days.\n\nA plátce can't use paušální daň. Enter income and expenses here without VAT.\n\nHeads-up: even if you're not a plátce, you may need to register as an identifikovaná osoba within 15 days when you buy services from abroad (ads, hosting, software subscriptions) or invoice a business in another EU country."
        },
        "taxRegime": {
          "enum": [
            "pausal",
            "actual",
            "pausalTax"
          ],
          "type": "string",
          "default": "pausal",
          "description": "This decides how your tax is worked out. There are three options:\n\n• Výdajový paušál: you're taxed as if a fixed percentage of your income went on business costs. No receipts needed. Usually the better choice when your real costs are low, which is typical for services.\n\n• Skutečné výdaje (actual expenses): you deduct what your business really spent, backed by invoices and receipts, and you must keep tax records (daňová evidence). Only worth it when your real costs are higher than what the paušál would give you, for example with expensive materials, subcontractors or equipment.\n\n• Paušální daň (flat tax): one fixed monthly payment covers income tax, social and health insurance all at once, and you usually don't file a tax return or přehledy (the yearly summaries for your insurers). It tends to pay off when your income is near the top of its band and you have no children or spouse to claim for, because no tax credits or deductions apply in it. Not available to plátci DPH, with a job on the side, or above 2 000 000 Kč of income.\n\nYou can switch between the options here to compare. Between paušál and actual expenses you choose each year in your tax return (once you have filed with the paušál, you can't switch that year to actual expenses). Paušální daň has to be signed up for by 10 January, or by the day you start the business."
        },
        "healthPaid": {
          "type": "number",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "What you actually paid in health insurance zálohy so far this year, if different from the assumed minimum. Leave unset to assume the minimum záloha was paid every month from startMonth onward."
        },
        "nemocenske": {
          "type": "boolean",
          "default": false,
          "description": "Sickness insurance is optional for OSVČ. If you pay it, you get sick pay (nemocenská) when illness stops you working, and it's required for maternity pay (peněžitá pomoc v mateřství).\n\nFor sick pay you must have paid it for at least 3 months right before falling ill. For maternity pay you need at least 180 days of it as OSVČ in the year before, and at least 270 days of sickness insurance (as an employee or OSVČ) in the previous two years."
        },
        "pausalBand": {
          "anyOf": [
            {
              "type": "number",
              "const": 1
            },
            {
              "type": "number",
              "const": 2
            },
            {
              "type": "number",
              "const": 3
            }
          ],
          "description": "Force a specific pásmo instead of letting it be chosen automatically from income and pausalRate. Only meaningful with taxRegime 'pausalTax', and only useful if you've already declared into a band and want figures for that one specifically."
        },
        "pausalPaid": {
          "type": "number",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "What you actually paid in paušální daň so far this year, if different from the assumed monthly rate (a band's rate can be revised retroactively mid-year, as pásmo 1's was in 2026). Leave unset to assume the then-current monthly rate was paid every month."
        },
        "pausalRate": {
          "enum": [
            "0.3",
            "0.4",
            "0.6",
            "0.8"
          ],
          "type": "string",
          "description": "You pay tax only on your profit: what you earned minus what your business cost you. The výdajový paušál is a shortcut. Instead of collecting receipts, the law lets you count a fixed percentage of your income as business costs. Example: with a 60 % paušál and 100 000 Kč of income, you're taxed as if your profit were 40 000 Kč.\n\nThe percentage depends on the kind of work you do:\n• 80 %: agriculture, forestry and craft trades (řemeslné živnosti, e.g. baker, plumber, bricklayer, hairdresser)\n• 60 %: all other trades run on a trade licence (volné, vázané and koncesované živnosti), which covers most IT and sales work on a živnostenský list\n• 40 %: work that needs no trade licence, such as liberal professions (doctor, lawyer, tax advisor) and royalties for authors, translators and artists\n• 30 %: renting out property that belongs to your business\n\nThe paušál applies to at most 2 000 000 Kč of income, so the most you can deduct is 1 600 000, 1 200 000, 800 000 or 600 000 Kč respectively. Not sure which one is yours? Your extract from the trade register (výpis ze živnostenského rejstříku) shows which kind of živnost you have."
        },
        "socialPaid": {
          "type": "number",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "What you actually paid in social insurance zálohy so far this year, if different from the assumed minimum. Leave unset to assume the minimum záloha was paid every month from startMonth onward."
        },
        "startMonth": {
          "type": "integer",
          "default": 1,
          "maximum": 12,
          "minimum": 1,
          "description": "Month the business started, 1 to 12 (1 = January or earlier, i.e. self-employed for the whole year). Minimum social and health insurance is owed for every month from this one onward."
        },
        "vosPartner": {
          "type": "boolean",
          "default": false,
          "description": "A partner in a veřejná obchodní společnost (general partnership) cannot use paušální daň (§7a). Tick this to have the calculator treat paušální daň as unavailable."
        },
        "otherIncome": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Income besides this activity and employment: rent (§9), capital income such as interest or dividends (§8) and other income (§10), for the whole year. It only matters for paušální daň, which is closed to you once it is above 50 000 Kč (§7a). It does not change your income tax estimate. A DPP taxed at source (srážková daň) does not block paušální daň, so leave it out here."
        },
        "currentMonth": {
          "type": "integer",
          "maximum": 12,
          "minimum": 1,
          "description": "The month the calculation is made for. Normally just leave it on the current month.\n\nChange it to see where you would stand in a different month, for example to plan ahead. Defaults to today's month."
        },
        "actualExpenses": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "What your business has actually spent so far this year, as long as you can prove it with an invoice or receipt: materials, goods you resell, subcontractors, rent for your workspace, software, business trips and similar. They count when paid, the same way as income.\n\nThings costing over 80 000 Kč (like a car or an expensive machine) can't be deducted all at once; they're spread over several years instead (depreciation). Personal spending and your own social and health insurance payments don't count."
        },
        "employmentIncome": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Your gross pay (hrubá mzda) from your job so far this year: the amount before tax and insurance are taken off, as shown on your payslips. It's not the amount that lands in your account.\n\nIt's added to your business profit to work out income tax, and it counts toward the income needed to have the child bonus paid out."
        },
        "expectedExpenses": {
          "type": "number",
          "default": 0,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Your best guess of business costs still to be paid per month, from the month after currentMonth through December. Only used with taxRegime 'actual'; with 'pausal' expenses are a fixed percentage of income instead."
        },
        "nemocenskeMonthly": {
          "type": "number",
          "default": 243,
          "maximum": 10000000000,
          "minimum": 0,
          "description": "How much you pay each month, at least 243 Kč. You choose the amount yourself: it's 2.7 % of a base you pick (at least 9 000 Kč). Sick pay is calculated from that same base, so paying more means you get more when you're ill."
        },
        "crossBorderServices": {
          "type": "boolean",
          "default": false,
          "description": "Buying services from abroad (SaaS subscriptions, ads, hosting) or invoicing a business in another EU country can make you an identifikovaná osoba, with a 15-day registration deadline, even as a non-payer of VAT. Tick this if either applies so the calculator flags it."
        },
        "employerTaxWithheld": {
          "type": "number",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Souběh only: the income tax your employer has actually withheld from your salary this year (sražená záloha na daň, shown on your payslips or the potvrzení o zdanitelných příjmech). Leave unset to let the calculator estimate it from employmentIncome."
        },
        "vedlejsiSocialAdvances": {
          "type": "boolean",
          "default": false,
          "description": "Vedlejší only. Social insurance zálohy are owed only if you signed up for social insurance voluntarily, or from the year after the year your profit reached the rozhodná částka (117 521 Kč in 2026, §13a of the social insurance act). Tick this if you are paying them; the minimum is 1 574 Kč a month. If not, nothing is due monthly, and the year's social insurance, if any, is paid in one go after you file the přehled."
        }
      },
      "additionalProperties": false
    }
    arguments 323 lines
  • get_field_guide open 1h ago

    Returns every field calculate_osvc_taxes accepts, grouped the way the web calculator groups them, with the same label and explanation shown in its tooltips. Use this to explain an option to the user before they've decided on a value, without running a calculation.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "locale": {
          "enum": [
            "en",
            "cs"
          ],
          "type": "string",
          "default": "en",
          "description": "Language for the returned explanation text."
        }
      }
    }
    arguments 15 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 4a0b209287a0e98b.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/4a0b209287a0e98b/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/4a0b209287a0e98b/badge.svg)](https://brick.blue/agent/4a0b209287a0e98b?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
60%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.