Publikováno 25. června 2026

rejstrik-mcp: české firemní registry pro AI agenty

Jak jsem postavil bezklíčový MCP server, který agentům zpřístupňuje české registry, výroční zprávy v PDF a deterministickou finanční analýzu.

Když člověk prověřuje českou firmu ručně, pořád dokola přepíná mezi ARES, Sbírkou listin a dalšími veřejnými registry. Nejdřív musí správně určit subjekt, potom najít konkrétní podání, stáhnout PDF, přečíst účetní výkazy, porovnat několik let a teprve nakonec si poskládat obrázek o tom, co se ve firmě děje.

Samotná data přitom veřejná jsou. Problém je v cestě k nim. Část informací je dostupná jako strukturovaná odpověď registru, ale finanční čísla často zůstávají pouze ve výroční zprávě v PDF formátu — někdy s textovou vrstvou, jindy jako naskenované stránky. Při porovnání několika let je navíc potřeba hlídat jednotky, protože jeden výkaz může uvádět celé koruny a jiný tisíce korun.

Právě kvůli tomu vznikl rejstrik-mcp: ne jako další web nad registry, ale jako otevřená integrační vrstva pro AI agenty. Claude Code, Codex nebo jiný MCP klient může firmu vyhledat, stáhnout její podané dokumenty, přečíst je a využít server pro kontroly a výpočty.

V Claude Code se server přidá jedním příkazem (claude mcp add rejstrik -- uvx rejstrik-mcp), v Codexu jedním blokem v ~/.codex/config.toml. Pak už se lze ptát běžným jazykem — „analyzuj hospodaření firmy za poslední tři roky“ nebo „prověř insolvenci, DPH, vedení firmy a dotace“ — a agent si sám vybere potřebné nástroje.

Odkud projekt přišel

Tenhle směr mi dával smysl už při vývoji obchodnirejstrik-ai. Tam se ukázalo, že cesta od názvu firmy přes veřejné registry a podané dokumenty až k validovaným finančním datům není jen jedna funkce produktu. Je to samostatná integrační vrstva, kterou lze použít i v jiných aplikacích.

U rejstrik-mcp jsem proto nekopíroval celý produkt. Oddělil jsem obecnější část: přístup k českým registrům, práci se Sbírkou listin, předání dokumentů agentovi a deterministické výpočty. obchodnirejstrik-ai nad podobnými daty staví hotový report pro koncového uživatele, zatímco rejstrik-mcp poskytuje stavební bloky pro libovolného agenta nebo další aplikaci.

Proč MCP a ne pouze skill

Skill je především znovupoužitelný pracovní postup. Může agentovi vysvětlit, v jakém pořadí má hledat dokumenty, která čísla má z výkazu opsat nebo jak má výsledek interpretovat. Samotný problém rejstrik-mcp ale nebyl jen v instrukcích. Agent potřeboval nástroje, které registry skutečně zavolají, stáhnou PDF a nad strukturovanými vstupy vždy provedou stejné výpočty.

MCP pro tuto část poskytuje společný kontrakt. Nástroj má jméno, přesně popsané parametry a strukturu odpovědi. Stejný server tak může použít více podporovaných klientů a oprava parseru nebo výpočtu zůstává na jednom místě. Skill by nad MCP mohl dál popsat doporučený postup celé analýzy, ale bez integrační vrstvy by byl hlavně návodem a sadou lokálních skriptů.

Tyto přístupy se proto nevylučují. MCP dává agentovi schopnosti a skill může určovat, jak je nejlépe poskládat. rejstrik-mcp už pro nejčastější scénáře nabízí vestavěné prompty analyze-company a company-health-check, které klienta provedou celým postupem.

Kde končí agent a začíná server

MCP klient je aplikace, ve které běží rozhovor s modelem — Claude Code, Codex nebo jiný podporovaný klient. Rozumí otázce, rozhoduje o dalším kroku a volá nástroje. Serverem je lokálně spuštěný Python balíček. Vlastní model neobsahuje: přijímá přesně definované požadavky, komunikuje s registry, pracuje s dokumenty a vrací strukturovaná data.

Z toho plyne i bezklíčový návrh. Server nepotřebuje vlastní přístup k modelovému API, protože čtení dokumentu dělá model, který už v klientovi běží. Odpadá druhý účet, druhé účtování i druhé místo, kde by se řešily schopnosti modelu.

Typický tok je krátký. Agent najde firmu přes ARES. Server načte Sbírku listin a stáhne účetní závěrku. Klient přečte PDF — textovou vrstvu, nebo obrázky naskenovaných stran. Agent přepíše hodnoty do schématu FinancialStatement včetně období, jednotky a čísel zdrojových stran. Server jednotky normalizuje a spočítá ukazatele, index IN05, trendy a varovné signály.

Server tedy nepotřebuje OCR službu ani vektorovou databázi. Neznamená to, že by z procesu zmizela AI — model je pořád tím, kdo čte různorodé dokumenty a vysvětluje výsledek. Jen neběží pod druhým účtem uvnitř serveru.

Co se počítá deterministicky

Agent z dokumentu přečte účetní hodnoty, ale samotná finanční matematika nevzniká jako volný text modelu. Server kontroluje deklarovanou jednotku výkazu, převádí hodnoty na společné měřítko a umí upozornit na podezřelý tisícinásobný rozdíl mezi roky.

Nad normalizovanými daty počítá likviditu, zadluženost, rentabilitu, marže, obrat aktiv, úrokové krytí, víceleté trendy a index IN05. Dokáže také připravit orientační ocenění podle účetní hodnoty, kapitalizovaných zisků a oborového násobku EV/EBITDA z dat Damodaran Europe. Ocenění je pouze orientační a není investičním doporučením.

Vedle finančních výkazů může agent prověřit insolvenci, registraci a spolehlivost plátce DPH, statutární orgány, přijaté státní dotace a smlouvy z Registru smluv. Výsledný report lze zobrazit jako interaktivní kartu v klientech s podporou MCP Apps nebo jako běžný textový přehled.

V čem je projekt jiný

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. Je vhodný pro uživatele, kteří chtějí spravovanou službu, monitoring a širší obchodní databázi; vzdálený přístup používá přihlašovací token, placený tarif a denní limity.

Projekt s otevřeným zdrojovým kódem cz-agents-mcp zase pokrývá ARES, insolvenci, DPH, sankce, zahraniční registry a další KYC/AML scénáře. Některé klienty pro registry jsem z tohoto projektu adaptoval s uvedením autorství.

Odlišení rejstrik-mcp proto není v tom, že by jako jediný zpřístupňoval české registry agentům. Je v konkrétní cestě ke skutečně podaným účetním dokumentům: server najde a stáhne PDF ze Sbírky listin, zpřístupní text nebo obrázky jeho stran a nad hodnotami přečtenými modelem provede bezklíčovou finanční analýzu. Projekt nesoutěží šíří databáze, ale snaží se jít hlouběji od registru až k původnímu dokumentu.

Běžné testy nestačí

U veřejných registrů existují dva odlišné druhy poruch. První vzniká uvnitř projektu: chyba v parseru, výpočtu nebo schématu. Druhý přichází zvenčí — provozovatel změní rozhraní, přesune portál nebo začne blokovat automatizované požadavky. Na druhý druh je jednotkový test slepý.

Proto testy nad uloženými vzorky běží bez sítě při každém pushi, zatímco samostatný týdenní kanárek zkouší skutečné portály a při selhání obou cest založí issue. Není to jedna věc označená jako CI/CD: první je průběžná integrace, druhé provozní monitoring. Rozdíl je v tom, co vlastně tvrdí — a u nástroje nad veřejnými registry je poctivé přiznat, co je ověřené offline a co proti reálnému světu.

Co jsem se naučil

Nejtěžší částí projektu nebylo přidat co nejvíc AI funkcí. Důležitější bylo správně určit hranici mezi modelem a běžným softwarem. Model dobře čte různorodé dokumenty a umí vysvětlit jejich obsah. Identifikace firmy, práce s jednotkami, finanční vzorce, přístup k registrům a chování při chybě ale potřebují pevná pravidla a testy.

Stejně důležité bylo přijmout, že integrace veřejných dat není jednorázově dokončená práce. Registry se mění i ve chvíli, kdy se zdrojový kód projektu nezměnil. Proto je vedle jednotkových testů potřeba sledovat i skutečné živé zdroje a otevřeně rozlišovat mezi tím, co testujeme offline, a tím, co jsme ověřili proti reálnému světu.

To je pro mě hlavní pointa rejstrik-mcp. Není to další vrstva „AI magie“ nad veřejnými údaji, ale auditovatelné rozhraní mezi agentem, původními dokumenty a deterministickým výpočtem. Zdrojový kód je veřejný pod licencí MIT na GitHubu.