Skip to main content
Glama

Was ist das

ensmcp ist ein MCP-Server (Model Context Protocol), der die Sicherheitsmaßnahmen des ENS Navegable (Anhang II der RD 311/2022) für Claude Desktop, Claude Code und jeden anderen MCP-Client verfügbar macht. Es ist ein unabhängiger Server und weder mit dem CCN, CCN-CERT oder CNI verbunden, noch von diesen unterstützt oder gepflegt.

Die Daten sind als Snapshot im Paket enthalten, sodass der Server sofort antwortet und ohne Verbindung funktioniert. Der Standardmodus ist offline: Er öffnet weder Chrome noch greift er auf das Netzwerk zu. --check-updates prüft die offizielle Quelle, ohne den Snapshot zu ersetzen, und --live erlaubt die vorübergehende Übernahme der Live-Daten.

Zusätzlich zum Anhang II enthält er den Verifikationsfragebogen des CCN-STIC-808-Leitfadens (Ausgabe für die RD 311/2022): die Audit-Fragen je Maßnahme, die Prüfungen zum Wortlaut der RD sowie die dokumentarischen Nachweise, die der Auditor anfordern kann.

Hauptfunktionen

Funktion

Beschreibung

MCP-Server über stdio

Integrierbar in Claude Desktop, Claude Code und andere MCP-Clients

Funktioniert offline

Das vollständige Korpus reist als Snapshot im Paket

Deterministischer Snapshot

Der Standardmodus liefert stets das gepackte Korpus

Explizite Prüfung

--check-updates erkennt Änderungen, ohne die ausgelieferten Daten zu ersetzen

Anwendbarkeitsmatrix

Berechnet die normative Grundlage zur Vorbereitung der Anwendbarkeitserklärung

Audit CCN-STIC 808

Audit-Lehrplan, wesentliche Anforderungen, RD-Artikel und dokumentarische Nachweise

Related MCP server: nist-mcp

Verfügbare Tools

Abfrage des Anhangs II

Tool

Args

Beschreibung

list_categories

Die Kategorien des Anhangs II mit ihrer Gruppe (org, op, mp).

list_measures

category_code?, dimension?, level?

Maßnahmen gefiltert nach Kategorie, Sicherheitsdimension oder Stufe.

get_measure

code

Eine Maßnahme nach exaktem Code (z. B. "org.1"), mit ihrem RD-Text, Verstärkungen und Stufen.

search_measures

query

Textsuche in Code, Titel, Beschreibung und RD-Wortlaut (ignoriert Groß-/Kleinschreibung und Akzente).

Anwendbarkeitserklärung und Audit

Tool

Args

Beschreibung

declaracion_aplicabilidad

confidencialidad?, integridad?, disponibilidad?, autenticidad?, trazabilidad?

Die normative Basismatrix zur Vorbereitung der DdA: Jede Dimension wird bewertet (bajo/medio/alto oder ausgelassen) und die geforderten Maßnahmen mit ihren Verstärkungen werden zurückgegeben.

alcance_auditoria

dieselben wie bei der DdA

Der Audit-Lehrplan des Systems: die anwendbaren Maßnahmen mit ihren akkumulierten Verifikationsfragen und dem mindestens geforderten Reifegrad.

requisitos_auditoria

code?, level?

Der CCN-STIC-808-Fragebogen im Rohformat, je Maßnahme oder je Stufe, mit Kennzeichnung der wesentlichen Anforderungen.

requisitos_articulos

Die Audit-Prüfungen zum Wortlaut der RD (formale DdA, Kategorisierung, INES...).

evidencias_auditoria

code?

Die Dokumentation, die der Auditor anfordern kann, je Maßnahme.

Status und Aktualisierung

Tool

Args

Beschreibung

refresh_live_page

Prüft jetzt die offizielle Website und aktualisiert die Daten, falls sie sich geändert haben.

snapshot_status

Herkunft und Aktualität der ausgelieferten Daten.

Was eine Maßnahme zurückgibt

Jede Maßnahme enthält zwei Texte, und beide sind nötig: norm_text ist der Wortlaut der RD 311/2022 (was die Maßnahme verlangt) und description ist der Fragebogen der CCN-STIC 808 (was der Auditor fragt). Die Verstärkungen sind mit der Stufe, die sie verlangt, und mit ihrem Wortlaut in der RD gepaart:

{
  "code": "mp.s.4",
  "title": "Protección frente a denegación de servicio",
  "description": "Categoría Media 1.1 ¿Se ha planificado y dotado al sistema de capacidad suficiente ...?",
  "norm_text": "Se establecerán medidas preventivas frente a ataques de denegación de servicio ...",
  "category_code": "mp.s",
  "dimensions": ["disponibilidad"],
  "levels": ["medio", "alto"],
  "reinforcements": [
    { "code": "R1", "level": "alto", "alternative": false, "text": "R1-Detección y reacción. ..." }
  ],
  "raw_levels": { "bajo": "n.a.", "medio": "aplica", "alto": "+ R1" }
}

alternative unterscheidet die verpflichtenden Verstärkungen (+ R1 + R2) von den alternativen (+ [R1 o R2], bei denen eine beliebige genügt): Sie zu verwechseln ändert, was zu implementieren ist.

Anwendbarkeitserklärung

Das ENS wendet keine Stufe auf das gesamte System an: Es wendet eine pro Dimension an. Jede wird bewertet und das Tool liefert zurück, was dieses System erfüllen muss:

{
  "categoria_sistema": "alta",
  "measures": [
    { "code": "op.acc.5", "title": "Mecanismo de autenticación (usuarios externos)",
      "required_level": "alto",
      "required_reinforcements": [
        { "code": "R2", "alternative": true,  "text": "R2-..." },
        { "code": "R5", "alternative": false, "text": "R5-..." }
      ] }
  ]
}

Die Regel stammt aus der RD 311/2022: Die Kategorie des Systems ist die höchste der bewerteten Stufen (Anhang I, Abs. 4), die mit «Categoría» markierten Maßnahmen werden nach der Kategorie des Systems gefordert, die Dimensionen schützenden Maßnahmen nach der Stufe dieser Dimensionen, und eine nicht bewertete Dimension schließt die Maßnahmen aus, die nur sie schützen.

Audit-Umfang

Wenn die DdA die Frage «Was muss ich implementieren?» beantwortet, beantwortet alcance_auditoria die Frage «Was wird mich der Auditor fragen?». Sie liefert für jede anwendbare Maßnahme die akkumulierten Verifikationsanforderungen bis zu ihrer geforderten Stufe sowie den Mindestreifegrad, den der Leitfaden verlangt:

Kategorie

Mindestreifegrad

BÁSICA

L2 — Reproduzierbar, aber intuitiv

MEDIA

L3 — Definierter Prozess

ALTA

L4 — Gesteuert und messbar

Die Nuance ist wichtig: Die Stufen, die ENS Navegable als «Categoría Básica / Media / Alta» kennzeichnet, sind gemäß CCN-STIC 808 §5 kumulativ — «Categoría Básica» bedeutet für alle Kategorien geltend, nicht nur für Basissysteme. Ein System mittlerer Kategorie beantwortet die Fragen der Basisstufe und die der mittleren Stufe. Für ein System mit C=alto, I=medio, D=bajo, A=medio, T=medio umfasst der tatsächliche Lehrplan 382 Fragen (136 wesentliche, deren Nichteinhaltung die Zertifizierung blockiert), nicht die 73 seiner Stufe.

requisitos_articulos und evidencias_auditoria decken die andere Hälfte des Audits ab: die Prüfungen zum Wortlaut der RD (ob die DdA existiert und unterzeichnet ist, ob das System formal kategorisiert ist, ob an INES gemeldet wird...) sowie die 365 dokumentarischen Nachweise, die der Leitfaden vorschlägt. Diese Daten stammen aus der CCN-STIC 808; ENS Navegable veröffentlicht sie nicht.

Woher die Daten stammen

  • src/ensmcp/data/anexo_ii.json — das Korpus von ENS Navegable (Maßnahmen, RD-Texte, Fragebogen, Anwendbarkeit nach Stufen), erfasst von der offiziellen Website. Jede Abfrage ist ein Lookup im Speicher.

  • src/ensmcp/data/guia_808.json — die aus dem CCN-STIC-808-Leitfaden extrahierten Daten mit ihrer Zuordnung (der Leitfaden selbst wird nicht weiterverteilt). snapshot_status gibt an, aus welcher Ausgabe sie stammen.

Zum Regenerieren des Snapshots:

python scripts/build_snapshot.py

Der Server öffnet standardmäßig weder Chrome noch nutzt er das Netzwerk. Zum expliziten Abfragen von Änderungen:

ensmcp --offline
ensmcp --check-updates
ensmcp --live

Er kann auch mit ENSMCP_MODE=offline|check-updates|live konfiguriert werden.

Anforderungen

  • Python 3.12-3.14

Nur zum Aktualisieren des Snapshots (refresh_live_page, die Startprüfung, scripts/build_snapshot.py) werden zusätzlich benötigt:

  • Google Chrome installiert

  • Ein Display (oder xvfb auf Servern ohne eines)

Installation

Zur Verwendung des Servers von PyPI:

pip install ensmcp
ensmcp --offline

Zur Aktivierung der Live-Prüfung:

pip install "ensmcp[live]"
ensmcp --check-updates

Entwicklung

git clone https://github.com/seifreed/ensmcp.git
cd ensmcp
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r pylock.toml   # versiones exactas, verificadas por hash
pip install -e . --no-deps   # el propio paquete, sin re-resolver
patchright install chromium

Auf frisch installiertem Linux kann zusätzlich nötig sein:

patchright install-deps chromium

pyproject.toml ist die einzige Stelle, an der die Abhängigkeiten deklariert werden; pylock.toml ist ein daraus generiertes Artefakt (PEP 751), das alle Abhängigkeiten —Laufzeit und Entwicklung zusammen— auf exakte Version und Hash festlegt, mit Markern für Windows, Linux und macOS auf x64 und ARM. Zum Aktualisieren der Abhängigkeiten bearbeitest du die Bereiche in pyproject.toml und generierst neu:

uv pip compile pyproject.toml --all-extras --universal --python-version 3.12 \
  --format pylock.toml -o pylock.toml

Schnellstart

python -m ensmcp

Konfiguriere es in einem MCP-Client (z. B. Claude Desktop / Claude Code), indem du auf den Interpreter der virtuellen Umgebung zeigst:

{
  "mcpServers": {
    "ensmcp": { "command": "ensmcp", "args": ["--offline"] }
  }
}

Weitere Konfiguration ist nicht nötig: Die Abfragen werden aus dem Snapshot des Pakets beantwortet.

Für Konformitätsentscheidungen haben das BOE, die Technischen Sicherheitsanweisungen, die geltenden offiziellen Leitfäden sowie das Kriterium der zuständigen Prüf- oder Zertifizierungsstelle Vorrang.

Zur manuellen Inspektion:

npx @modelcontextprotocol/inspector venv/bin/python -m ensmcp

Mitwirken

Beiträge sind willkommen.

  1. Forke das Repository

  2. Erstelle deinen Funktionszweig (git checkout -b feature/neue-funktionalitaet)

  3. Committe deine Änderungen (git commit -m 'Füge neue Funktionalität hinzu')

  4. Pushe den Zweig (git push origin feature/neue-funktionalitaet)

  5. Öffne einen Pull Request

Stelle sicher, dass alle Qualitäts- und Sicherheits-Gates ohne Fehler und Warnungen durchlaufen, bevor du den PR sendest.

Unterstütze das Projekt

Wenn dieses Projekt für dich nützlich ist, kannst du seine Entwicklung unterstützen:

Autor


A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
1wRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides instant access to authoritative security documentation from organizations like OWASP, NIST, and major cloud providers through natural language semantic search. It enables users to retrieve security best practices, frameworks, and vulnerability information directly from a locally cached knowledge base.
    4
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides structured access to the full NIST cybersecurity catalog, including SP 800/1800 publications, security controls, CSF 2.0, and the NVD database. It enables AI assistants to search and retrieve cybersecurity standards, CVEs, and compliance guidance directly from a local SQLite index.
    20
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seifreed/ensmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server