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.
README
Compliance Scanner MCP
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/폴더 내부만 접근 가능합니다.
기여하기
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 라이선스
MIT License - 자세한 내용은 LICENSE 파일을 참조하세요.
📞 문의
문의사항이나 버그 리포트는 Issues에 등록해주세요.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
E2B
Using MCP to run code via e2b.