NISMap API a MCP server
Data NISMap o NIS2 na Slovensku a v Česku jsou zatím veřejná a zdarma, bez registrace a bez API klíče. AI agenti je získají přes MCP server, ostatní aplikace přes REST endpointy níže.
MCP server
Endpoint https://nismap.com/api/mcp komunikuje protokolem Model Context Protocol přes transport Streamable HTTP. Je bezstavový (bez session), pouze pro čtení, odpovídá JSONem a veřejné nástroje nevyžadují přihlášení.
Claude Code
claude mcp add --transport http nismap https://nismap.com/api/mcpKlienti bez podpory vzdálených serverů
Klientům, které umí spouštět jen lokální (stdio) servery, například přes claude_desktop_config.json v Claude Desktop, server zpřístupní most mcp-remote:
{
"mcpServers": {
"nismap": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://nismap.com/api/mcp"]
}
}
}Přímo přes HTTP
Každý POST nese jednu zprávu JSON-RPC 2.0 (bez dávek). Po initialize lze rovnou volat tools/list a tools/call. GET vrátí 405.
curl -s https://nismap.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"nis2_scope_check","arguments":{"ico":"31322832"}}}'Nástroje
Popisy nástrojů a parametrů jsou ve slovenštině, tak jak je vrací server.
nis2_scope_check
limit: 10/min, 100/denOrientačne určí, či slovenská alebo česká firma spadá pod NIS2 (essential / important / mimo rozsah / neurčené) podľa IČO: vyhľadá ju v obchodnom registri, doplní veľkosť a NACE a vyhodnotí sektor. Pri verejnej správe, pri firme bez kódu NACE a pri sektore NIS2 s veľkosťou, ktorú register neurčuje, vráti kategóriu unknown s dôvodom. Ak sa pravidlá NISMap a register Entyrix nezhodujú, výsledok nikdy nie je mimo rozsahu: nesie kategóriu tej strany, ktorá firmu zaraďuje, a sourcesDisagree. Rovnaké IČO môže mať firma v SK aj v CZ: bez country vráti CZ firmu a SK firmu s tým istým IČO uvedie v alternatives. Pre SK rozhoduje register opendata s lokálnym pravidlovým enginom ako zálohou, pre CZ lokálny engine. Nie je to záväzné určenie — to robí NBÚ (SK) / NÚKIB (CZ).
| Parametr | Typ | Popis |
|---|---|---|
| ico * | string | IČO firmy (6-8 číslic) |
| country | SK | CZ | SK alebo CZ; bez zadania sa krajina zistí automaticky (CZ má prednosť) |
| sizeIndependentService | qtsp | tsp | tld-registry | dns | Voliteľne: firma poskytuje službu, ktorá patrí pod NIS2 bez ohľadu na veľkosť (čl. 2 ods. 2 písm. a) smernice NIS2) — qtsp = kvalifikovaný poskytovateľ dôveryhodných služieb, tsp = nekvalifikovaný poskytovateľ dôveryhodných služieb, tld-registry = register názvov domén najvyššej úrovne, dns = poskytovateľ služieb DNS. Z NACE sa to určiť nedá. |
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
company_search
limit: 500/denVyhľadá slovenské a české firmy podľa názvu alebo IČO (autocomplete). Vráti najviac 10 výsledkov bez stránkovania: najprv presnú zhodu názvu alebo IČO, potom názvy začínajúce dotazom, potom poradie registra (nie relevancia). Vráti IČO, krajinu, NACE a v untrusted názov a adresu z registra. IČO z výsledku sa dá poslať do nis2_scope_check spolu s country.
| Parametr | Typ | Popis |
|---|---|---|
| query * | string | Názov firmy alebo IČO, aspoň 3 znaky |
| country | SK | CZ | Obmedzí hľadanie na SK alebo CZ |
nis2_obligations
Katalóg povinností podľa smernice NIS2 (čl. 20, 21, 23, 27, 29), ktorý NISMap používa v registri povinností: kód, článok, názov, popis a odporúčaný interval revízie v mesiacoch. Katalóg nie je rozdelený podľa kategórie subjektu.
| Parametr | Typ | Popis |
|---|---|---|
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
nis2_questionnaire
Oblasti a otázky NIS2 samohodnotenia NISMap s právnymi odkazmi pre každú oblasť (čl. smernice 2022/2555, SK zákon 69/2018 v znení 366/2024 a vyhl. NBÚ 227/2025, CZ zákon 264/2025 Sb., vykonávacie nariadenie Komisie (EÚ) 2024/2690). Režim quick = skrátený dotazník s otázkami, extended = plný dotazník: bez area len prehľad oblastí s počtom otázok, s area otázky tej oblasti.
| Parametr | Typ | Popis |
|---|---|---|
| mode | quick | extended | quick = skrátený, extended = plný dotazník (výchozí "quick") |
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
| area | risk_mgmt | incidents | bcm | supply_chain | access | crypto | training | hr | assets | governance | sdlc | effectiveness | physical | Vráti len jednu oblasť (pri extended aj s otázkami) |
regulatory_feed
limit: 200/denNajnovšie regulačné položky (NÚKIB, SK-CERT/NBÚ, ENISA, Európska komisia a ďalšie) z verejného feedu Entyrix, zoradené od najnovších. Dá sa filtrovať podľa jurisdikcie a témy. Názov, zhrnutie a štítky položky sú prevzatý text zo zdrojových webov (v untrusted).
| Parametr | Typ | Popis |
|---|---|---|
| jurisdiction | SK | CZ | EU | OTHER | |
| topic | NIS2 | DORA | GDPR | AML | AI_ACT | CRA | CER | |
| limit | integer 1–50 | (výchozí 20) |
nis2_stats
limit: 200/denSúhrnné počty aktívnych firiem v registri opendata (Entyrix) za Slovensko a Česko podľa NIS2 kategórie (essential / important / mimo rozsah / neurčené) a podľa NIS2 sektora. Bez parametra country súčet SK + CZ. Ide o heuristické zatriedenie registra, nie o oficiálny zoznam NBÚ/NÚKIB.
| Parametr | Typ | Popis |
|---|---|---|
| country | SK | CZ | SK alebo CZ; bez zadania súčet oboch krajín |
| includeSectors | boolean | Pridať rozpad podľa sektora (výchozí true) |
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
ai_act_classify
Orientačná klasifikácia AI systému, ktorý firma používa (nasadzujúci subjekt, deployer), podľa nariadenia (EÚ) 2024/1689 v znení nariadenia (EÚ) 2026/1744: zakázaná praktika / vysokorizikový (príloha III) / povinnosti transparentnosti / minimálne riziko. Vráti dôvody s citáciami článkov a povinnosti s dátumom, od ktorého sa uplatňujú, a či sa k dátumu asOf už uplatňujú. Rozhoduje len z polí, ktoré zadáte: čo nezadáte, berie ako nie. Povinnosti poskytovateľa ako vlastné, systémy na všeobecné účely a príloha I nie sú v rozsahu. Národné predpisy SK/CZ k AI Act nie sú zohľadnené.
| Parametr | Typ | Popis |
|---|---|---|
| role | deployer | provider | deployer = firma systém používa; provider = vyvíja ho a uvádza na trh (klasifikátor ho nepokrýva) (výchozí "deployer") |
| annexIIIUse | none | remote_biometric_identification | critical_infrastructure | education_access | education_assessment | education_level | education_proctoring | employment_recruitment | employment_management | public_benefits | credit_scoring | insurance_pricing | emergency_triage | law_enforcement | migration_border | justice_democracy | Oblasť použitia z prílohy III: remote_biometric_identification (bod 1 písm. a)), critical_infrastructure (bod 2), education_access/assessment/level/proctoring (bod 3 písm. a)-d)), employment_recruitment (bod 4 písm. a)), employment_management (bod 4 písm. b)), public_benefits, credit_scoring, insurance_pricing, emergency_triage (bod 5 písm. a)-d)), law_enforcement (bod 6), migration_border (bod 7), justice_democracy (bod 8). Rozpoznávanie emócií a biometrická kategorizácia sa zadávajú vlastnými poľami. (výchozí "none") |
| annexIIIException | none | narrow_procedural | improve_human_result | detect_patterns | preparatory | Podmienka čl. 6 ods. 3 nariadenia (EÚ) 2024/1689, pri ktorej systém z prílohy III nie je vysokorizikový: narrow_procedural (písm. a)), improve_human_result (písm. b)), detect_patterns (písm. c)), preparatory (písm. d)). Pri profilovaní sa neuplatní. (výchozí "none") |
| profiling | boolean | Systém vykonáva profilovanie fyzických osôb (výchozí false) |
| interactsWithPeople | boolean | Systém je určený na priamu interakciu s fyzickými osobami (chatbot, hlasový asistent) (výchozí false) |
| generatesSyntheticContent | boolean | Generuje syntetický zvukový, obrazový, video alebo textový obsah (výchozí false) |
| deepfake | boolean | Generuje alebo manipuluje obrazový, zvukový alebo video obsah, ktorý predstavuje deep fake (výchozí false) |
| publicInterestText | boolean | Generuje alebo manipuluje text uverejnený s cieľom informovať verejnosť o záležitostiach verejného záujmu (výchozí false) |
| editorialResponsibility | boolean | Takýto text prešiel ľudskou alebo redakčnou kontrolou a za jeho uverejnenie nesie niekto redakčnú zodpovednosť (výchozí false) |
| emotionRecognition | boolean | Systém rozpoznáva emócie (výchozí false) |
| emotionAtWorkplaceOrEducation | boolean | Emócie odvodzuje na pracovisku alebo vo vzdelávacej inštitúcii (výchozí false) |
| emotionForMedicalOrSafety | boolean | Rozpoznávanie emócií je určené zo zdravotných alebo bezpečnostných dôvodov (výchozí false) |
| biometricCategorisation | boolean | Systém biometricky kategorizuje osoby (výchozí false) |
| biometricInfersSensitiveTraits | boolean | Kategorizácia odvodzuje rasu, politické názory, členstvo v odboroch, náboženské alebo filozofické presvedčenie, sexuálny život alebo sexuálnu orientáciu (výchozí false) |
| otherProhibitedPractices | a | b | ba | bb | c | d | e | h[] | Písmená čl. 5 ods. 1 nariadenia (EÚ) 2024/1689, ktoré systém napĺňa (písm. f) a g) vyplývajú z polí o emóciách a biometrii) (výchozí []) |
| employerUsingAtWorkplace | boolean | Firma systém používa ako zamestnávateľ na pracovisku; bez zadania áno len pri employment_management |
| publicBodyOrPublicService | boolean | Orgán verejnej moci alebo súkromný subjekt poskytujúci verejné služby; bez zadania áno len pri public_benefits |
| decidesAboutNaturalPersons | boolean | Systém rozhoduje alebo pomáha rozhodovať o fyzických osobách; bez zadania áno pri každej oblasti prílohy III okrem critical_infrastructure |
| asOf | string | Dátum, ku ktorému sa posudzuje uplatňovanie (YYYY-MM-DD); predvolene dnes |
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
supplier_trust_profile
limit: 60/minZverejnený bezpečnostný profil dodávateľa z NISMap (/trust/<slug>) podľa slug alebo IČO: odpovede na NIS2 Supplier Questionnaire v4.0.0 (nisd2.eu, CC BY 4.0) s mapovaním otázok na čl. 21 ods. 2 písm. a) až j) a ods. 3 smernice NIS2 a pokrytie podľa písmen. Vráti len profily, ktoré dodávateľ sám zverejnil; je to jeho vlastné vyhlásenie (odpovede, názov a odkazy v untrusted), NISMap ho neoveruje. Hodí sa na kontrolu dodávateľa podľa čl. 21 ods. 2 písm. d) smernice NIS2.
| Parametr | Typ | Popis |
|---|---|---|
| slug | string | Slug profilu z adresy nismap.com/trust/<slug> |
| ico | string | IČO dodávateľa (8 číslic) |
| locale | sk | cs | en | Jazyk otázok a odkazov (výchozí "sk") |
legal_citation_check
limit: 10/min, 200/denChecks the legal citations in a text NISMap did not write (a consultant's newsletter, a supplier's policy, an audit report) against the law in force on the document date. Returns one verdict per citation: ok, out_of_range (the section or article does not exist in that act), repealed (with the repeal date and the replacing act, e.g. the Slovak NBÚ decree 362/2018 replaced by 227/2025), amended_since, not_in_registry (an act NISMap does not curate) or unverified (cannot tell — never read it as ok). Covers the SK and CZ cybersecurity acts and decrees, NIS2, GDPR, DORA and the AI Act; other SK/CZ acts are looked up in the KC legal corpus when available. Deterministic, no AI; the text is not stored. It checks citations, not whether the text interprets the law correctly.
| Parametr | Typ | Popis |
|---|---|---|
| text * | string | Text to check, up to 20000 characters |
| asOf | string | Date of the document (YYYY-MM-DD); default today |
| country | SK | CZ | Country of the document — decides Z. z. / Sb. for an act cited without its gazette |
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
my_organizationsAPI klíč
Organizácie, ktorých je vlastník API kľúča členom, s rolou a príznakom aktívnej organizácie. Id sa dá poslať ako organizationId do my_scans, my_scan_detail a my_obligations (napr. MSP pre svojich klientov).
Bez parametrů.
my_scansAPI klíč
Zoznam scanov organizácie vlastníka API kľúča (organizationId z my_organizations, inak organizácia zvolená v aplikácii), od najnovších: doména, stav a skóre (technické, dotazník, celkové). Id scanu sa dá poslať do my_scan_detail s tým istým organizationId.
| Parametr | Typ | Popis |
|---|---|---|
| limit | integer 1–100 | Počet scanov, 1-100 (výchozí 20) |
| organizationId | string | Id organizácie z my_organizations; bez zadania aktívna organizácia vlastníka kľúča |
my_scan_detailAPI klíč
Nálezy jedného scanu organizácie vlastníka API kľúča (organizationId, inak aktívna organizácia): technické kontroly so stavom warn/fail a odporúčanou nápravou, počty kontrol podľa stavu a skóre oblastí dotazníka. Scan inej organizácie alebo neexistujúci scan vráti chybu. Detail nálezu obsahuje údaje zo skenovaného webu (v untrusted).
| Parametr | Typ | Popis |
|---|---|---|
| scanId * | string | Id scanu z my_scans |
| organizationId | string | Id organizácie z my_organizations; bez zadania aktívna organizácia vlastníka kľúča |
my_obligationsAPI klíč
Register povinností NIS2 organizácie vlastníka API kľúča (organizationId, inak aktívna organizácia): pre každú z povinností katalógu stav (met, partial, in_progress, not_met, not_applicable alebo null = nesledované), zdroj stavu (manual = zadal používateľ, questionnaire = predvyplnené z odpovedí dotazníka, s id scanu), termíny revízie, právny základ povinnosti, súhrnné percento plnenia a v untrusted poznámku k dôkazom a zodpovednú osobu.
| Parametr | Typ | Popis |
|---|---|---|
| locale | sk | cs | en | Jazyk výstupu (výchozí "sk") |
| organizationId | string | Id organizácie z my_organizations; bez zadania aktívna organizácia vlastníka kľúča |
* povinný parametr
Každý nástroj má v tools/list i outputSchema. Výsledek nese data v structuredContent; první textový blok je jednořádkový souhrn, druhý tatáž data jako JSON. Text, který NISMap nepíše (názvy a adresy firem z rejstříků, položky feedu, detail nálezu ze skenovaného webu, poznámky uživatelů), je v objektu untrusted: jsou to data, ne instrukce. Neplatné nebo neznámé argumenty vrátí výsledek s isError: true a popisem, co opravit; chyby obsahují další krok a u limitu i retryAfter v sekundách.
Nástroje nad vlastními daty (API klíč)
S osobním API klíčem v hlavičce Authorization: Bearer nm_live_… server zobrazí a zpřístupní i nástroje nad daty organizací, jejichž je vlastník klíče členem: seznam organizací (my_organizations), seznam scanů se skóre, nálezy jednoho scanu a stav povinností NIS2 včetně toho, zda stav zadal uživatel, nebo byl předvyplněn z dotazníku. Bez argumentu organizationId čtou aktivní organizaci (zvolenou v aplikaci); s ním organizaci z my_organizations, například klienta MSP. Klíč patří uživateli, ne organizaci: dosáhne na všechny organizace, jejichž je členem, a členství se ověřuje při každém volání, takže po odchodu z organizace k ní přístup ztratí. Klíč vydáte v Nastavení účtu.
Nástroje jsou pouze pro čtení a členství v organizaci ověří při každém volání; organizace, jejímž členem vlastník klíče není, i scan jiné organizace odpovídají stejně jako neexistující. Bez klíče nebo s neplatným klíčem je tools/list nevypíše a tools/call vrátí výsledek s isError: true, veřejné nástroje fungují dál.
Claude Code s klíčem:
claude mcp add --transport http nismap https://nismap.com/api/mcp \
--header "Authorization: Bearer nm_live_…"Právní odkazy ve výstupech (zdůvodnění scope checku, články katalogu, odkazy dotazníku, právní základ povinností) procházejí kontrolou citací. Text s citací, kterou kontrola nepotvrdí nebo nerozpozná (paragraf bez uvedeného zákona, předpis mimo registr kontroly), server nevrátí (pole má hodnotu null). Při klasifikaci AI systému (ai_act_classify) server vynechá celý důvod nebo povinnost, jejíž citaci kontrola nepotvrdí, a doplní pole groundingNote.
Limity
- MCP endpoint: 60/min na IP adresu pro všechny požadavky dohromady; nad limit vrátí HTTP 429 s hlavičkou
Retry-After. - Nástroje s externím zdrojem (registr firem, Entyrix) mají navíc vlastní limit na IP, uvedený u nástroje, dohromady nejvýše 250/den z jedné IP a společný denní limit 1000/den pro všechny volající dohromady. Po vyčerpání kteréhokoli z nich nástroj vrátí výsledek s
isError: true. - REST endpointy mají limity uvedené v tabulce níže, také na IP adresu.
Veřejné REST endpointy
Bez přihlášení a bez klíče, základní URL https://nismap.com.
| Endpoint | Co vrátí | Limit |
|---|---|---|
| GET /api/scope-check?ico=&country=SK|CZ | NIS2 kategorie a sektor podle IČO (zkrácená odpověď bez odůvodnění). Plné odůvodnění vrátí MCP nástroj nis2_scope_check. | 3/min, 30/den |
| GET /api/company-search?q=&country=SK|CZ | Vyhledání firmy podle názvu nebo IČO (alespoň 3 znaky). | 120/min, 5000/den |
| POST /api/company-search | Detail firmy podle IČO (JSON tělo {"ico": "…", "country": "SK"}) včetně velikosti a NIS2 scope z lokálního enginu. | 20/min, 500/den |
| GET /api/v1/frameworks | Seznam podporovaných rámců (NIS2, ISO 27001, GDPR, DORA) s počtem oblastí a otázek. | bez limitu |
| GET /api/opendata/nis2-stats | Odhad počtu firem pod NIS2 z registrů (essential / important), metodika na /nis2-radar. | 120/min |
| GET /api/opendata/nis2-radar | Počet firem v registru podle NIS2 sektoru. | 60/min |
| GET /api/opendata/regulatory-feed | Regulatorní novinky z veřejného feedu Entyrix (NÚKIB, SK-CERT/NBÚ, ENISA, EK), normalizované. | bez limitu |
| GET /api/regulatory-feed?source= | Posledních 50 regulatorních položek, které zobrazuje stránka /regulatory-feed. | bez limitu |
| GET /api/nis2-map | Anonymizované souhrny technických skenů podle sektoru a země (mapa NIS2). | bez limitu |
Endpoint /api/v1/audit-log vyžaduje API klíč a vrací jen data jeho vlastníka. Klíč si po přihlášení vydáte v Nastavení → API klíče (zobrazí se jen jednou) a posíláte ho v hlavičce Authorization: Bearer nm_live_….
Podmínky
- Přístup je zatím zdarma. Rozsah, limity i podmínky se mohou změnit.
- Výsledek scope checku je orientační posouzení. Pro závazné určení kontaktujte NBÚ (SK) nebo NÚKIB (CZ). Klasifikace AI systému je orientační posouzení podle nařízení (EU) 2024/1689, nikoli právní stanovisko.
- Regulatorní feed a statistiky registru firem pocházejí z otevřených dat Entyrix.