Pro vývojáře a AI agenty

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/mcp

Klienti 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/den

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).

ParametrTypPopis
ico *stringIČO firmy (6-8 číslic)
countrySK | CZSK alebo CZ; bez zadania sa krajina zistí automaticky (CZ má prednosť)
sizeIndependentServiceqtsp | tsp | tld-registry | dnsVoliteľ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á.
localesk | cs | enJazyk výstupu (výchozí "sk")

company_search

limit: 500/den

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.

ParametrTypPopis
query *stringNázov firmy alebo IČO, aspoň 3 znaky
countrySK | CZObmedzí 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.

ParametrTypPopis
localesk | cs | enJazyk 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.

ParametrTypPopis
modequick | extendedquick = skrátený, extended = plný dotazník (výchozí "quick")
localesk | cs | enJazyk výstupu (výchozí "sk")
arearisk_mgmt | incidents | bcm | supply_chain | access | crypto | training | hr | assets | governance | sdlc | effectiveness | physicalVráti len jednu oblasť (pri extended aj s otázkami)

regulatory_feed

limit: 200/den

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).

ParametrTypPopis
jurisdictionSK | CZ | EU | OTHER
topicNIS2 | DORA | GDPR | AML | AI_ACT | CRA | CER
limitinteger 1–50 (výchozí 20)

nis2_stats

limit: 200/den

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.

ParametrTypPopis
countrySK | CZSK alebo CZ; bez zadania súčet oboch krajín
includeSectorsbooleanPridať rozpad podľa sektora (výchozí true)
localesk | cs | enJazyk 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é.

ParametrTypPopis
roledeployer | providerdeployer = firma systém používa; provider = vyvíja ho a uvádza na trh (klasifikátor ho nepokrýva) (výchozí "deployer")
annexIIIUsenone | 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_democracyOblasť 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")
annexIIIExceptionnone | narrow_procedural | improve_human_result | detect_patterns | preparatoryPodmienka č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")
profilingbooleanSystém vykonáva profilovanie fyzických osôb (výchozí false)
interactsWithPeoplebooleanSystém je určený na priamu interakciu s fyzickými osobami (chatbot, hlasový asistent) (výchozí false)
generatesSyntheticContentbooleanGeneruje syntetický zvukový, obrazový, video alebo textový obsah (výchozí false)
deepfakebooleanGeneruje alebo manipuluje obrazový, zvukový alebo video obsah, ktorý predstavuje deep fake (výchozí false)
publicInterestTextbooleanGeneruje alebo manipuluje text uverejnený s cieľom informovať verejnosť o záležitostiach verejného záujmu (výchozí false)
editorialResponsibilitybooleanTakýto text prešiel ľudskou alebo redakčnou kontrolou a za jeho uverejnenie nesie niekto redakčnú zodpovednosť (výchozí false)
emotionRecognitionbooleanSystém rozpoznáva emócie (výchozí false)
emotionAtWorkplaceOrEducationbooleanEmócie odvodzuje na pracovisku alebo vo vzdelávacej inštitúcii (výchozí false)
emotionForMedicalOrSafetybooleanRozpoznávanie emócií je určené zo zdravotných alebo bezpečnostných dôvodov (výchozí false)
biometricCategorisationbooleanSystém biometricky kategorizuje osoby (výchozí false)
biometricInfersSensitiveTraitsbooleanKategorizá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)
otherProhibitedPracticesa | 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í [])
employerUsingAtWorkplacebooleanFirma systém používa ako zamestnávateľ na pracovisku; bez zadania áno len pri employment_management
publicBodyOrPublicServicebooleanOrgán verejnej moci alebo súkromný subjekt poskytujúci verejné služby; bez zadania áno len pri public_benefits
decidesAboutNaturalPersonsbooleanSystém rozhoduje alebo pomáha rozhodovať o fyzických osobách; bez zadania áno pri každej oblasti prílohy III okrem critical_infrastructure
asOfstringDátum, ku ktorému sa posudzuje uplatňovanie (YYYY-MM-DD); predvolene dnes
localesk | cs | enJazyk výstupu (výchozí "sk")

supplier_trust_profile

limit: 60/min

Zverejnený 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.

ParametrTypPopis
slugstringSlug profilu z adresy nismap.com/trust/<slug>
icostringIČO dodávateľa (8 číslic)
localesk | cs | enJazyk otázok a odkazov (výchozí "sk")

legal_citation_check

limit: 10/min, 200/den

Checks 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.

ParametrTypPopis
text *stringText to check, up to 20000 characters
asOfstringDate of the document (YYYY-MM-DD); default today
countrySK | CZCountry of the document — decides Z. z. / Sb. for an act cited without its gazette
localesk | cs | enJazyk 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.

ParametrTypPopis
limitinteger 1–100Počet scanov, 1-100 (výchozí 20)
organizationIdstringId 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).

ParametrTypPopis
scanId *stringId scanu z my_scans
organizationIdstringId 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.

ParametrTypPopis
localesk | cs | enJazyk výstupu (výchozí "sk")
organizationIdstringId 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.

EndpointCo vrátíLimit
GET /api/scope-check?ico=&country=SK|CZNIS2 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|CZVyhledání firmy podle názvu nebo IČO (alespoň 3 znaky).120/min, 5000/den
POST /api/company-searchDetail 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/frameworksSeznam podporovaných rámců (NIS2, ISO 27001, GDPR, DORA) s počtem oblastí a otázek.bez limitu
GET /api/opendata/nis2-statsOdhad počtu firem pod NIS2 z registrů (essential / important), metodika na /nis2-radar.120/min
GET /api/opendata/nis2-radarPočet firem v registru podle NIS2 sektoru.60/min
GET /api/opendata/regulatory-feedRegulatorní 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-mapAnonymizované 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.

Nástroje NISMap v prohlížeči