2026 / Veřejné

rejstrik-mcp

Veřejný MCP server, který propojuje AI agenty s českými firemními registry a podanými účetními závěrkami — bez dalšího klíče k modelovému API.

Co to je

rejstrik-mcp je veřejný MCP server pro práci s českými firmami. Propojuje AI agenty, například Claude Code nebo Codex, s ARES, Sbírkou listin, insolvenčním rejstříkem a dalšími veřejnými zdroji. Agent tak může najít firmu, otevřít skutečně podanou účetní závěrku, přečíst ji a nechat si nad získanými čísly spočítat finanční ukazatele.

Zdrojový kód je veřejný pod licencí MIT a od verze 0.8.0 funguje server výhradně bez klíče k API služeb OpenAI, Anthropic nebo jiného poskytovatele modelu. Dokumenty čte model používaný MCP klientem. Server se stará o získání podkladů, jejich předání a o reprodukovatelné výpočty.

Problém

Údaje o české firmě jsou veřejné, ale rozdělené mezi několik systémů. Základní údaje jsou v ARES, dokumenty ve Sbírce listin, případná řízení v insolvenčním rejstříku a další informace v registrech DPH, dotací nebo smluv. Účetní čísla navíc často nejsou dostupná jako čistá strukturovaná data, ale pouze uvnitř PDF — někdy s textovou vrstvou, jindy jen jako sken.

Při manuální prověrce proto nestačí jeden dotaz. Je potřeba správně určit firmu, najít dokumenty, vybrat relevantní roky, projít desítky stran a pohlídat jednotky, například zda je výkaz vedený v korunách nebo v tisících korun. Teprve potom lze bezpečně porovnávat období a počítat ukazatele.

Jak řešení funguje

MCP klientem je v tomto případě aplikace, ve které uživatel pracuje s modelem — například Claude Code nebo Codex. Klient rozumí zadání, rozhoduje o dalším kroku a volá nástroje. MCP serverem je nainstalovaný Python balíček rejstrik-mcp: sám neobsahuje AI model, ale přijímá přesně definované požadavky, komunikuje s registry, pracuje s dokumenty a vrací strukturované výsledky. MCP je společný protokol, díky kterému spolu klient a server umějí komunikovat.

Server nabízí třináct nástrojů ve třech skupinách: vyhledání firmy a práce s podáními (find_company, list_filings, get_filing, čtení textu a obrázků stran), analýza a výstup (analyze_financials, estimate_valuation, render_card) a kontroly dalších registrů (insolvence, DPH, statutární orgány, dotace a Registr smluv).

Server odděluje práci, ve které je užitečný model, od kroků, které mají být jednoznačné a testovatelné:

  1. Agent vyhledá firmu podle názvu nebo IČO přes ARES.
  2. Server načte seznam podání ze Sbírky listin a stáhne vybranou účetní závěrku.
  3. MCP klient přečte PDF přímo ze souboru. Pokud to jeho prostředí neumí, může si vyžádat textovou vrstvu po stránkách nebo PNG obrázky naskenovaných stran.
  4. Agent přepíše nalezené hodnoty do pevného datového schématu FinancialStatement vytvořeného v Pydanticu, včetně období, měny, jednotky a čísla zdrojové strany.
  5. Server data normalizuje a deterministicky spočítá poměrové ukazatele, index IN05, meziroční změny, víceleté trendy a varovné signály.
  6. Výsledek vrátí jako strukturovaná data a podle možností klienta také jako interaktivní kartu ve formátu MCP Apps nebo přehled v Markdownu.

Server tedy nepotřebuje vlastní model, OCR službu ani vektorovou databázi. Čtení a interpretaci dokumentu dělá agent, se kterým už uživatel pracuje. Registry, kontrola vstupů a finanční matematika zůstávají v běžném Pythonu, takže je lze opakovaně testovat.

Co umí

  • Vyhledat společnost podle názvu nebo IČO a vrátit základní údaje včetně oborů CZ-NACE.
  • Vypsat dokumenty ze Sbírky listin a stáhnout konkrétní nebo nejnovější účetní závěrku.
  • Zpřístupnit textovou vrstvu PDF i obrázky jednotlivých stran u naskenovaných dokumentů.
  • Spočítat likviditu, zadluženost, rentabilitu, marže, obrat aktiv, úrokové krytí a další ukazatele.
  • Vyhodnotit index IN05, meziroční změny, víceleté trendy a rizikové příznaky.
  • Připravit orientační ocenění podle účetní hodnoty, kapitalizovaných zisků a oborových násobků EV/EBITDA. Oborové násobky vycházejí z dat Damodaran Europe; výsledek není investiční doporučení.
  • Prověřit insolvenci, registraci k DPH a příznak nespolehlivého plátce.
  • Dohledat statutární orgány, přijaté státní dotace a smlouvy z Registru smluv.

Proč jen bez klíče

V prvních verzích existoval také volitelný režim, ve kterém server sám volal model přes externí API. Ten je dnes odstraněný. Aktuální server žádný klíč k modelovému API nepotřebuje ani nepřijímá a všechny jeho nástroje fungují bez něj.

Tahle architektura je jednodušší pro instalaci i kontrolu nákladů. Uživatel nepřidává dalšího poskytovatele ani neposílá klíč samostatné službě. Zároveň zůstává jasné, která část výsledku vznikla čtením dokumentu modelem a která je výsledkem pevně definovaného výpočtu.

Rychlý start

V Claude Code stačí server přidat jedním příkazem:

claude mcp add rejstrik -- uvx rejstrik-mcp

Pro Codex lze použít stejný balíček v ~/.codex/config.toml:

[mcp_servers.rejstrik]
command = "uvx"
args = ["rejstrik-mcp"]

Potom už není potřeba volat jednotlivé nástroje ručně. Vestavěné prompty agenta provedou celým postupem, takže se lze zeptat například: „Analyzuj hospodaření firmy ISOTRA za poslední tři roky“ nebo „Prověř Budějovický Budvar — insolvenci, DPH, vedení firmy, dotace a smlouvy z Registru smluv.“

Odolnost vůči změnám registrů

Veřejné registry nejsou stabilní API, které lze jednou napojit a přestat sledovat. Během vývoje se Sbírka listin přesunula na nový portál Ministerstva spravedlnosti a ten začal část automatizovaných požadavků blokovat. Klient proto rozpozná chybové i nestandardní odpovědi a umí přejít na starší zdroj.

Projekt rozlišuje tři druhy automatizace. Běžné CI se spouští při každém pushi a pull requestu; bez připojení k registrům kontroluje formátování a testy nad uloženými vzorky odpovědí. Samostatný kanárkový test se v GitHub Actions spouští každé pondělí v 6:00 UTC a ověřuje obě cesty ke Sbírce listin. Nekontroluje správnost všech dat — pouze to, zda alespoň jeden z portálů odpovídá bez chyby. Pokud selžou oba, kontrola založí nebo aktualizuje GitHub issue. Širší živý test se spouští ručně před vydáním a ověřuje vyhledání přes ARES, výpis a stažení PDF, kontroly insolvence a DPH i vytvoření reportu nad zkušebními výkazy.

Nejde tedy o jedinou CI/CD úlohu. ci.yml je průběžná integrace, týdenní canary.yml je provozní monitoring a release.yml, který po vytvoření tagu publikuje balíček na PyPI a GitHub Release, plní roli automatizovaného vydání.

Právě tahle kombinace je pro mě na projektu důležitá: nestačí mít správné výpočty, když se mezitím změnil skutečný zdroj dat. U nástroje nad veřejnými registry je provozní odolnost součástí produktu, ne jen technický detail.

V čem se liší od jiných řešení

Chytrý rejstřík nabízí hotovou komerční databázi, web, API i vlastní MCP nad širokým množstvím předzpracovaných firemních dat; vzdálený přístup je placený, používá přihlašovací token a denní limity. Projekt s otevřeným zdrojovým kódem cz-agents-mcp pokrývá ARES, insolvenci, DPH, sankce a další KYC/AML kontroly. rejstrik-mcp některé klienty pro registry z tohoto projektu adaptuje s uvedením autorství, ale soustředí se na jinou cestu: stáhne skutečně podané PDF ze Sbírky listin, nechá je přečíst modelem uživatele a nad získanými hodnotami provede bezklíčovou a deterministickou finanční analýzu.

Jak zapadá do obchodnirejstrik-ai

rejstrik-mcp není kopie aplikace obchodnirejstrik-ai. obchodnirejstrik-ai je hotový produkt, který řídí celý proces a vytváří výsledný report pro uživatele. rejstrik-mcp je menší, veřejná a znovupoužitelná integrační vrstva pro agenty. Řeší přístup k registrům, podaným dokumentům a deterministickým výpočtům, ale neurčuje, jakou finální aplikaci nad nimi někdo postaví.

Co jsem se naučil

Nejdůležitější nebylo přidat co nejvíc „AI funkcí“, ale dobře určit hranici mezi agentem a serverem. Model je užitečný při čtení různorodých dokumentů a při vysvětlení výsledku. Identifikace firmy, práce s jednotkami, finanční výpočty a kontroly registrů však potřebují pevná pravidla, dohledatelné vstupy a testy. Díky tomuto rozdělení je server jednodušší, transparentnější a použitelný v různých MCP klientech bez dalšího účtu u poskytovatele modelu.