ISM MCP Server
ism-mcp
Сервер Model Context Protocol, который предоставляет Руководство по информационной безопасности (ISM) Австралийского центра кибербезопасности (ACSC) для LLM-клиентов с поддержкой MCP (Claude Desktop, VS Code, Cursor, Continue и др.).
Данные поступают в режиме реального времени из официального зеркала OSCAL ASD/ACSC:
Каждый git-тег в этом репозитории соответствует опубликованному выпуску ISM. Сервер динамически обнаруживает теги через API GitHub, поэтому:
Доступны все исторические версии, начиная с
v2022.09.14.Текущая версия — это самый новый тег.
Будущие версии автоматически появляются в момент публикации нового тега ASD — не требуется никаких изменений кода или повторных развертываний.
JSON-файлы каталогов и профилей кэшируются на диске (по умолчанию ~/.cache/ism-mcp/, можно переопределить через ISM_MCP_CACHE_DIR). Список тегов обновляется каждые шесть часов (можно переопределить через ISM_MCP_TAGS_TTL_MS).
Возможности
Инструменты
Инструмент | Назначение |
| Перечисление всех опубликованных выпусков ISM (тег, id, SHA, дата). |
| Метаданные OSCAL + количество элементов управления/групп для версии. |
| Иерархическая структура глав/руководств с количеством элементов управления. |
| Постраничный список элементов управления с возможностью фильтрации по применимости / группе / префиксу метки. |
| Полнотекстовый поиск по меткам, заголовкам, утверждениям и путям групп. |
| Полная информация об одном элементе управления по идентификатору OSCAL или человекочитаемой метке (например, |
| Сравнение двух выпусков ISM — добавленные, удаленные и измененные элементы управления. |
| Список восьми профилей OSCAL (NC / OS / P / S / TS + E8 ML1/2/3). |
| Разрешенный набор элементов управления для заданного базового уровня или уровня зрелости Essential Eight. |
| Проверка локального кэша. |
Ресурсы (шаблоны)
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"],
},
},
}Дополнительные переменные окружения
Переменная | Назначение |
| Переопределение директории кэша на диске. |
| Время жизни кэша списка тегов в миллисекундах (по умолчанию 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.
Однократная настройка репозитория
Settings → Actions → General → Workflow permissions: Read and write.
(Опционально) настройте учетные данные репозитория для публикации в npm при выпуске.
Обновите поля
repository,homepageиbugsвpackage.json(заменитеOWNER).(Опционально) настройте учетные данные учетной записи 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 /— подсказка по использованию в текстовом формате.
Переменные окружения:
Переменная | Назначение |
|
|
| Адрес привязки (по умолчанию: |
| URL-путь для конечной точки MCP (по умолчанию |
Подключение клиента к удаленной конечной точке
Размещенная конечная точка: 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