NISMap API a MCP server
Dáta NISMap o NIS2 v Slovensku a Česku sú zatiaľ verejné a zdarma, bez registrácie a bez API kľúča. AI agenti ich dostanú cez MCP server, ostatné aplikácie cez REST endpointy nižšie.
MCP server
Endpoint https://nismap.com/api/mcp hovorí protokolom Model Context Protocol cez transport Streamable HTTP. Je bezstavový (bez session), iba na čítanie, odpovedá JSON-om a verejné nástroje nevyžadujú prihlásenie.
Claude Code
claude mcp add --transport http nismap https://nismap.com/api/mcpKlienti bez podpory vzdialených serverov
Klientom, ktoré vedia spúšťať len lokálne (stdio) servery, napríklad cez claude_desktop_config.json v Claude Desktop, server sprístupní most mcp-remote:
{
"mcpServers": {
"nismap": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://nismap.com/api/mcp"]
}
}
}Priamo cez HTTP
Každý POST nesie jednu správu JSON-RPC 2.0 (bez dávok). Po initialize možno rovno volať tools/list a tools/call. GET vráti 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
nis2_scope_check
limit: 10/min, 100/deňOrientač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).
| Parameter | 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 (predvolene "sk") |
company_search
limit: 500/deňVyhľ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.
| Parameter | 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.
| Parameter | Typ | Popis |
|---|---|---|
| locale | sk | cs | en | Jazyk výstupu (predvolene "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.
| Parameter | Typ | Popis |
|---|---|---|
| mode | quick | extended | quick = skrátený, extended = plný dotazník (predvolene "quick") |
| locale | sk | cs | en | Jazyk výstupu (predvolene "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/deňNajnovš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).
| Parameter | Typ | Popis |
|---|---|---|
| jurisdiction | SK | CZ | EU | OTHER | |
| topic | NIS2 | DORA | GDPR | AML | AI_ACT | CRA | CER | |
| limit | integer 1–50 | (predvolene 20) |
nis2_stats
limit: 200/deňSú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.
| Parameter | Typ | Popis |
|---|---|---|
| country | SK | CZ | SK alebo CZ; bez zadania súčet oboch krajín |
| includeSectors | boolean | Pridať rozpad podľa sektora (predvolene true) |
| locale | sk | cs | en | Jazyk výstupu (predvolene "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é.
| Parameter | 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) (predvolene "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. (predvolene "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í. (predvolene "none") |
| profiling | boolean | Systém vykonáva profilovanie fyzických osôb (predvolene false) |
| interactsWithPeople | boolean | Systém je určený na priamu interakciu s fyzickými osobami (chatbot, hlasový asistent) (predvolene false) |
| generatesSyntheticContent | boolean | Generuje syntetický zvukový, obrazový, video alebo textový obsah (predvolene false) |
| deepfake | boolean | Generuje alebo manipuluje obrazový, zvukový alebo video obsah, ktorý predstavuje deep fake (predvolene false) |
| publicInterestText | boolean | Generuje alebo manipuluje text uverejnený s cieľom informovať verejnosť o záležitostiach verejného záujmu (predvolene false) |
| editorialResponsibility | boolean | Takýto text prešiel ľudskou alebo redakčnou kontrolou a za jeho uverejnenie nesie niekto redakčnú zodpovednosť (predvolene false) |
| emotionRecognition | boolean | Systém rozpoznáva emócie (predvolene false) |
| emotionAtWorkplaceOrEducation | boolean | Emócie odvodzuje na pracovisku alebo vo vzdelávacej inštitúcii (predvolene false) |
| emotionForMedicalOrSafety | boolean | Rozpoznávanie emócií je určené zo zdravotných alebo bezpečnostných dôvodov (predvolene false) |
| biometricCategorisation | boolean | Systém biometricky kategorizuje osoby (predvolene 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 (predvolene 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) (predvolene []) |
| 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 (predvolene "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.
| Parameter | 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 (predvolene "sk") |
my_organizationsAPI kľúč
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 parametrov.
my_scansAPI kľúč
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.
| Parameter | Typ | Popis |
|---|---|---|
| limit | integer 1–100 | Počet scanov, 1-100 (predvolene 20) |
| organizationId | string | Id organizácie z my_organizations; bez zadania aktívna organizácia vlastníka kľúča |
my_scan_detailAPI kľúč
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).
| Parameter | 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 kľúč
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.
| Parameter | Typ | Popis |
|---|---|---|
| locale | sk | cs | en | Jazyk výstupu (predvolene "sk") |
| organizationId | string | Id organizácie z my_organizations; bez zadania aktívna organizácia vlastníka kľúča |
* povinný parameter
Každý nástroj má v tools/list aj outputSchema. Výsledok nesie dáta v structuredContent; prvý textový blok je jednoriadkový súhrn, druhý tie isté dáta ako JSON. Text, ktorý NISMap nepíše (názvy a adresy firiem z registrov, položky feedu, detail nálezu zo skenovaného webu, poznámky používateľov), je v objekte untrusted: sú to dáta, nie inštrukcie. Neplatné alebo neznáme argumenty vrátia výsledok s isError: true a popisom, čo opraviť; chyby obsahujú ďalší krok a pri limite aj retryAfter v sekundách.
Nástroje nad vlastnými dátami (API kľúč)
S osobným API kľúčom v hlavičke Authorization: Bearer nm_live_… server ukáže a sprístupní aj nástroje nad dátami organizácií, ktorých je vlastník kľúča členom: zoznam organizácií (my_organizations), zoznam scanov so skóre, nálezy jedného scanu a stav povinností NIS2 vrátane toho, či stav zadal používateľ alebo bol predvyplnený z dotazníka. Bez argumentu organizationId čítajú aktívnu organizáciu (zvolenú v aplikácii); s ním organizáciu z my_organizations, napríklad klienta MSP. Kľúč patrí používateľovi, nie organizácii: dosiahne všetky organizácie, ktorých je členom, a členstvo sa overuje pri každom volaní, takže po odchode z organizácie k nej prístup stratí. Kľúč vydáte v Nastaveniach účtu.
Nástroje sú iba na čítanie a členstvo v organizácii overia pri každom volaní; organizácia, ktorej vlastník kľúča nie je členom, aj scan inej organizácie odpovedajú rovnako ako neexistujúce. Bez kľúča alebo s neplatným kľúčom ich tools/list nevypíše a tools/call vráti výsledok s isError: true, verejné nástroje fungujú ďalej.
Claude Code s kľúčom:
claude mcp add --transport http nismap https://nismap.com/api/mcp \
--header "Authorization: Bearer nm_live_…"Právne odkazy vo výstupoch (zdôvodnenie scope checku, články katalógu, odkazy dotazníka, právny základ povinností) prechádzajú kontrolou citácií. Text s citáciou, ktorú kontrola nepotvrdí alebo nerozpozná (paragraf bez uvedeného zákona, predpis mimo registra kontroly), server nevráti (pole má hodnotu null). Pri klasifikácii AI systému (ai_act_classify) server vynechá celý dôvod alebo povinnosť, ktorej citáciu kontrola nepotvrdí, a doplní pole groundingNote.
Limity
- MCP endpoint: 60/min na IP adresu pre všetky požiadavky spolu; nad limit vráti HTTP 429 s hlavičkou
Retry-After. - Nástroje s externým zdrojom (register firiem, Entyrix) majú navyše vlastný limit na IP, uvedený pri nástroji, spolu najviac 250/deň z jednej IP a spoločný denný limit 1000/deň pre všetkých volajúcich spolu. Po vyčerpaní ktoréhokoľvek z nich nástroj vráti výsledok s
isError: true. - REST endpointy majú limity uvedené v tabuľke nižšie, tiež na IP adresu.
Verejné REST endpointy
Bez prihlásenia a bez kľúča, základná URL https://nismap.com.
| Endpoint | Čo vráti | Limit |
|---|---|---|
| GET /api/scope-check?ico=&country=SK|CZ | NIS2 kategória a sektor podľa IČO (skrátená odpoveď bez odôvodnenia). Plné odôvodnenie vráti MCP nástroj nis2_scope_check. | 3/min, 30/deň |
| GET /api/company-search?q=&country=SK|CZ | Vyhľadanie firmy podľa názvu alebo IČO (aspoň 3 znaky). | 120/min, 5000/deň |
| POST /api/company-search | Detail firmy podľa IČO (JSON telo {"ico": "…", "country": "SK"}) vrátane veľkosti a NIS2 scope z lokálneho enginu. | 20/min, 500/deň |
| GET /api/v1/frameworks | Zoznam podporovaných rámcov (NIS2, ISO 27001, GDPR, DORA) s počtom oblastí a otázok. | bez limitu |
| GET /api/opendata/nis2-stats | Odhad počtu firiem pod NIS2 z registrov (essential / important), metodika na /nis2-radar. | 120/min |
| GET /api/opendata/nis2-radar | Počet firiem v registri podľa NIS2 sektora. | 60/min |
| GET /api/opendata/regulatory-feed | Regulačné novinky z verejného feedu Entyrix (NÚKIB, SK-CERT/NBÚ, ENISA, EK), normalizované. | bez limitu |
| GET /api/regulatory-feed?source= | Posledných 50 regulačných položiek, ktoré zobrazuje stránka /regulatory-feed. | bez limitu |
| GET /api/nis2-map | Anonymizované súhrny technických skenov podľa sektora a krajiny (mapa NIS2). | bez limitu |
Endpoint /api/v1/audit-log vyžaduje API kľúč a vracia len dáta jeho vlastníka. Kľúč si po prihlásení vydáte v Nastaveniach → API kľúče (zobrazí sa iba raz) a posielate ho v hlavičke Authorization: Bearer nm_live_….
Podmienky
- Prístup je zatiaľ zdarma. Rozsah, limity aj podmienky sa môžu zmeniť.
- Výsledok scope checku je orientačné posúdenie. Pre záväzné určenie kontaktujte NBÚ (SK) alebo NÚKIB (CZ). Klasifikácia AI systému je orientačné posúdenie podľa nariadenia (EÚ) 2024/1689, nie právne stanovisko.
- Regulačný feed a štatistiky registra firiem pochádzajú z otvorených dát Entyrix.