rejstrik-mcp
Připojte český obchodní rejstřík ke svému Claude za 30 sekund — bez jakéhokoli API klíče. Účetní závěrky ze Sbírky listin čte váš vlastní model v rámci vašeho předplatného.
Celý průběh v terminálu — bez jakéhokoli API klíče:
claude mcp add rejstrik -- uvx rejstrik-mcp
(English note: this is an MCP server for the Czech business registry; the README is in Czech because that's who the data serves. Tool names and descriptions inside the server are in English.)
Co to umí
- Vyhledání firmy podle názvu nebo IČO (ARES) včetně statutárních orgánů a CZ-NACE.
- Sbírka listin: výpis dokumentů a stažení skutečně podaných PDF účetních závěrek (nejnovější, podle roku, nebo podle id) — včetně textové vrstvy po stránkách a PNG náhledů u skenů.
- Finanční analýza bez LLM na serveru: váš agent přečte PDF sám, vytěžené hodnoty pošle zpět a server deterministicky spočítá poměrové ukazatele, bankrotní index IN05, meziroční trendy a red flags.
- Orientační ocenění (účetní hodnota, kapitalizované zisky, oborové násobky EV/EBITDA dle Damodarana). Není investiční doporučení.
- Prověrky: insolvenční rejstřík (ISIR), spolehlivost plátce DPH (ADIS), státní dotace (IS ReD), smlouvy z Registru smluv.
- Report card: shrnutí jako přehledný markdown (výchozí, funguje všude — Claude Code, Desktop, …). Interaktivní HTML karta je implementovaná dle MCP Apps (SEP-1865), ale klienti ji zatím nevykreslují (upstream ext-apps#671), takže se automaticky použije markdown.
Žádná OCR pipeline, žádná vektorová databáze, žádný serverový AI klíč — čtení dokumentů dělá model, kterým se ptáte.
Ukázkové prompty
Po instalaci se stačí Clauda zeptat česky (nebo jakkoli jinak):
„Analyzuj hospodaření firmy ISOTRA a.s. za poslední 2 roky."
Agent najde IČO přes ARES, stáhne podané závěrky ze Sbírky listin, sám je přečte a od serveru dostane spočítanou analýzu. Typický výsledek:
| Ukazatel | 2024 | 2023 | Změna |
|---|---|---|---|
| Tržby | 1 490 957 | 1 437 917 | +3,7 % |
| Provozní VH (EBIT) | 87 166 | 82 764 | +5,3 % |
| Čistý zisk | 60 074 | 54 631 | +10,0 % |
| Vlastní kapitál | 366 214 | 326 140 | +12,3 % |
(v tis. Kč) … plus poměrové ukazatele (běžná likvidita 1,73; ROE 16,4 %; úrokové krytí 13,4×), IN05: 1,80 — pásmo tvorby hodnoty, žádné red flags, citace stránek u klíčových čísel.
„Prověř firmu Budějovický Budvar — insolvence, DPH, kdo ji řídí, dotace a veřejné zakázky."
Vrátí stav v ISIR, registraci a spolehlivost plátce DPH, statutární orgány, přehled přijatých dotací a smluv z Registru smluv.
„Odhadni orientační hodnotu firmy XYZ s.r.o."
Vrátí bodový odhad hodnoty s pásmem spolehlivosti, použitý násobek (základ z Damodaran Europe + jmenované korekce) a upozornění, že nejde o investiční doporučení.
Vestavěný prompt
analyze-company(v Claude se nabízí jako slash příkaz) provede celou smyčku najednou: najít → stáhnout PDF → vytěžit → analyzovat → karta, včetně víceletých trendů.
Skutečný bezklíčový přepis session je v
docs/media/cli-demo.txt — vyhledání firmy
přes ARES a výpis podaných závěrek přímo ze Sbírky listin, bez
nastaveného jakéhokoli API klíče.
Proč právě tento
| agent-native (MCP) | čte podaná PDF | zdarma & open source | funguje bez API klíče | |
|---|---|---|---|---|
| cz-agents-mcp a podobné | ✅ | ❌ | ✅ | ✅ |
| chytryrejstrik.cz | ❌ | částečně (placené) | ❌ | — |
| rejstrik-mcp | ✅ | ✅ | ✅ | ✅ |
Instalace
Claude Code: claude mcp add rejstrik -- uvx rejstrik-mcp
Claude Desktop: stáhněte rejstrik-mcp.mcpb z nejnovější GitHub
release a poklepejte na něj (vyžaduje uv) —
nebo přidejte do claude_desktop_config.json:
{ "mcpServers": { "rejstrik": { "command": "uvx", "args": ["rejstrik-mcp"] } } }
Codex (~/.codex/config.toml):
[mcp_servers.rejstrik]
command = "uvx"
args = ["rejstrik-mcp"]
Libovolný HTTP host: uvx rejstrik-mcp --http servíruje streamable
HTTP na http://127.0.0.1:8000/mcp.
Nástroje
Čtení dělá váš agent v rámci vašeho předplatného; server dělá vše deterministické:
| Nástroj | Co dělá |
|---|---|
find_company |
Najde firmu podle názvu nebo IČO (ARES) |
list_filings |
Vypíše dokumenty ze Sbírky listin, účetní závěrky první |
get_filing |
Stáhne PDF závěrky (nejnovější, dle roku, dle id) — vrací lokální cestu + page_count; embed řídí, zda se vrátí i bajty PDF ("auto" výchozí, "always", "never") |
read_filing_text |
Textová vrstva PDF po stránkách, bez LLM/OCR; stránky bez textové vrstvy poctivě ohlásí |
read_filing_page_images |
Stránky PDF jako PNG obrázky — pro skenované závěrky bez textové vrstvy |
analyze_financials |
Vaše vytěžené hodnoty → poměrové ukazatele, red flags, index IN05, meziroční trendy (bez LLM) |
estimate_valuation |
Vaše vytěžené hodnoty → orientační hodnota firmy: sektorový násobek EV/EBITDA (Damodaran Europe) upravený na český soukromý podnik, bodový odhad s pásmem spolehlivosti a výpisem všech korekcí. Bez LLM. Není investiční doporučení |
render_card |
Report jako karta — interaktivní HTML pro hosty s MCP Apps, markdown pro textové hosty jako Claude Code |
check_insolvency |
Insolvenční rejstřík (ISIR) |
get_statutory_bodies |
Statutární orgány (ARES) |
check_vat |
Registrace k DPH + příznak nespolehlivého plátce (ARES + ADIS) |
get_subsidies |
Přijaté státní dotace (IS ReD, dříve CEDR) |
get_contracts |
Smlouvy firmy z Registru smluv |
Skuteční majitelé. Veřejná část ESM (Evidence skutečných majitelů) byla po rozsudku Soudního dvora EU k 17. 12. 2025 uzavřena; dotazy na skutečné majitele proto záměrně nenabízíme — jde o zdokumentované rozhodnutí o rozsahu, ne o mezeru.
Jak to funguje
core/ sdílené HTTP + textové utility
registry/ ARES, ISIR (insolvence), ADIS (DPH), statutární orgány
filings/ klient Sbírky listin (verejnerejstriky.msp.gov.cz,
s fallbackem na starší or.justice.cz při blokaci)
documents/ stažení a cache PDF + extrakce textu / obrázků stránek
analysis/ normalizace -> ukazatele -> red flags -> trendy (čisté, bez I/O)
service/ orchestrace (rejstříky + listiny + dokumenty + analýza)
cli/ mcp/ dvě tváře nad jedním jádrem
Server je zcela bezklíčový: dokumenty čte volající model (Claude
apod.), server dodává data a deterministické výpočty. Vytěžená data se
předávají přes Pydantic schéma FinancialStatement — vestavěný prompt
analyze-company agenta instruuje, jak čísla přepisovat doslova včetně
deklarovaného měřítka („v celých tisících Kč“).
Poznámka k driftu reálného světa
V průběhu vývoje Ministerstvo spravedlnosti migrovalo Sbírku listin z
or.justice.cz na nový portál (verejnerejstriky.msp.gov.cz). Klient
míří na API nového portálu. V červenci 2026 začal nový portál vracet
automatizovaným klientům blokace Azure Front Door (403/429/5xx i 200 s
challenge HTML) — klient je všechny detekuje jako blokaci a přepadne na
starší portál, takže jediná zablokovaná edge lokalita nevyřadí vyhledávání.
Kanárek v scripts/smoke.py testuje oba portály přímo a hlásí
PASS/BLOCKED po endpointech, takže se drift odhalí před vydáním, ne u
uživatelů.
Data oborových násobků pro ocenění
src/rejstrik/analysis/data/industry_multiples.json vendoruje oborové
EV/EBITDA násobky Damodaran Europe (zdroj, source_url, as_of i region
jsou v souboru). NACE slouží jen jako mapovací klíč do Damodaranovy
taxonomie — žádné ručně laděné násobky. Regenerace (síť, manuálně, nikdy
v CI):
pip install xlrd
python scripts/import_damodaran_multiples.py --as-of YYYY-MM-DD
CI
Workflow v .github/workflows/ci.yml pouští ruff a pytest na Pythonu
3.11 a 3.12. Testy jsou záměrně offline a bez klíčů — zelené CI znamená,
že fixtures, parsery, servisní vrstva, CLI i MCP registrace jsou vnitřně
konzistentní bez závislosti na dostupnosti živých endpointů.
Vývoj
pip install -e ".[dev]"
ruff check src/ tests/
ruff format --check src/ tests/
python -m pytest -q
Užitečné ruční smoke testy:
rejstrik find "Budejovicky Budvar"
rejstrik filings 00514152
rejstrik-mcp
python scripts/smoke.py # vyžaduje síť — před vydáním, ne v CI
Poděkování / attribution
Klienti pro insolvenci (ISIR), DPH/nespolehlivé plátce (ADIS) a
statutární orgány jsou adaptovaní z
cz-agents-mcp (MIT,
Martin Havel). Viz LICENSES/cz-agents-mcp-LICENSE.
Vydávání
- Jednorázově: na pypi.org přidejte Trusted Publisher pro tento GitHub
repozitář (workflow
release.yml, environmentpypi). - Zvedněte
versionna všech čtyřech místech, aby souhlasila:pyproject.toml,server.json(top-level ipackages[0].version),mcpb/manifest.jsonasrc/rejstrik/__init__.py(__version__).tests/test_version_sync.pyselže, pokud se rozjedou. - Pokud vydání mění publikovaný server, znovu proveďte publish do MCP
registru s aktualizovaným
server.json. - Commit, tag
vX.Y.Z, push tagu. CI sestaví balíček, publikuje na PyPI a připojí artefakty ke GitHub release.
Licence
MIT.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rejstrik_mcp-0.9.1.tar.gz.
File metadata
- Download URL: rejstrik_mcp-0.9.1.tar.gz
- Upload date:
- Size: 642.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b8811cc3b5f546f62c4bb5c743d5ad4871e1ce16a3601abbac2f8c202aba9e1
|
|
| MD5 |
50e74e1b29ecdf9af1b52826c4eb5039
|
|
| BLAKE2b-256 |
3e2485006e90982bc7f935ccd5224446e39f92aef2ab39ad61c80b7f918598e5
|
Provenance
The following attestation bundles were made for rejstrik_mcp-0.9.1.tar.gz:
Publisher:
release.yml on janF19/rejstrik-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rejstrik_mcp-0.9.1.tar.gz -
Subject digest:
8b8811cc3b5f546f62c4bb5c743d5ad4871e1ce16a3601abbac2f8c202aba9e1 - Sigstore transparency entry: 2312847327
- Sigstore integration time:
-
Permalink:
janF19/rejstrik-mcp@ce5093a869d4b0665335894cffe166dbd595d118 -
Branch / Tag:
refs/tags/v0.9.1 - Owner: https://github.com/janF19
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ce5093a869d4b0665335894cffe166dbd595d118 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rejstrik_mcp-0.9.1-py3-none-any.whl.
File metadata
- Download URL: rejstrik_mcp-0.9.1-py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2eb7694083a16aac0c6fc9da844404fb2eb99ec07077187a3e44720ba000bd2
|
|
| MD5 |
53e70eefdeff4927ef5e41e7c8b10ae8
|
|
| BLAKE2b-256 |
a6e7416002e93968b24081a77a47482dd5b7b33cac2d5d13d14a49702dad8ef5
|
Provenance
The following attestation bundles were made for rejstrik_mcp-0.9.1-py3-none-any.whl:
Publisher:
release.yml on janF19/rejstrik-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rejstrik_mcp-0.9.1-py3-none-any.whl -
Subject digest:
d2eb7694083a16aac0c6fc9da844404fb2eb99ec07077187a3e44720ba000bd2 - Sigstore transparency entry: 2312847355
- Sigstore integration time:
-
Permalink:
janF19/rejstrik-mcp@ce5093a869d4b0665335894cffe166dbd595d118 -
Branch / Tag:
refs/tags/v0.9.1 - Owner: https://github.com/janF19
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ce5093a869d4b0665335894cffe166dbd595d118 -
Trigger Event:
push
-
Statement type: