Compliance Scanner MCP

Compliance Scanner MCP

Analyzes security compliance documents (ISMS-P, NIST, CIS Benchmark) in PDF/TXT format, extracts requirements, recommends AWS services, and evaluates implementation difficulty and timelines through structured JSON output.

Category
Visit Server

README

Compliance Scanner MCP

Python 3.10+ MCP License: MIT

ISMS-P, NIST, CIS Benchmark 등 보안 규제 문서를 분석하는 MCP(Model Context Protocol) 서버입니다.

Claude Desktop과 연동하여 PDF/TXT 형식의 규제 문서를 구조화된 JSON으로 변환하고, AWS 서비스 추천, 난이도 평가, 구현 일수 추정 등을 제공합니다.


주요 기능

기능 설명
규제 분석 텍스트에서 규제 ID, 요구사항, 키워드 자동 추출
PDF 처리 PDF 파일 읽기, 페이지 범위 지정, 키워드 검색
AWS 추천 규제 요구사항에 맞는 AWS 서비스 자동 추천
규제 비교 여러 규제 간 공통점/차이점 분석
난이도 평가 구현 난이도 및 예상 일수 자동 추정

설치 방법

1. 저장소 클론

git clone https://github.com/yourusername/compliance-scanner-mcp.git
cd compliance-scanner-mcp

2. 가상환경 생성 및 활성화

python -m venv venv
source venv/bin/activate  # macOS/Linux
# 또는
venv\Scripts\activate  # Windows

3. 의존성 설치

pip install -e .
# 또는
pip install -r requirements.txt

Claude Desktop 연동

1. Claude Desktop 설정 파일 열기

macOS:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

code %APPDATA%\Claude\claude_desktop_config.json

2. MCP 서버 설정 추가

{
  "mcpServers": {
    "compliance-scanner": {
      "command": "python",
      "args": ["-m", "src"],
      "cwd": "/path/to/compliance-scanner-mcp"
    }
  }
}

cwd 경로를 실제 프로젝트 경로로 변경하세요.

3. Claude Desktop 재시작

설정 후 Claude Desktop을 재시작하면 도구가 활성화됩니다.


사용 예시

예시 1: 규제 텍스트 분석

Claude에게 다음과 같이 요청:

다음 규제를 분석해줘:

ISMS-P 2.8.1 접근통제 정책

정보시스템에 대한 접근을 통제하여 비인가자의 접근을 방지해야 한다.

- 접근권한을 최소한으로 부여한다
- 주기적으로 접근권한을 검토한다
- 접근 로그를 기록하고 모니터링한다

결과:

{
  "regulation_id": "ISMS-P 2.8.1",
  "title": "ISMS-P 2.8.1 접근통제 정책",
  "summary": "정보시스템에 대한 접근을 통제하여 비인가자의 접근을 방지해야 한다.",
  "requirements": [
    "접근권한을 최소한으로 부여한다",
    "주기적으로 접근권한을 검토한다",
    "접근 로그를 기록하고 모니터링한다"
  ],
  "technical_keywords": ["IAM", "접근제어", "CloudTrail", "로깅"],
  "aws_services": ["AWS IAM", "AWS CloudTrail", "Amazon CloudWatch"],
  "difficulty": "보통",
  "estimated_days": 5
}

예시 2: PDF 파일 읽기 및 분석

regulations/ISMS-P.pdf 파일의 10~15페이지를 읽고 분석해줘

예시 3: PDF 키워드 검색

regulations/NIST-800-53.pdf에서 "encryption" 키워드를 검색해줘

결과:

{
  "keyword": "encryption",
  "total_matches": 47,
  "pages_with_matches": 12,
  "results": [
    {
      "page": 15,
      "matches": [
        "SC-13: Cryptographic Protection - encryption requirements...",
        "Data encryption at rest and in transit..."
      ]
    }
  ]
}

예시 4: 여러 규제 비교

다음 두 규제를 비교 분석해줘:

1. ISMS-P 2.8.1 접근통제 정책
   - 접근권한을 최소한으로 부여
   - 주기적으로 권한 검토

2. NIST AC-2 계정 관리
   - 계정 유형 정의
   - 계정 관리자 지정

MCP Tools

Tool 설명
analyze_regulation 규제 텍스트를 구조화된 JSON으로 변환
read_pdf PDF 파일을 텍스트로 변환
search_in_pdf PDF에서 키워드 검색
analyze_pdf_regulation PDF 읽기 + 분석 (결합)
list_regulations regulations/ 폴더 파일 목록
compare_regulations 여러 규제 비교 분석

MCP Resources

Resource 설명
regulation://list 규제 문서 목록
regulation://isms-p/{item_id} ISMS-P 규제 조회 (예: regulation://isms-p/2-8-1)

테스트

# 전체 테스트 실행
pytest tests/ -v

# 특정 테스트 실행
pytest tests/test_analyzer.py -v

# 커버리지 포함
pytest tests/ -v --cov=src

보안

  • regulations/ 폴더 외부의 파일에는 접근할 수 없습니다.
  • 절대 경로 입력 시에도 regulations/ 폴더 내부만 접근 가능합니다.

기여하기

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 라이선스

MIT License - 자세한 내용은 LICENSE 파일을 참조하세요.


📞 문의

문의사항이나 버그 리포트는 Issues에 등록해주세요.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured