Skip to main content
Glama

ism-mcp

Сервер Model Context Protocol, который предоставляет Руководство по информационной безопасности (ISM) Австралийского центра кибербезопасности (ACSC) для LLM-клиентов с поддержкой MCP (Claude Desktop, VS Code, Cursor, Continue и др.).

Данные поступают в режиме реального времени из официального зеркала OSCAL ASD/ACSC:

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

Каждый git-тег в этом репозитории соответствует опубликованному выпуску ISM. Сервер динамически обнаруживает теги через API GitHub, поэтому:

  • Доступны все исторические версии, начиная с v2022.09.14.

  • Текущая версия — это самый новый тег.

  • Будущие версии автоматически появляются в момент публикации нового тега ASD — не требуется никаких изменений кода или повторных развертываний.

JSON-файлы каталогов и профилей кэшируются на диске (по умолчанию ~/.cache/ism-mcp/, можно переопределить через ISM_MCP_CACHE_DIR). Список тегов обновляется каждые шесть часов (можно переопределить через ISM_MCP_TAGS_TTL_MS).

Возможности

Инструменты

Инструмент

Назначение

list_versions

Перечисление всех опубликованных выпусков ISM (тег, id, SHA, дата).

get_version_metadata

Метаданные OSCAL + количество элементов управления/групп для версии.

list_groups

Иерархическая структура глав/руководств с количеством элементов управления.

list_controls

Постраничный список элементов управления с возможностью фильтрации по применимости / группе / префиксу метки.

search_controls

Полнотекстовый поиск по меткам, заголовкам, утверждениям и путям групп.

get_control

Полная информация об одном элементе управления по идентификатору OSCAL или человекочитаемой метке (например, GOV-01) в формате JSON или Markdown.

compare_versions

Сравнение двух выпусков ISM — добавленные, удаленные и измененные элементы управления.

list_profiles

Список восьми профилей OSCAL (NC / OS / P / S / TS + E8 ML1/2/3).

get_profile_controls

Разрешенный набор элементов управления для заданного базового уровня или уровня зрелости Essential Eight.

cache_info

Проверка локального кэша.

Ресурсы (шаблоны)

  • ism://catalog/{version} — полный JSON каталога OSCAL (используйте latest или, например, 2026.03.24).

  • ism://catalog/{version}/control/{controlId} — отдельный элемент управления, представленный в формате Markdown.

  • ism://profile/{version}/{profile} — разрешенный профиль каталога OSCAL для базового уровня.

Промпты

  • ism_compliance_check — создание структурированной оценки соответствия системы базовому уровню.

  • ism_change_brief — создание краткого отчета об изменениях между двумя выпусками ISM.

Установка / сборка

npm install
npm run build

Скомпилированная точка входа — dist/index.js, доступная как бинарный файл ism-mcp.

Запуск

Сервер использует протокол MCP через stdio:

node dist/index.js

Для интерактивного исследования используйте официальный инспектор:

npm run inspect

Подключение к клиенту

VS Code (.vscode/mcp.json или настройки)

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

Дополнительные переменные окружения

Переменная

Назначение

ISM_MCP_CACHE_DIR

Переопределение директории кэша на диске.

ISM_MCP_TAGS_TTL_MS

Время жизни кэша списка тегов в миллисекундах (по умолчанию 6 ч).

Примеры промптов для тестирования

  • "Какие версии ISM доступны?"

  • "Покажи мне GOV-01 из последней версии ISM в формате Markdown."

  • "Найди элементы управления ISM по многофакторной аутентификации, применимые к PROTECTED."

  • "Сравни ISM 2025.12.9 с последним выпуском и обобщи изменения."

  • "Перечисли элементы управления в базовом уровне Essential Eight ML2 для последней версии ISM."

Данные и лицензирование

ISM публикуется Управлением радиотехнической обороны Австралии (ASD). Условия использования см. в исходном репозитории и на сайте https://www.cyber.gov.au. Этот сервер является независимым инструментом, который использует публично опубликованные данные OSCAL.

CI / CD

В репозитории предусмотрены три рабочих процесса GitHub Actions:

  • .github/workflows/ci.yml — проверка типов, сборка и запуск автономного smoke-теста при каждом push и PR.

  • .github/workflows/release.yml — запускается CI после успешной сборки main при создании нового тега версии (или вручную), упаковывает последние данные, собирает проект, создает tar-архив, генерирует контрольные суммы, создает GitHub Release с архивом и прикрепленным data/index.json, обновляет плавающий git-тег latest до выпущенного коммита и (опционально) публикует в npm. Если настроены учетные данные Cloudflare, развертывается Cloudflare Worker, который обслуживает сайт и предоставляет конечную точку MCP Streamable HTTP по адресу /mcp (ручной запуск может отключить это через deploy_cloudflare=false).

  • .github/workflows/upstream-sync.yml — ежедневно (или по ручному запросу) проверяет исходный репозиторий ACSC ISM OSCAL. При обнаружении нового тега ISM в исходном репозитории, он переупаковывает data/, увеличивает версию пакета, фиксирует обновление в main и позволяет CI запустить процесс выпуска и развертывания в Cloudflare.

Однократная настройка репозитория

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

  2. (Опционально) настройте учетные данные репозитория для публикации в npm при выпуске.

  3. Обновите поля repository, homepage и bugs в package.json (замените OWNER).

  4. (Опционально) настройте учетные данные учетной записи Cloudflare в секретах репозитория для включения развертывания Workers при выпуске.

Создание релиза

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

Ручные релизы сначала запускают CI; когда CI успешно завершается на main, создается тег версии и запускается release.yml, который собирает готовый к автономной работе ism-mcp-<version>.tgz, прикрепляет его к GitHub Release и (опционально) публикует пакет в npm и развертывает конечную точку Cloudflare Worker.

Релизы ISM в исходном репозитории также проверяются автоматически один раз в день. Если обнаружен новый тег, рабочий процесс синхронизации переупаковывает данные, увеличивает версию пакета, отправляет обновление в main, после чего вступают в силу существующие рабочие процессы CI и релиза.

Для удаленных AI-клиентов добавьте удаленный MCP-сервер с этим URL:

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

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

Удаленный MCP / HTTP-транспорт

Помимо stdio, ism-mcp также поддерживает MCP Streamable HTTP, поэтому его можно разместить как удаленную конечную точку, к которой AI-инструменты обращаются по сети.

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

Конечные точки:

  • POST /mcp — JSON-RPC через Streamable HTTP (сессия через заголовок Mcp-Session-Id).

  • GET /health — проверка работоспособности.

  • GET / — подсказка по использованию в текстовом формате.

Переменные окружения:

Переменная

Назначение

MCP_TRANSPORT

stdio (по умолчанию для CLI) или http. Docker-образ устанавливает значение http.

PORT / HOST

Адрес привязки (по умолчанию: 0.0.0.0:8080).

MCP_HTTP_PATH

URL-путь для конечной точки MCP (по умолчанию /mcp).

Подключение клиента к удаленной конечной точке

Размещенная конечная точка: 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