Skip to main content
Glama

ism-mcp

Un servidor del Protocolo de Contexto de Modelo que sirve el Manual de Seguridad de la Información (ISM) del Centro Australiano de Ciberseguridad (ACSC) a clientes LLM compatibles con MCP (Claude Desktop, VS Code, Cursor, Continue, etc.).

Los datos se obtienen en tiempo real desde el espejo oficial OSCAL del ASD/ACSC:

https://github.com/AustralianCyberSecurityCentre/ism-oscal

Cada etiqueta (tag) de git en ese repositorio es una versión publicada del ISM. El servidor descubre las etiquetas dinámicamente a través de la API de GitHub, por lo tanto:

  • Todas las versiones históricas desde v2022.09.14 están disponibles.

  • La versión actual es la etiqueta más reciente.

  • Las versiones futuras aparecen automáticamente en el momento en que el ASD publica una nueva etiqueta; no se requieren cambios de código ni redepliegues.

El catálogo y el JSON del perfil se almacenan en caché en el disco (por defecto ~/.cache/ism-mcp/, se puede sobrescribir con ISM_MCP_CACHE_DIR). Los listados de etiquetas se actualizan cada seis horas (se puede sobrescribir con ISM_MCP_TAGS_TTL_MS).

Capacidades

Herramientas

Herramienta

Propósito

list_versions

Enumera cada versión publicada del ISM (etiqueta, id, SHA, fecha).

get_version_metadata

Metadatos OSCAL + conteo de controles/grupos para una versión.

list_groups

Estructura jerárquica de capítulos/directrices con conteo de controles.

list_controls

Lista paginada de controles, filtrable por aplicabilidad / grupo / prefijo de etiqueta.

search_controls

Búsqueda de texto completo en etiquetas, títulos, declaraciones y rutas de grupo.

get_control

Detalle completo de un control individual por id de OSCAL o etiqueta humana (ej. GOV-01), como JSON o Markdown.

compare_versions

Diferencias entre dos versiones del ISM: controles añadidos, eliminados y modificados.

list_profiles

Lista los ocho perfiles OSCAL (NC / OS / P / S / TS + E8 ML1/2/3).

get_profile_controls

Conjunto resuelto de controles para una línea base o nivel de madurez de Essential Eight.

cache_info

Inspecciona la caché local.

Recursos (plantillas)

  • ism://catalog/{version} — catálogo OSCAL completo en JSON (use latest o ej. 2026.03.24).

  • ism://catalog/{version}/control/{controlId} — un control individual renderizado como Markdown.

  • ism://profile/{version}/{profile} — catálogo de perfil resuelto de OSCAL para una línea base.

Prompts

  • ism_compliance_check — genera una evaluación de cumplimiento estructurada de un sistema frente a una línea base.

  • ism_change_brief — produce un resumen de gestión de cambios entre dos versiones del ISM.

Instalación / compilación

npm install
npm run build

El punto de entrada compilado es dist/index.js y se expone como el binario ism-mcp.

Ejecución

El servidor habla MCP a través de stdio:

node dist/index.js

Para una exploración interactiva, utilice el inspector oficial:

npm run inspect

Conexión a un cliente

VS Code (.vscode/mcp.json o configuración)

{
  "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"],
    },
  },
}

Entorno opcional

Variable

Propósito

ISM_MCP_CACHE_DIR

Sobrescribe el directorio de caché en disco.

ISM_MCP_TAGS_TTL_MS

TTL de la caché de etiquetas en milisegundos (por defecto 6h).

Ejemplos de prompts para probar

  • "¿Qué versiones de ISM están disponibles?"

  • "Muéstrame GOV-01 del ISM más reciente, en Markdown."

  • "Busca controles del ISM sobre autenticación multifactor que se apliquen a PROTECTED."

  • "Compara el ISM 2025.12.9 con la última versión y resume los cambios."

  • "Lista los controles en la línea base Essential Eight ML2 para el ISM más reciente."

Datos y licencias

El ISM es publicado por la Dirección Australiana de Señales (ASD). Consulte el repositorio original y https://www.cyber.gov.au para conocer los términos de uso. Este servidor es una herramienta no afiliada que consume los datos OSCAL publicados públicamente.

CI / CD

El repositorio incluye tres flujos de trabajo de GitHub Actions:

  • .github/workflows/ci.yml — realiza comprobaciones de tipo, construye y ejecuta la prueba de humo offline en cada push y PR.

  • .github/workflows/release.yml — despachado por CI después de una construcción exitosa en main cuando se crea una nueva etiqueta de versión (o por despacho manual), empaqueta los datos más recientes, construye, empaqueta el tarball, genera sumas de verificación, crea un GitHub Release con el tarball y data/index.json adjuntos, actualiza una etiqueta git latest al commit lanzado, y (opcionalmente) publica en npm. Si las credenciales de Cloudflare están configuradas, despliega un Cloudflare Worker que sirve el sitio y expone el endpoint HTTP de MCP Streamable en /mcp (el despacho manual puede deshabilitar esto mediante deploy_cloudflare=false).

  • .github/workflows/upstream-sync.yml — verifica el repositorio original ACSC ISM OSCAL diariamente (o por despacho manual). Cuando se publica una nueva etiqueta ISM, vuelve a empaquetar data/, incrementa la versión del paquete, confirma la actualización en main y permite que CI active el lanzamiento etiquetado y el despliegue en Cloudflare.

Configuración única del repositorio

  1. Settings → Actions → General → Workflow permissions: Read and write.

  2. (Opcional) configurar credenciales del repositorio para la publicación en npm al lanzar.

  3. Actualizar los campos repository, homepage y bugs en package.json (reemplazar OWNER).

  4. (Opcional) configurar las credenciales de la cuenta de Cloudflare en los secretos del repositorio para habilitar el despliegue de Workers al lanzar.

Realizar un lanzamiento

# bump version
npm version patch        # or minor / major
git push --follow-tags

Los lanzamientos manuales ejecutan CI primero; cuando CI tiene éxito en main, crea la etiqueta de versión y despacha release.yml, que construye un ism-mcp-<version>.tgz listo para usar offline, lo adjunta al GitHub Release y (opcionalmente) publica el paquete en npm y despliega el endpoint de Cloudflare Worker.

Los lanzamientos del ISM original también se verifican automáticamente una vez al día. Si se detecta una nueva etiqueta original, el flujo de trabajo de sincronización vuelve a empaquetar los datos, incrementa la versión del paquete, envía la actualización a main, y los flujos de trabajo de CI y lanzamiento existentes se encargan del resto.

Para clientes de IA remotos, añada el servidor MCP remoto con esta URL:

https://ism.mcp.zta.au/mcp

{
  "servers": {
    "ism": {
      "type": "http",
      "url": "https://ism.mcp.zta.au/mcp",
    },
  },
}

MCP remoto / transporte HTTP

Además de stdio, ism-mcp también habla MCP Streamable HTTP para que pueda alojarse como un endpoint remoto que las herramientas de IA consultan a través de la red.

# run as an HTTP server on :8080
MCP_TRANSPORT=http PORT=8080 node dist/index.js
# or via flag
node dist/index.js --http

Endpoints:

  • POST /mcp — JSON-RPC sobre Streamable HTTP (por sesión mediante el encabezado Mcp-Session-Id).

  • GET /health — sonda de vivacidad.

  • GET / — pista de uso en texto plano.

Variables de entorno:

Variable

Propósito

MCP_TRANSPORT

stdio (por defecto para CLI) o http. La imagen Docker establece esto en http.

PORT / HOST

Dirección de enlace (por defecto: 0.0.0.0:8080).

MCP_HTTP_PATH

Ruta URL para el endpoint MCP (por defecto /mcp).

Conectar un cliente al endpoint remoto

Endpoint alojado: https://ism.mcp.zta.au/mcp

// VS Code .vscode/mcp.json
{
  "servers": {
    "ism": {
      "type": "http",
      "url": "https://ism.mcp.zta.au/mcp",
    },
  },
}
Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
13Releases (12mo)

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