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

UOL Účetnictví (unofficial)

OCI · GHCR.IO/JAKUBBEGERA/UOL-MCP · 3 COMPONENTS

Invoices, receivables, VAT, ledger and documents from UOL Účetnictví (Czech online accounting)

41 Trust /100

Last scanned (6 hours ago)

Scores higher than 46% of OCI servers

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this image's dependency list comes from an SBOM its publisher attached, which nothing verifies, so we will not report it as a clean result.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this image's dependency list comes from an SBOM its publisher attached. It names packages and versions but not whether each is deprecated, still maintained or linked to its source, so there is nothing we can fairly grade.Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2569 tokens (~128/item across 20 items; 18 tools + 2 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 Management0
  • Stability observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses.Unverified
Tool Coverage94
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 78% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 2 categories

Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

What we tested

Checks we ran (11)

  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Checks we could not complete (5)

These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.

  • Malware scan in Supply Chain Security (scores 0 for this)No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  • Known CVEs in Supply Chain Security (scores 0 for this)Known CVEs could not be checked: this image's dependency list comes from an SBOM its publisher attached, which nothing verifies, so we will not report it as a clean result.
  • Install scripts in Supply Chain Security (scores 0 for this)Install-script risk not yet assessed.
  • Dependency health in Supply Chain Security (scores 0 for this)Dependency health could not be checked: this image's dependency list comes from an SBOM its publisher attached. It names packages and versions but not whether each is deprecated, still maintained or linked to its source, so there is nothing we can fairly grade.
  • Stability in Stability & Change Management (scores 0 for this)Stability observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses.

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

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.

  • 5 Nov 26 41

    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 5 Nov 2026 · Analysed oci/ghcr.io/jakubbegera/uol-mcp@0.6.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 18 exposed · ~2,146 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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
api_get ~155

Read-only GET of any UOL REST path (spec: https://api.uol.cz/openapi.yaml) for data no other tool covers — e.g. /v1/accounting_records, /v1/bank_movements, /v1/products, /v1/warehouse/statuses, /v1/sales_orders. Returns the raw JSON (amounts as strings, invoice status "valid" = draft); large answers are cut to fit. Prefer the dedicated tools.

NameTypeReqDescription
pathstringyesPath under the API root starting with /v1/, e.g. /v1/products
queryobject–Query parameters, e.g. {"page": 1, "per_page": 50}
NameTypeReqDescription
data–yes–
pathstringyes–
truncatedbooleanyes–

No examples provided.

download_uploaded_document ~38

Saves the original file of an uploaded document on the machine running uol-mcp and returns its path.

NameTypeReqDescription
document_idstringyes–
NameTypeReqDescription
content_typestringyes–
document_idstringyes–
file_namestringyes–
file_pathstring|nullyesAbsolute path of the saved file on the machine running uol-mcp; null when the file is embedded in the result (HTTP transport)
size_bytesnumberyes–

No examples provided.

export_sales_invoice ~98

Downloads an issued (sales) invoice rendered by UOL and saves it on the machine running uol-mcp. format=isdoc also returns the ISDOC XML (Czech e-invoice standard), which is readable line by line. ISDOC exists only for issued (confirmed) invoices. Received invoices cannot be exported through the API.

NameTypeReqDescription
formatstring––
invoice_idstringyesinvoice_id from search_sales_invoices
NameTypeReqDescription
content_typestringyes–
file_namestringyes–
file_pathstring|nullyesAbsolute path of the saved file on the machine running uol-mcp; null when the file is embedded in the result (HTTP transport)
formatstringyes–
invoice_idstringyes–
size_bytesnumberyes–

No examples provided.

get_bank_balances ~71

Balances of the company's own bank accounts, per account and summed per currency. UOL stores monthly opening-balance snapshots (1st of the month), not live balances; always quote the as_of date.

NameTypeReqDescription
historyboolean–Also return every snapshot, newest first (up to 120)
NameTypeReqDescription
accountsarrayyes–
by_currencyarrayyes–
history–yes–
notestringyes–
truncatedbooleanyesTrue when UOL had more snapshots than one call reads

No examples provided.

get_business_snapshot ~98

"How is the company doing?" in one call: this month vs last month (revenue, expenses, profit, whether booked yet), the VAT period due next and the running one, unpaid and overdue receivables, uploaded documents waiting for the accountant, and bank balances. Sections that fail (e.g. missing permission) are null and listed in errors; sections read only partly are listed in incomplete. Use the dedicated tools for detail.

Input schema present but exposes no named parameters.

NameTypeReqDescription
as_ofstringyes–
bank–yesUOL stores monthly opening-balance snapshots (1st of the month), not live balances; always quote the as_of date.
booked_throughstring|nullyesDate of the latest revenue or expense posting: the ledger is booked up to here; later months are not booked yet
company–yes–
documents_to_processnumber|nullyesUploaded documents in state unprocessed
errorsarrayyes–
incompletearrayyesSections where UOL had more rows than one call reads; their figures may be too low
previous_month–yes–
receivables–yes–
this_month–yes–
vat_current_period–yesThe running period, still open
vat_due_next–yesThe period whose return and payment are due next — what will be paid

No examples provided.

get_company ~44

The accounting entity of this UOL tenant: name, IČO, DIČ, address and VAT filing period. Also a quick check that uol-mcp is connected.

Input schema present but exposes no named parameters.

NameTypeReqDescription
addressobjectyes–
company_numberstring|nullyesIČO
emailstring|nullyes–
legal_entityboolean|nullyestrue = company (právnická osoba), false = sole trader
namestring|nullyes–
phonestring|nullyes–
registerstring|nullyes–
tenantobjectyes–
valid_fromstring|nullyes–
vat_periodstringyes–
vatinstring|nullyesDIČ
webstring|nullyes–

No examples provided.

get_contact ~41

One contact with all addresses, bank accounts and default payment terms.

NameTypeReqDescription
contact_idstringyescontact_id, e.g. from search_contacts or an invoice
NameTypeReqDescription
addressesarrayyes–
bank_accountsarrayyes–
citystring|nullyes–
company_numberstring|nullyesIČO
contact_idstringyesUsable with get_contact and as buyer_id / seller_id / customer_id filters
countrystring|nullyes–
days_till_due_datenumber|nullyesDefault payment term in days
emailstring|nullyes–
external_idstring|nullyes–
hiddenboolean|nullyes–
namestring|nullyes–
notestring|nullyes–
taxable_personboolean|nullyesBusiness (osoba povinná k dani) vs private person
unreliable_payerboolean|nullyesFlagged as nespolehlivý plátce DPH
vat_payerboolean|nullyes–
vatinstring|nullyesDIČ

No examples provided.

get_financial_overview ~131

Revenue (výnosy, class 6), expenses (náklady, class 5) and profit per month from the general ledger — the same basis as the UOL web dashboard, so payroll, rent and other internal documents count, not just invoices. Amounts are net of VAT, in the home currency. The current month is still running, and months the accountant has not booked yet have booked=false — say so instead of reporting zero. Also returns the largest revenue and expense accounts (with names) for the whole window.

NameTypeReqDescription
monthsinteger–Months ending with the current one
NameTypeReqDescription
as_ofstringyes–
booked_throughstring|nullyesDate of the latest revenue or expense posting: the ledger is booked up to here; later months are not booked yet
current_vs_previous–yes–
expenses_by_accountarrayyes–
monthsarrayyes–
revenue_by_accountarrayyes–
totalsobjectyes–
truncatedbooleanyesTrue when the ledger had more postings than one call reads; use fewer months

No examples provided.

get_purchase_invoice ~39

One received (purchase) invoice with line items, VAT and payment symbols.

NameTypeReqDescription
invoice_idstringyesinvoice_id from search_purchase_invoices
NameTypeReqDescription
constant_symbolstring|nullyes–
currencystring|nullyes–
department_idstring|nullyes–
due_datestring|nullyes–
exchange_ratenumber|nullyes–
external_idstring|nullyes–
invoice_idstringyesInternal id, usable with get_purchase_invoice
issue_datestring|nullyes–
itemsarrayyes–
notestring|nullyes–
numberstring|nullyesSupplier's invoice number
payment_methodstring|nullyes–
received_datestring|nullyes–
sellerobjectyes–
specific_symbolstring|nullyes–
statusstringyesdraft = koncept (UOL "valid"), issued = vystavená ("confirmed"), cancelled = storno ("invalid")
tax_datestring|nullyesDUZP — taxable supply date
totalnumber|nullyesTotal including VAT (Celkem s DPH)
total_without_vatnumber|nullyesTax base (Celkem bez DPH)
typestring|nullyes–
variable_symbolstring|nullyes–
vatnumber|nullyesSum of VAT amounts
vat_amountsarrayyesUOL vat1..vat3 amounts in rate order

No examples provided.

get_sales_invoice ~93

One issued (sales) invoice with line items, VAT, payment symbols, own bank account and payments received. Use export_sales_invoice for the PDF or ISDOC. Earlier invoices to the same buyer show how they are usually issued (DUZP, due days, products, line texts, bank account) — a template for a new one.

NameTypeReqDescription
invoice_idstringyesinvoice_id from search_sales_invoices
NameTypeReqDescription
bank_account_idstring|nullyesOwn bank account the buyer pays to (list_codebook my_bank_accounts)
buyerobjectyes–
constant_symbolstring|nullyes–
contract_idstring|nullyesContract (zakázka), if any
currencystring|nullyes–
department_idstring|nullyes–
due_datestring|nullyes–
exchange_ratenumber|nullyes–
external_idstring|nullyes–
invoice_idstringyesInternal id, usable with get_sales_invoice
issue_datestring|nullyes–
itemsarrayyes–
linked_invoice_idstring|nullyesE.g. the original invoice of a corrective invoice
notestring|nullyes–
numberstring|nullyesEvidence number shown on the invoice
paymentobjectyes–
payment_methodstring|nullyes–
paymentsarrayyes–
specific_symbolstring|nullyes–
statusstringyesdraft = koncept (UOL "valid"), issued = vystavená ("confirmed"), cancelled = storno ("invalid")
tax_datestring|nullyesDUZP — taxable supply date
textstring|nullyesIntroductory text printed on the invoice
totalnumber|nullyesTotal including VAT (Celkem s DPH)
total_without_vatnumber|nullyesTax base (Celkem bez DPH)
typestring|nullyes–
variable_symbolstring|nullyes–
vatnumber|nullyesSum of VAT amounts
vat_amountsarrayyesUOL vat1..vat3 amounts in rate order

No examples provided.

get_uploaded_document ~52

One uploaded document with its original file name, tags and the bookkeeping records it was paired with. Pairings identify the record by type and internal gid, not by invoice number.

NameTypeReqDescription
document_idstringyes–
NameTypeReqDescription
content_typestring|nullyes–
created_atstring|nullyes–
created_bystring|nullyes–
document_idstringyes–
file_namestring|nullyes–
formatstring|nullyes–
notestring|nullyes–
pairingsarrayyes–
statestring|nullyesunprocessed = waiting for the accountant, processed, error
tags–yesNull when the UOL user may not read tags
uploaded_viastring|nullyesweb, api, an e-mail address or an OIDC client id

No examples provided.

get_vat_overview ~139

VAT (DPH) per filing period, newest first: output VAT, input VAT, amount to pay or excess deduction, due date. The filing period (monthly / quarterly) comes from the company settings. Closed periods use UOL's "DPH" closing document (exact). Open periods are estimated from issued invoices — output VAT by DUZP, input VAT by the later of DUZP and the receipt date: proformas skipped, corrective invoices counted as credit notes, internal documents and reverse charge not included.

NameTypeReqDescription
periodsinteger–Number of periods; default 4 for monthly payers, 2 for quarterly
NameTypeReqDescription
as_ofstringyes–
methodstringyes–
periodsarrayyes–
truncatedbooleanyes–
vat_periodstringyes–

No examples provided.

list_codebook ~126

Reference data (číselníky) used by invoices and documents: currencies, countries, departments (střediska), contracts (zakázky), price lists, product categories, predefined texts, document templates, payment rules, own bank accounts, petty cashes (pokladny), document tags and products (the product_id invoice lines need). Records are returned as UOL sends them, minus audit fields.

NameTypeReqDescription
kindstringyes–
limitinteger–Rows per page (max 250)
pageinteger–Page number, starting at 1
NameTypeReqDescription
itemsarrayyes–
kindstringyes–
paginationobjectyes–

No examples provided.

list_receivables ~192

Receivables of issued (sales) invoices — pohledávky: totals per currency plus the matching invoices, most overdue first by default. Answers "who owes me money", "what is overdue", "has customer X paid". Covers sales invoices only: the UOL API exposes no payment status for received (purchase) invoices.

NameTypeReqDescription
customer_idstring–Contact id from search_contacts
due_date_fromstring–Date as YYYY-MM-DD
due_date_tostring–Date as YYYY-MM-DD
issue_date_fromstring–Date as YYYY-MM-DD
issue_date_tostring–Date as YYYY-MM-DD
limitinteger–Invoices to list; totals always cover every match
overdue_onlyboolean–Only unpaid invoices past their due date
sortstring––
statestring––
NameTypeReqDescription
as_ofstringyesToday in Europe/Prague; overdue is computed against this date
invoicesarrayyes–
match_countnumberyes–
totalsarrayyes–
truncatedbooleanyesTrue when UOL had more rows than one call reads; narrow the filters

No examples provided.

list_uploaded_documents ~117

Documents uploaded to UOL for the accountant (nahrané doklady: receipts, received invoices as PDF/images), newest first. state=unprocessed lists what the accountant has not processed yet.

NameTypeReqDescription
created_fromstring–Uploaded on or after this day (Prague time)
created_tostring–Uploaded before this day (Prague time)
limitinteger–Rows per page (max 100)
pageinteger–Page number, starting at 1
statestring––
NameTypeReqDescription
documentsarrayyes–
paginationobjectyes–

No examples provided.

search_contacts ~176

Search customers and suppliers (kontakty / adresář) by name, IČO or DIČ. Returns contact_id values for the invoice and receivable filters.

NameTypeReqDescription
company_numberstring–IČO
countrystring–ISO country code, e.g. CZ
include_hiddenboolean––
limitinteger–Rows per page (max 100)
namestring–Name as UOL matches it; for part of a name use query
pageinteger–Page number, starting at 1
querystring–Full-text: name, contact id or note
taxable_personboolean–true = businesses only, false = private persons only
vatinstring–DIČ, e.g. CZ12345678
NameTypeReqDescription
contactsarrayyes–
paginationobjectyes–

No examples provided.

search_purchase_invoices ~263

Search received (purchase) invoices — přijaté faktury. UOL ignores issue-date filters on this endpoint, so filter by tax_date_* (DUZP) or received_date_*. The UOL API exposes no payment status for purchase invoices.

NameTypeReqDescription
currencystring–ISO code, e.g. EUR
due_date_fromstring–Date as YYYY-MM-DD
due_date_tostring–Date as YYYY-MM-DD
limitinteger–Rows per page (max 100)
numberstring–Partial match of the supplier's invoice number
pageinteger–Page number, starting at 1
querystring–Full-text: invoice number, supplier name or text
received_date_fromstring–Date as YYYY-MM-DD
received_date_tostring–Date as YYYY-MM-DD
seller_idstring–Contact id from search_contacts
tax_date_fromstring–Date as YYYY-MM-DD
tax_date_tostring–Date as YYYY-MM-DD
total_maxnumber––
total_minnumber––
typestring––
variable_symbolstring––
NameTypeReqDescription
invoicesarrayyes–
paginationobjectyes–

No examples provided.

search_sales_invoices ~273

Search issued (sales) invoices — vydané faktury — newest first. Each row includes payment status from UOL receivables. Use tax_date_* (DUZP) for accounting-period questions, issue_date_* for "issued in". Drafts and cancelled invoices are listed too; check status. For "who owes me money" prefer list_receivables.

NameTypeReqDescription
buyer_idstring–Contact id from search_contacts
due_date_fromstring–Date as YYYY-MM-DD
due_date_tostring–Date as YYYY-MM-DD
issue_date_fromstring–Date as YYYY-MM-DD
issue_date_tostring–Date as YYYY-MM-DD
limitinteger–Rows per page (max 100)
numberstring–Partial match of the invoice number
pageinteger–Page number, starting at 1
querystring–Full-text: invoice number, buyer name or text
tax_date_fromstring–Date as YYYY-MM-DD
tax_date_tostring–Date as YYYY-MM-DD
total_maxnumber––
total_minnumber–Total including VAT
typestring––
variable_symbolstring––
NameTypeReqDescription
invoicesarrayyes–
paginationobjectyes–

No examples provided.

Install

How do I install the UOL Účetnictví (unofficial) MCP server?

UOL Účetnictví (unofficial) runs locally as a container image, launched with docker run --rm -i -e UOL_TENANT -e UOL_EMAIL -e UOL_TOKEN ghcr.io/jakubbegera/uol-mcp:0.6.1. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/jakubbegera/uol-mcp

# add to Claude Code
claude mcp add eu-humblecode-uol -- docker run --rm -i -e UOL_TENANT -e UOL_EMAIL -e UOL_TOKEN ghcr.io/jakubbegera/uol-mcp:0.6.1

This image reads UOL_TENANT, UOL_EMAIL and UOL_TOKEN. Set them in your client's env block for this server; docker run -e passes each one through to the container.

Common questions

What is the UOL Účetnictví (unofficial) MCP server?

UOL Účetnictví (unofficial) is an MCP server listed in the public MCP registry as eu.humblecode/uol. Invoices, receivables, VAT, ledger and documents from UOL Účetnictví (Czech online accounting). This page covers its container image (ghcr.io/jakubbegera/uol-mcp).

Is the UOL Účetnictví (unofficial) MCP server safe to use?

UOL Účetnictví (unofficial) scores 41 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the UOL Účetnictví (unofficial) MCP server expose?

UOL Účetnictví (unofficial) exposes 18 tools: get_company, list_codebook, search_sales_invoices, get_sales_invoice, search_purchase_invoices, and 13 more. Their descriptions and schemas cost roughly 2,146 tokens of context every time the server is loaded.

Is the UOL Účetnictví (unofficial) MCP server still maintained?

UOL Účetnictví (unofficial) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the UOL Účetnictví (unofficial) MCP server under?

UOL Účetnictví (unofficial) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the UOL Účetnictví (unofficial) MCP server?

VerifyMCP ran 11 checks on UOL Účetnictví (unofficial), covering Source repository, Provenance, License, Maintenance and 7 more. 5 items could not be completed, a gap on our side rather than a finding about UOL Účetnictví (unofficial): Malware scan, Known CVEs, Install scripts, Dependency health and 1 more. 2 categories score 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to a container image, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.