Skip to content

EvidujZdarma – EET 2.0 (Czech sales registration)

by evidujzdarma.cz · remote · no sign-in to list tools · v1.0.0 · published by cz.evidujzdarma

Czech EET 2.0 from 1 Jan 2027: check an IČO, classify payments, EET OFF cost, cited facts.

Final · 1Changes · 1

8 tools: 1 do something that can't be undone, 1 change things and 6 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http eet https://evidujzdarma.cz/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "eet_classify_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "eet_classify_payment" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Can't be undone 1Claude Code: ask
  • eet_classify_paymentDecide whether a payment is an evidenced sale ("kontaktní platba") under EET 2.0.1 finding

    Why it is in this group

    • The name "eet_classify_payment" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "eet_classify_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "eet_classify_payment" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Decide whether a payment is an evidenced sale ("kontaktní platba") under EET 2.0. Payments accepted in person or at the premises (cash, card, QR scanned on site, meal vouchers of another company, prepaid credit drawdown, deposits, virtual assets, cheques) are evidenced; redeeming a gift voucher for specific goods or a service is not a payment and is not evidenced (its sale was); remote payments (bank transfer for an invoice, e-shop payment gateway, QR on an invoice/website) are not. Args: - payment ('cash'|'card'|'qr_code'|'meal_voucher'|'credit'|'gift_voucher'|'deposit'|'voucher'|'virtual_assets'|'cheque'|'bank_transfer'|'online_gateway'|'cash_on_delivery') - in_person (boolean): was the payment made during personal contact or at the business premises? - response_format ('markdown'|'json'). Returns: evidenced ('yes'|'no'|'uncertain'), explanation, note, sources, guide url. 'uncertain' marks cases that need confirmation by a tax adviser (bank transfer made on site, cash on delivery). Activity-level exemptions are not evaluated here (see eet_get_facts topic 'exemptions').

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 1Claude Code: ask
  • eet_check_icoLook up a Czech business by IČO in the public ARES register and estimate whether EET 2.0 (mandatory sales registration from 1 Jan 2027) applies, whether EET OFF is available, and w…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a Czech business by IČO in the public ARES register and estimate whether EET 2.0 (mandatory sales registration from 1 Jan 2027) applies, whether EET OFF is available, and what to do next (personal checklist with dates). The estimate uses legal form, CZ-NACE activities and trade licences (RŽP) from ARES. ARES does not show whether the business accepts payments in person or uses the flat-rate tax, so pass the optional answers when you know them — they override the heuristics. Args: - ico (string): 8-digit Czech company ID, spaces allowed, e.g. "27082440". - accepts_in_person_payments ('yes'|'no'|'unknown'): cash/card/QR accepted in person or at premises? - flat_tax_band ('band1'|'band2'|'band3'|'no'|'unknown'): paušální daň band, 'no' = not in the flat-rate regime. - income_under_1m ('yes'|'no'|'unknown'): yearly self-employment income up to 1,000,000 CZK? - response_format ('markdown'|'json'). Returns: subject (name, legal form, VAT payer, municipality), verdict ('likely'|'possible'|'unlikely'|'dissolved'), headline, eet_off ('possible'|'not_available'|'check') with explanation, reasons, checklist [{date, title, text, url}], url of the full check on the website, catalog_url of the subject's page in the company catalogue (basic registry data, billing details, EET estimate). Don't use for: payment-type questions (use eet_classify_payment) or the EET OFF cost comparison (use eet_calculate_eet_off).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 6Claude Code: allow
  • eet_calculate_eet_offCompare the EET OFF surcharge (1 400 Kč/month added to the flat-rate tax instead of registering sales) with the real cost of registering sales (time × hourly rate + POS cost + hard…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare the EET OFF surcharge (1 400 Kč/month added to the flat-rate tax instead of registering sales) with the real cost of registering sales (time × hourly rate + POS cost + hardware spread over 3 years). Handles businesses that start mid-year (surcharge only from the start month). EET OFF is only for natural persons in band 1 of the flat-rate tax with income up to 1,000,000 CZK; for others the tool returns eligible=false with the reason. Args: - flat_tax_band (1|2|3|0): 0 = not in the flat-rate regime. - yearly_income_czk (number): self-employment income per year in CZK. - start_month (1-12, default 1): month the business starts in 2027; 1 = whole year. - minutes_per_day (default 5), work_days_per_month (default 21), hourly_rate_czk (default 300), pos_cost_monthly_czk (default 0 – the EvidujZdarma POS is free), hardware_one_off_czk (default 0). - response_format ('markdown'|'json'). Returns: eligible, reason (if not), verdict ('eet-off'|'evidence'|'tie'), surcharge_czk, evidence_cost_czk, difference_czk (positive = evidence costs more), months, flat_tax_monthly_2027_czk, rules (deadline, binding year, exceeding 1M, exit).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • eet_get_factsReturn short, sourced facts about EET 2.0 on chosen topics (Czech text, each with official/primary sources and the date the facts were verified).No findings

    Why it is in this group

    • The name "eet_get_facts" says "get": a word for reading.
    Description, as the server wrote it
    Return short, sourced facts about EET 2.0 on chosen topics (Czech text, each with official/primary sources and the date the facts were verified). Topics: law, timeline, january_pilot, who_must, exemptions, evidenced_payments, offline, receipt, units, certificate, eet_off, flat_tax, tax_credit, penalties, moje_eet, law_history. Omit 'topics' to get all of them. Key corrections this tool reflects: January 2027 is NOT a statutory pilot/grace period (evidence is mandatory from 1 Jan 2027); there is NO "occasional sales up to 50,000 CZK" exemption in the adopted law; the tax credit is "up to" 5,000 CZK for self-employed persons only. Args: - topics (array of topic names, optional) - response_format ('markdown'|'json'). Returns: facts [{topic, title, text, sources[{label,url}]}], facts_updated.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • eet_get_fs_statusReturn the current availability of the Finanční správa EET 2.0 interface (production trzbyeet.gov.cz and the Playground test environment) as measured every 5 minutes by EvidujZdarm…No findings

    Why it is in this group

    • The name "eet_get_fs_status" says "get": a word for reading.
    Description, as the server wrote it
    Return the current availability of the Finanční správa EET 2.0 interface (production trzbyeet.gov.cz and the Playground test environment) as measured every 5 minutes by EvidujZdarma: status ('up'|'slow'|'down'), last check, latency, uptime for 24 h / 7 days / 30 days and recent outages. It measures reachability of the server, not the processing of individual sales. Official outage notices are published on eet.gov.cz. Args: - response_format ('markdown'|'json').

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • eet_get_guideReturn the full text of one EvidujZdarma guide (Czech, Markdown) including FAQ and sources, by slug from eet_search_guides.No findings

    Why it is in this group

    • The name "eet_get_guide" says "get": a word for reading.
    Description, as the server wrote it
    Return the full text of one EvidujZdarma guide (Czech, Markdown) including FAQ and sources, by slug from eet_search_guides. Args: - slug (string): a slug returned by eet_search_guides. Only guides that passed expert review are available. - response_format ('markdown'|'json'). Returns: slug, title, url, updated, reviewed, text (truncated at 25,000 characters).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • eet_list_misconceptionsReturn claims about EET 2.0 that circulate in media and on commercial websites but contradict the adopted law or official Finanční správa information — each with what actually appl…No findings

    Why it is in this group

    • The name "eet_list_misconceptions" says "list": a word for reading.
    Description, as the server wrote it
    Return claims about EET 2.0 that circulate in media and on commercial websites but contradict the adopted law or official Finanční správa information — each with what actually applies, a dated "as of", our opinion (clearly labelled) and sources. Use it to fact-check a claim before answering. Args: - query (string, optional): filter by words, e.g. "leden", "50 000", "POK", "karta". - response_format ('markdown'|'json'). Returns: items [{id, question, claim, truth, comment, as_of, sources, url}], page_url.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • eet_search_guidesFull-text search in the EvidujZdarma guides about EET 2.0 (in Czech): who must register sales, contact payments, units, DIS+ and certificates, EET OFF, penalties, offline operation…No findings

    Why it is in this group

    • The name "eet_search_guides" says "search": a word for reading.
    Description, as the server wrote it
    Full-text search in the EvidujZdarma guides about EET 2.0 (in Czech): who must register sales, contact payments, units, DIS+ and certificates, EET OFF, penalties, offline operation, receipts, accommodation, hairdressers, craftsmen, selling on behalf of another person, glossary. Args: - query (string): Czech or English keywords, e.g. "ubytování kauce", "certifikát DIS+", "bez internetu". - limit (1-10, default 5). - response_format ('markdown'|'json'). Returns: results [{slug, title, description, updated, reviewed, url}]. Use eet_get_guide with the slug to read the full text. 'reviewed' = checked by our expert reviewer (see https://evidujzdarma.cz/o-nas#odborna-revize).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http eet https://evidujzdarma.cz/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__eet__eet_calculate_eet_off",
      "mcp__eet__eet_get_facts",
      "mcp__eet__eet_list_misconceptions",
      "mcp__eet__eet_search_guides",
      "mcp__eet__eet_get_guide",
      "mcp__eet__eet_get_fs_status"
    ],
    "ask": [
      "mcp__eet__eet_check_ico",
      "mcp__eet__eet_classify_payment"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as eet. Review it before you use it.