Pro AI agenty

Kybriq je rozhodovací engine podle českého zákona č. 264/2025 Sb. o kybernetické bezpečnosti a přílohy vyhlášky č. 408/2025 Sb. Rozhodnutí je deterministické a pravidlové: každý právní výrok nese citaci verbatim kotvy z ověřeného korpusu v poli sources. Žádný jazykový model nepíše právní výstup.

Odpověď na otázku „spadáme pod zákon?“ v češtině: test regulované služby; sankce: horní hranice pokut podle § 59 až 63.

Kontrakty a soubory

REST: tři cesty, POST + JSON, bez autentizace

Tělo je omezeno na 64 KB, limity jsou na IP adresu, každá odpověď nese sources, disclaimer a hlavičku X-Robots-Tag: noindex. Validace je fail-closed: neznámé pole, hodnota mimo slovník nebo neexistující datum se odmítají, nikdy neignorují. Chybějící ODPOVĚĎ chybou není: vrátí se needs_review a seznam otázek v missing.

curl -sS https://kybriq.cz/api/v1/scope \
  -H 'Content-Type: application/json' \
  -d '{"serviceRow":"vyh408_18_1_health_care","sector":"health",
       "sizeClass":"large","hasLinkedOrPartnerEnterprises":false,
       "stateHealthProvider":false}'

MCP: POST /mcp

Streamable HTTP, bezstavově, odpovědi v application/json místo event streamu. GET vrací 405, protože není co streamovat a není jaká relace ukončovat. Verze protokolu se sjednává v initialize. Nástroje:

Oba přenosy volají tytéž procesní handlery a utrácejí tytéž kbelíky na volajícího, takže přepnutí protokolu nepřidá žádný příděl.

curl -sS -X POST https://kybriq.cz/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Chyby: RFC 9457

Každé odmítnutí je problémový dokument podle RFC 9457. Po HTTP je to tělo odpovědi s typem application/problem+json; přes MCP je týž dokument obsahem structuredContent ve výsledku s isError: true. Větvěte podle error.code; pole type odkazuje na řádek této tabulky.

error.codeHTTPVýznam
bad_request400Tělo požadavku není platný JSON, nebo není JSON objekt.
invalid_input422Pole bylo odmítnuto: neznámý klíč, hodnota mimo slovník, nebo datum, které neexistuje v kalendáři. Nic se nepřetypovává a nic se neignoruje.
not_found404Taková cesta, takový nástroj nebo taková relace Stripe Checkout neexistuje.
method_not_allowed405Endpoint přijímá pouze POST. GET na /mcp vrací 405, protože bezstavový profil neotevírá žádný event stream.
payload_too_large413Tělo požadavku přesáhlo 64 KB.
rate_limited429Kbelík pro tuto adresu je prázdný. Kbelíky jsou sdílené mezi /api/v1/* a /mcp, takže přepnutí protokolu nepřidá žádný příděl.
idempotency_mismatch422Tento idempotency_key už byl použit s jinými argumenty. Vygenerujte nový. Odmítnutí nikdy neprozradí, k čemu je klíč navázán.
in_progress409Checkout s tímto idempotency_key se právě vytváří. Zkuste to za chvíli znovu místo poslání druhého požadavku.
checkout_unavailable503Tato instalace neumí vytvořit relaci Checkout. Pošlete člověka na veřejný platební odkaz uvedený v chybě, pokud je nastaven.
upstream_unavailable502Platební poskytovatel nebyl dostupný. Jeho vlastní zprávu nikdy nepředáváme dál.
server_error500Neočekávaná chyba. O vnitřním stavu nezveřejňujeme nic.

Zásady

Zásady: výstup není právní radou · registrace probíhá jen na Portálu NÚKIB (portal.nukib.gov.cz), my podklady připravujeme, nepodáváme je · žádné částky ani lhůty bez verbatim kotvy z ověřeného korpusu · permanentní odkazy jsou přísně validované (neznámý klíč = odmítnutí celého payloadu) · cenu, částku i měnu určuje server z vlastní konfigurace, argumenty je nelze ovlivnit.