ensmcp
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 |
|
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 |
| — | Die Kategorien des Anhangs II mit ihrer Gruppe ( |
|
| Maßnahmen gefiltert nach Kategorie, Sicherheitsdimension oder Stufe. |
|
| Eine Maßnahme nach exaktem Code (z. B. |
|
| Textsuche in Code, Titel, Beschreibung und RD-Wortlaut (ignoriert Groß-/Kleinschreibung und Akzente). |
Anwendbarkeitserklärung und Audit
Tool | Args | Beschreibung |
|
| Die normative Basismatrix zur Vorbereitung der DdA: Jede Dimension wird bewertet ( |
| dieselben wie bei der DdA | Der Audit-Lehrplan des Systems: die anwendbaren Maßnahmen mit ihren akkumulierten Verifikationsfragen und dem mindestens geforderten Reifegrad. |
|
| Der CCN-STIC-808-Fragebogen im Rohformat, je Maßnahme oder je Stufe, mit Kennzeichnung der wesentlichen Anforderungen. |
| — | Die Audit-Prüfungen zum Wortlaut der RD (formale DdA, Kategorisierung, INES...). |
|
| Die Dokumentation, die der Auditor anfordern kann, je Maßnahme. |
Status und Aktualisierung
Tool | Args | Beschreibung |
| — | Prüft jetzt die offizielle Website und aktualisiert die Daten, falls sie sich geändert haben. |
| — | 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_statusgibt an, aus welcher Ausgabe sie stammen.
Zum Regenerieren des Snapshots:
python scripts/build_snapshot.pyDer Server öffnet standardmäßig weder Chrome noch nutzt er das Netzwerk. Zum expliziten Abfragen von Änderungen:
ensmcp --offline
ensmcp --check-updates
ensmcp --liveEr 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
xvfbauf Servern ohne eines)
Installation
Zur Verwendung des Servers von PyPI:
pip install ensmcp
ensmcp --offlineZur Aktivierung der Live-Prüfung:
pip install "ensmcp[live]"
ensmcp --check-updatesEntwicklung
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 chromiumAuf frisch installiertem Linux kann zusätzlich nötig sein:
patchright install-deps chromiumpyproject.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.tomlSchnellstart
python -m ensmcpKonfiguriere 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 ensmcpMitwirken
Beiträge sind willkommen.
Forke das Repository
Erstelle deinen Funktionszweig (
git checkout -b feature/neue-funktionalitaet)Committe deine Änderungen (
git commit -m 'Füge neue Funktionalität hinzu')Pushe den Zweig (
git push origin feature/neue-funktionalitaet)Ö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
Marc Rivero López | @seifreed
Repository: github.com/seifreed/ensmcp
Maintenance
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
- AlicenseAqualityDmaintenanceProvides 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.41MIT
- AlicenseAqualityDmaintenanceProvides 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.201MIT
- AlicenseNot gradedqualityDmaintenanceProvides offline full-text search across 35,000+ Swiss laws from all cantons and federal level using SQLite FTS5 indexing. Enables querying laws, articles, and metadata through natural language.1MIT
- AlicenseAqualityFmaintenanceEnables querying Portuguese cybersecurity regulations, guidance, advisories, and frameworks from CNCS via MCP-compatible clients.6Apache 2.0
Related MCP Connectors
Offline methodology engine for authorized penetration testing, CTF, and security research.
Offline US medical code lookup and crosswalk — ICD-10-CM/PCS, HCPCS Level II, RxNorm. Keyless.
Offline, keyless lookup of the US civil aircraft registry — decode N-numbers, search records.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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