ISM MCP Server
ism-mcp
Ein Model Context Protocol-Server, der das Information Security Manual (ISM) des Australian Cyber Security Centre (ACSC) für MCP-fähige LLM-Clients (Claude Desktop, VS Code, Cursor, Continue usw.) bereitstellt.
Die Daten werden live vom offiziellen ASD/ACSC OSCAL-Mirror bezogen:
Jeder Git-Tag in diesem Repository entspricht einer veröffentlichten ISM-Version. Der Server erkennt Tags dynamisch über die GitHub-API, daher gilt:
Alle historischen Versionen bis zurück zu
v2022.09.14sind verfügbar.Die aktuelle Version ist der jeweils neueste Tag.
Zukünftige Versionen erscheinen automatisch, sobald die ASD einen neuen Tag veröffentlicht — es sind keine Codeänderungen oder erneute Bereitstellungen erforderlich.
Katalog- und Profil-JSONs werden auf der Festplatte zwischengespeichert (Standard: ~/.cache/ism-mcp/, überschreibbar mit ISM_MCP_CACHE_DIR). Tag-Listen werden alle sechs Stunden aktualisiert (überschreibbar mit ISM_MCP_TAGS_TTL_MS).
Funktionen
Tools
Tool | Zweck |
| Auflistung aller veröffentlichten ISM-Releases (Tag, ID, SHA, Datum). |
| OSCAL-Metadaten + Anzahl der Kontrollen/Gruppen für eine Version. |
| Hierarchische Kapitel-/Richtlinienstruktur mit Anzahl der Kontrollen. |
| Paginierte Liste der Kontrollen, filterbar nach Anwendbarkeit / Gruppe / Label-Präfix. |
| Volltextsuche über Labels, Titel, Aussagen und Gruppenpfade hinweg. |
| Volle Details für eine einzelne Kontrolle per OSCAL-ID oder menschlichem Label (z. B. |
| Vergleich zweier ISM-Releases — hinzugefügte, entfernte und geänderte Kontrollen. |
| Auflistung der acht OSCAL-Profile (NC / OS / P / S / TS + E8 ML1/2/3). |
| Aufgelöster Satz von Kontrollen für eine gegebene Baseline oder Essential Eight Reifegrad. |
| Lokalen Cache inspizieren. |
Ressourcen (Vorlagen)
ism://catalog/{version}— vollständiges OSCAL-Katalog-JSON (verwenden Sielatestoder z. B.2026.03.24).ism://catalog/{version}/control/{controlId}— eine einzelne Kontrolle, gerendert als Markdown.ism://profile/{version}/{profile}— OSCAL-aufgelöster Profilkatalog für eine Baseline.
Prompts
ism_compliance_check— Erstellung einer strukturierten Compliance-Bewertung eines Systems gegenüber einer Baseline.ism_change_brief— Erstellung einer Zusammenfassung des Änderungsmanagements zwischen zwei ISM-Releases.
Installation / Build
npm install
npm run buildDer kompilierte Einstiegspunkt ist dist/index.js und wird als ism-mcp Binärdatei bereitgestellt.
Ausführung
Der Server spricht MCP über stdio:
node dist/index.jsFür interaktive Erkundungen verwenden Sie den offiziellen Inspector:
npm run inspectEinbindung in einen Client
VS Code (.vscode/mcp.json oder Einstellungen)
{
"servers": {
"ism": {
"command": "node",
"args": ["/absolute/path/to/ism-mcp/dist/index.js"],
},
},
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ism": {
"command": "node",
"args": ["/absolute/path/to/ism-mcp/dist/index.js"],
},
},
}Optionale Umgebungsvariablen
Variable | Zweck |
| Überschreiben des Cache-Verzeichnisses auf der Festplatte. |
| TTL des Tag-Listen-Caches in Millisekunden (Standard 6h). |
Beispiel-Prompts zum Ausprobieren
"Welche ISM-Versionen sind verfügbar?"
"Zeige mir GOV-01 aus dem neuesten ISM in Markdown."
"Suche nach ISM-Kontrollen zur Multi-Faktor-Authentifizierung, die für PROTECTED gelten."
"Vergleiche ISM 2025.12.9 mit dem neuesten Release und fasse die Änderungen zusammen."
"Liste die Kontrollen im Essential Eight ML2-Baseline für das neueste ISM auf."
Daten und Lizenzierung
Das ISM wird vom Australian Signals Directorate veröffentlicht. Siehe das Upstream-Repository und https://www.cyber.gov.au für Nutzungsbedingungen. Dieser Server ist ein unabhängiges Werkzeug, das die öffentlich veröffentlichten OSCAL-Daten nutzt.
CI / CD
Drei GitHub Actions-Workflows werden mit dem Repo ausgeliefert:
.github/workflows/ci.yml— Typ-Prüfungen, Builds und Ausführung des Offline-Smoke-Tests bei jedem Push und PR..github/workflows/release.yml— Wird durch CI nach einem erfolgreichenmain-Build ausgelöst, wenn ein neuer Versions-Tag erstellt wird (oder durch manuellen Dispatch). Es bündelt die neuesten Daten, baut das Projekt, packt das Tarball, generiert Prüfsummen, erstellt ein GitHub-Release mit dem Tarball und der angehängtendata/index.json, aktualisiert einen rollierendenlatestGit-Tag auf den veröffentlichten Commit und veröffentlicht (optional) auf npm. Wenn Cloudflare-Anmeldedaten konfiguriert sind, wird ein Cloudflare Worker bereitgestellt, der die Website bedient und den MCP Streamable HTTP-Endpunkt unter/mcpbereitstellt (manueller Dispatch kann dies überdeploy_cloudflare=falsedeaktivieren)..github/workflows/upstream-sync.yml— Überprüft das Upstream ACSC ISM OSCAL-Repository täglich (oder per manuellem Dispatch). Wenn ein neuer ISM-Tag upstream veröffentlicht wird, werden diedata/-Daten neu gebündelt, die Patch-Version des Pakets erhöht, das Update inmaincommittet und die CI löst das getaggte Release und die Cloudflare-Bereitstellung aus.
Einmalige Repository-Einrichtung
Einstellungen → Actions → General → Workflow-Berechtigungen: Read and write.
(Optional) Repository-Anmeldedaten für npm-Veröffentlichung bei Release konfigurieren.
Die Felder
repository,homepageundbugsinpackage.jsonaktualisieren (ersetzen SieOWNER).(Optional) Cloudflare-Konto-Anmeldedaten in den Repository-Secrets konfigurieren, um die Worker-Bereitstellung bei Release zu ermöglichen.
Ein Release erstellen
# bump version
npm version patch # or minor / major
git push --follow-tagsManuelle Releases führen zuerst die CI aus; wenn die CI auf main erfolgreich ist, wird der Versions-Tag erstellt und release.yml ausgelöst, das ein offline-fähiges ism-mcp-<version>.tgz erstellt, es an das GitHub-Release anhängt und (optional) das Paket auf npm veröffentlicht und den Cloudflare Worker-Endpunkt bereitstellt.
Upstream-ISM-Releases werden ebenfalls automatisch einmal täglich überprüft. Wenn ein neuer Upstream-Tag erkannt wird, bündelt der Sync-Workflow die Daten neu, erhöht die Paketversion, pusht das Update auf main, und die bestehenden CI- und Release-Workflows übernehmen von dort aus.
Für Remote-KI-Clients fügen Sie den Remote-MCP-Server mit dieser URL hinzu:
https://ism.mcp.zta.au/mcp
{
"servers": {
"ism": {
"type": "http",
"url": "https://ism.mcp.zta.au/mcp",
},
},
}Remote MCP / HTTP-Transport
Neben stdio spricht ism-mcp auch MCP Streamable HTTP, sodass es als Remote-Endpunkt gehostet werden kann, den KI-Tools über das Netzwerk abfragen.
# run as an HTTP server on :8080
MCP_TRANSPORT=http PORT=8080 node dist/index.js
# or via flag
node dist/index.js --httpEndpunkte:
POST /mcp— JSON-RPC über Streamable HTTP (pro Sitzung viaMcp-Session-Id-Header).GET /health— Liveness-Probe.GET /— Klartext-Nutzungshinweis.
Umgebungsvariablen:
Variable | Zweck |
|
|
| Bind-Adresse (Standard: |
| URL-Pfad für den MCP-Endpunkt (Standard |
Verbinden eines Clients mit dem Remote-Endpunkt
Gehosteter Endpunkt: https://ism.mcp.zta.au/mcp
// VS Code .vscode/mcp.json
{
"servers": {
"ism": {
"type": "http",
"url": "https://ism.mcp.zta.au/mcp",
},
},
}Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/RusticEagle/ism-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server