ISM MCP Server
ism-mcp
**호주 사이버 보안 센터(ACSC) 정보 보안 매뉴얼(ISM)**을 MCP 지원 LLM 클라이언트(Claude Desktop, VS Code, Cursor, Continue 등)에 제공하는 Model Context Protocol 서버입니다.
데이터는 공식 ASD/ACSC OSCAL 미러에서 실시간으로 가져옵니다:
해당 저장소의 각 git 태그는 게시된 ISM 릴리스 하나를 의미합니다. 서버는 GitHub API를 통해 태그를 동적으로 검색하므로 다음과 같은 특징이 있습니다:
v2022.09.14부터의 모든 과거 버전을 사용할 수 있습니다.현재 버전은 가장 최신 태그입니다.
향후 버전은 ASD가 새 태그를 게시하는 즉시 자동으로 나타나며, 코드 변경이나 재배포가 필요하지 않습니다.
카탈로그 및 프로필 JSON은 디스크에 캐시됩니다(기본값 ~/.cache/ism-mcp/, ISM_MCP_CACHE_DIR로 재정의 가능). 태그 목록은 6시간마다 새로 고쳐집니다(ISM_MCP_TAGS_TTL_MS로 재정의 가능).
기능
도구
도구 | 목적 |
| 게시된 모든 ISM 릴리스(태그, ID, SHA, 날짜)를 나열합니다. |
| 특정 버전에 대한 OSCAL 메타데이터 및 제어/그룹 수를 확인합니다. |
| 제어 수가 포함된 계층적 챕터/가이드라인 구조를 나열합니다. |
| 적용 가능성/그룹/레이블 접두사별로 필터링 가능한 제어 목록을 페이지 단위로 나열합니다. |
| 레이블, 제목, 문장 및 그룹 경로 전체에서 텍스트를 검색합니다. |
| OSCAL ID 또는 사람이 읽을 수 있는 레이블(예: |
| 두 ISM 릴리스를 비교하여 추가, 제거 및 수정된 제어를 확인합니다. |
| 8개의 OSCAL 프로필(NC / OS / P / S / TS + E8 ML1/2/3)을 나열합니다. |
| 특정 기준 또는 Essential Eight 성숙도 수준에 대해 해결된 제어 세트를 가져옵니다. |
| 로컬 캐시를 검사합니다. |
리소스(템플릿)
ism://catalog/{version}— 전체 OSCAL 카탈로그 JSON(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 바이너리로 노출됩니다.
실행
서버는 stdio를 통해 MCP를 통신합니다:
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"],
},
},
}선택적 환경 변수
변수 | 목적 |
| 디스크 내 캐시 디렉터리를 재정의합니다. |
| 태그 목록 캐시 TTL(밀리초 단위, 기본값 6시간). |
시도해 볼 수 있는 예시 프롬프트
"사용 가능한 ISM 버전은 무엇인가요?"
"최신 ISM의 GOV-01을 Markdown으로 보여줘."
"PROTECTED에 적용되는 다중 요소 인증 관련 ISM 제어를 검색해줘."
"ISM 2025.12.9와 최신 릴리스를 비교하고 변경 사항을 요약해줘."
"최신 ISM에 대한 Essential Eight ML2 기준의 제어 목록을 나열해줘."
데이터 및 라이선스
ISM은 호주 신호국(Australian Signals Directorate)에서 게시합니다. 이용 약관은 업스트림 저장소 및 https://www.cyber.gov.au를 참조하십시오. 이 서버는 공개적으로 게시된 OSCAL 데이터를 사용하는 비제휴 도구입니다.
CI / CD
저장소에는 세 가지 GitHub Actions 워크플로가 포함되어 있습니다:
.github/workflows/ci.yml— 모든 푸시 및 PR 시 타입 체크, 빌드 및 오프라인 스모크 테스트를 실행합니다..github/workflows/release.yml— 새 버전 태그가 생성될 때(또는 수동 디스패치 시) 성공적인main빌드 후 CI에 의해 실행됩니다. 최신 데이터를 번들링하고, 빌드하고, tarball을 패키징하고, 체크섬을 생성하며, tarball과data/index.json이 첨부된 GitHub 릴리스를 생성합니다. 또한 롤링latestgit 태그를 릴리스된 커밋으로 업데이트하고 (선택적으로) npm에 게시합니다. Cloudflare 자격 증명이 구성된 경우, 사이트를 제공하고/mcp에서 MCP Streamable HTTP 엔드포인트를 노출하는 Cloudflare Worker를 배포합니다(수동 디스패치 시deploy_cloudflare=false로 비활성화 가능)..github/workflows/upstream-sync.yml— 매일(또는 수동 디스패치 시) 업스트림 ACSC ISM OSCAL 저장소를 확인합니다. 업스트림에서 새 ISM 태그가 게시되면 데이터를 다시 번들링하고, 패키지 패치 버전을 올리고,main에 업데이트를 커밋하여 CI가 태그된 릴리스 및 Cloudflare 배포를 트리거하도록 합니다.
1회성 저장소 설정
설정 → Actions → General → 워크플로 권한: Read and write.
(선택 사항) 릴리스 시 npm 게시를 위한 저장소 자격 증명 구성.
package.json의repository,homepage,bugs필드 업데이트(OWNER대체).(선택 사항) 릴리스 시 Worker 배포를 활성화하기 위해 저장소 비밀에 Cloudflare 계정 자격 증명 구성.
릴리스 생성
# bump version
npm version patch # or minor / major
git push --follow-tags수동 릴리스는 먼저 CI를 실행합니다. main에서 CI가 성공하면 버전 태그를 생성하고 release.yml을 디스패치합니다. 이 워크플로는 오프라인용 ism-mcp-<version>.tgz를 빌드하고, GitHub 릴리스에 첨부하며, (선택적으로) 패키지를 npm에 게시하고 Cloudflare Worker 엔드포인트를 배포합니다.
업스트림 ISM 릴리스도 하루에 한 번 자동으로 확인됩니다. 새로운 업스트림 태그가 감지되면 동기화 워크플로가 데이터를 다시 번들링하고, 패키지 버전을 올리고, main에 업데이트를 푸시하며, 기존 CI 및 릴리스 워크플로가 그 이후 작업을 수행합니다.
원격 AI 클라이언트의 경우, 다음 URL로 원격 MCP 서버를 추가하세요:
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— Streamable HTTP를 통한 JSON-RPC (Mcp-Session-Id헤더를 통한 세션별).GET /health— 라이브니스 프로브.GET /— 일반 텍스트 사용 힌트.
환경 변수:
변수 | 목적 |
|
|
| 바인딩 주소(기본값: |
| MCP 엔드포인트의 URL 경로(기본값 |
원격 엔드포인트에 클라이언트 연결
호스팅된 엔드포인트: 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