Integrations
Supports environment variable configuration for authentication and server settings through .env files, allowing secure storage of Azure credentials and server configuration.
Enables access to source control information for Sentinel resources, including listing and viewing repository details for security content managed through source control.
Referenced as the repository hosting location for the MCP server, allowing users to clone and install the server from GitHub.
Microsoft Sentinel MCP 서버
Microsoft Sentinel용 모델 컨텍스트 프로토콜 (MCP) 서버입니다. 이 서버는 Azure Sentinel 환경에서 고급 쿼리, 인시던트 보기, 리소스 탐색 등 Microsoft Sentinel 인스턴스에 대한 읽기 전용 액세스를 제공합니다. 관찰 전용 보안 작업 및 분석을 위한 모듈식 확장 가능 플랫폼을 제공합니다.
⚠️ 중요 보안 공지 ⚠️
테스트 환경 전용 : 이 Microsoft Sentinel MCP 서버는 읽기 전용 작업만 지원하며 테스트 환경 전용입니다. 프로덕션 Sentinel 인스턴스에 연결하도록 설계되지 않았습니다.
개인정보 보호 경고 : 이 서버를 프로덕션 Microsoft Entra ID(Azure AD) 또는 Sentinel 환경에 연결하면 민감한 사용자 및 디렉터리 데이터가 LLM 운영자 또는 공개 LLM에 노출될 수 있습니다. 프로덕션/테스트용이 아닌 테넌트 또는 MCP를 지원하는 비공개 LLM에만 사용하세요.
보안 경고 : 프로덕션 Microsoft Sentinel 인스턴스를 퍼블릭 LLM에 연결하면 심각한 개인 정보 보호 및 보안 위험이 발생할 수 있습니다. 프로덕션 보안 작업에는 비공개 보안 환경만 사용하십시오.
✨ 특징
- KQL 쿼리 실행 : KQL 쿼리 실행 및 검증, 모의 데이터로 테스트
- 로그 분석 관리 : 작업 공간 정보, 테이블 목록 및 스키마
- 보안 사고 : 자세한 사고 정보를 나열하고 확인하세요
- 분석 규칙 : MITRE 전략/기술별 목록, 보기 및 분석
- 규칙 템플릿 : MITRE 프레임워크를 통해 템플릿에 액세스하고 분석합니다.
- 사냥 쿼리 : 전술별 목록, 세부 정보 보기 및 분석
- 데이터 커넥터 : 커넥터 세부 정보 나열 및 보기
- 관심 목록 : 관심 목록 및 해당 항목 관리
- 위협 인텔리전스 : 도메인 WHOIS 및 IP 지리적 위치 조회
- 메타데이터 및 소스 제어 : 리포지토리 세부 정보 나열 및 보기
- ML 분석 : ML 분석 설정에 액세스
- 권한 부여 : RBAC 역할 할당 보기
- Entra ID 사용자 및 그룹 : Microsoft Entra ID에서 사용자 및 그룹 세부 정보 보기
🚀 빠른 시작
1. Azure CLI로 인증
MCP 서버를 사용하려면 먼저 Microsoft Sentinel 작업 영역에 액세스할 수 있는 계정으로 Azure에 인증해야 합니다.
지엑스피1
2. 저장소 복제
3. PowerShell 스크립트로 설치(권장)
제공된 PowerShell 설치 스크립트를 사용하여 MCP 서버를 설정하세요.
스크립트는 다음을 수행합니다.
- Python 설치 확인
- 가상 환경을 생성하고 종속성을 설치합니다.
- Claude Desktop 구성 파일 생성
- 구성을 클립보드에 복사합니다.
스크립트를 실행한 후 구성을 MCP 클라이언트(Claude Desktop, Cursor 등)에 직접 붙여넣을 수 있습니다.
4. MCP 서버를 사용하세요
관련 작업 공간 정보로 MCP 클라이언트 구성을 구성하면 MCP 서버를 사용할 수 있습니다.
Azure CLI 인증을 사용하는 경우 MCP 클라이언트 구성에서 AZURE_CLIENT_ID
및 AZURE_CLIENT_SECRET
제거해야 한다는 점을 기억하세요.
🧰 도구 참조
사용 가능한 도구는 다음과 같습니다. 전체 설명서는 resources/tool_docs/
디렉터리를 참조하세요. 도구 이름과 설명은 MCP 서버의 도구 레지스트리와 동기화되어 MCP 클라이언트에서 검색할 수 있습니다.
도구 | 범주 | 설명 |
---|---|---|
entra_id_list_users | 엔트라 ID | Microsoft Entra ID(Azure AD)의 모든 사용자 나열 |
entra_id_get_user | 엔트라 ID | Entra ID에서 UPN 또는 개체 ID로 사용자 가져오기 |
entra_id_list_groups | 엔트라 ID | Microsoft Entra ID(Azure AD)의 모든 그룹 나열 |
entra_id_get_group | 엔트라 ID | Entra ID에서 객체 ID로 그룹화 가져오기 |
sentinel_logs_search | KQL | Azure Monitor 로그에 대해 KQL 쿼리 실행 |
sentinel_query_validate | KQL | 로컬에서 KQL 쿼리 구문 검증 |
sentinel_logs_search_with_dummy_data | KQL | 모의 데이터로 KQL 쿼리 테스트 |
sentinel_logs_tables_list | 로그 분석 | Log Analytics 작업 공간에서 사용 가능한 테이블 나열 |
sentinel_logs_table_details_get | 로그 분석 | Log Analytics 테이블에 대한 세부 정보 가져오기 |
sentinel_logs_table_schema_get | 로그 분석 | Log Analytics 테이블에 대한 스키마 가져오기 |
sentinel_workspace_get | 로그 분석 | 작업 공간 정보 가져오기 |
sentinel_incident_details_get | 사건 | 특정 Sentinel 사건에 대한 자세한 정보를 얻으세요 |
sentinel_incident_list | 사건 | Microsoft Sentinel에서 보안 사고 나열 |
sentinel_analytics_rule_list | 분석 규칙 | 주요 필드가 포함된 모든 분석 규칙 나열 |
sentinel_analytics_rule_get | 분석 규칙 | 특정 분석 규칙에 대한 세부 정보 가져오기 |
sentinel_analytics_rules_count_by_tactic | 분석 규칙 | 전술별 Count Sentinel 분석 규칙 |
sentinel_analytics_rules_count_by_technique | 분석 규칙 | MITRE 기술을 통한 Count Sentinel 분석 규칙 |
sentinel_analytics_rule_templates_list | 규칙 템플릿 | 모든 Sentinel 분석 규칙 템플릿 나열 |
sentinel_analytics_rule_template_get | 규칙 템플릿 | 특정 Sentinel 분석 규칙 템플릿 가져오기 |
sentinel_analytics_rule_templates_count_by_tactic | 규칙 템플릿 | 전술별 Count Sentinel 분석 규칙 템플릿 |
sentinel_analytics_rule_templates_count_by_technique | 규칙 템플릿 | MITRE 기술을 사용한 Count Sentinel 분석 규칙 템플릿 |
sentinel_hunting_queries_list | 수렵 | 선택적 필터링을 사용하여 모든 Sentinel 헌팅 쿼리를 나열합니다. |
sentinel_hunting_query_get | 수렵 | 이름이나 ID로 Sentinel 사냥 쿼리에 대한 전체 세부 정보를 얻으세요 |
sentinel_hunting_queries_count_by_tactic | 수렵 | 전술별 센티넬 사냥 쿼리 카운트 |
sentinel_connectors_list | 데이터 커넥터 | 데이터 커넥터 목록 |
sentinel_connectors_get | 데이터 커넥터 | ID로 특정 데이터 커넥터 가져오기 |
sentinel_watchlists_list | 관심목록 | 모든 Sentinel 관심목록 나열 |
sentinel_watchlist_get | 관심목록 | 특정 Sentinel 관심목록 가져오기 |
sentinel_watchlist_items_list | 관심목록 | Sentinel 관심 목록에 있는 모든 항목을 나열합니다. |
sentinel_watchlist_item_get | 관심목록 | Sentinel 관심 목록에서 특정 항목 가져오기 |
sentinel_domain_whois_get | 위협 정보 | 도메인에 대한 WHOIS 정보 가져오기 |
sentinel_ip_geodata_get | 위협 정보 | IP 주소에 대한 지리적 위치 데이터 가져오기 |
sentinel_metadata_list | 메타데이터 | 현재 작업 공간의 모든 Sentinel 메타데이터 나열 |
sentinel_metadata_get | 메타데이터 | ID로 특정 Sentinel 메타데이터에 대한 세부 정보를 가져옵니다. |
sentinel_source_controls_list | 소스 제어 | 현재 작업 공간에 있는 모든 Sentinel 소스 컨트롤을 나열합니다. |
sentinel_source_control_get | 소스 제어 | ID로 특정 Sentinel 소스 제어에 대한 세부 정보 가져오기 |
sentinel_ml_analytics_settings_list | ML 분석 | 모든 Sentinel ML 분석 설정 나열 |
sentinel_ml_analytics_setting_get | ML 분석 | 이름으로 특정 Sentinel ML 분석 설정 가져오기 |
sentinel_authorization_summary | 권한 부여 | Sentinel 액세스를 위한 Azure RBAC 역할 할당 요약 |
log_analytics_saved_searches_list | 저장된 검색 | Log Analytics 작업 공간에 저장된 모든 검색 나열 |
log_analytics_saved_search_get | 저장된 검색 | Log Analytics 작업 공간에서 특정 저장된 검색 가져오기 |
🛠️ 사용법
Claude Desktop 또는 유사한 환경에 설치
제공된 PowerShell 설치 스크립트를 사용하여 Claude Desktop 또는 기타 MCP 호환 클라이언트를 위한 MCP 서버를 설정하세요.
스크립트는 다음을 수행합니다.
- Python 설치 확인
- 가상 환경을 생성하고 종속성을 설치합니다.
- 설치 후 단계 실행
- Claude Desktop 구성 파일 생성
- 구성을 클립보드에 복사합니다.
스크립트를 실행한 후 구성을 MCP 클라이언트(Claude Desktop, Cursor 등)에 직접 붙여넣을 수 있습니다. 이 스크립트는 Claude와 호환되는 MCP 서버 구성을 생성합니다. 다른 MCP 클라이언트를 사용할 경우 이 점을 유의하세요.
고급 설치 옵션
수동 환경 설정
환경을 수동으로 설정하려면 다음을 수행하세요.
- 환경 변수 구성제공된 템플릿을 복사하고 Azure 자격 증명을 입력하세요.Copy
- 종속성 설치(uv 사용)Copy
- 대체 서버 실행 옵션MCP CLI 사용:개발 및 핫 리로드:CopySSE 모드(IDE용):CopyCopy
검사기 UI
MCP Inspector UI는 개발 모드( mcp dev wrapper.py
)에서 실행할 때 http://127.0.0.1:6274 에서 사용할 수 있습니다.
🧩 개발
- 리소스: Python 파일을
resources/
에 추가하고register_resources(mcp)
함수를 구현합니다. - 도구:
tools/
에 Python 파일을 추가하고register_tools(mcp)
함수를 구현합니다. 도구는docs/tool-architecture-and-implementation-requirements.md
에 정의된 구조를 따라야 합니다. - 프롬프트: LLM 기반 워크플로에 대한 프롬프트 템플릿을
prompts/
에 추가합니다.
resources/
, tools/
, prompts/
디렉터리의 모든 구성 요소는 서버 시작 시 자동으로 검색되어 등록됩니다. 수동으로 가져올 필요가 없습니다.
🔐 인증 및 환경 변수
MCP 서버는 Azure Python SDK의 DefaultAzureCredential
지원하는 모든 인증 방법을 지원합니다.
Azure CLI 대신 서비스 주체 인증
Azure에서 앱 등록을 설정하고 다음 역할을 할당합니다.
Log Analytics Reader
Microsoft Sentinel Reader
용기가 있다면 앱 등록에 다음과 같은 Microsoft Graph 권한을 부여할 수도 있습니다.
User.Read.All
Group.Read.All
그런 다음 .env
파일이나 MCP 서버 구성에서 다음 환경 변수를 사용하세요.
AZURE_TENANT_ID
AZURE_CLIENT_ID
AZURE_CLIENT_SECRET
AZURE_SUBSCRIPTION_ID
AZURE_RESOURCE_GROUP
AZURE_WORKSPACE_NAME
AZURE_WORKSPACE_ID
템플릿은 .env.example
참조하세요.
Azure CLI 인증
Azure CLI 인증을 사용하는 경우 구성에서 AZURE_CLIENT_SECRET
및 AZURE_CLIENT_ID
생략할 수 있습니다.
🐛 디버깅
.env
파일에서 MCP_DEBUG_LOG
환경 변수를 true
로 설정하여 디버그 모드를 활성화합니다.
로그는 sentinel_mcp_server.log
라는 이름으로 임시 디렉토리에 기록됩니다.
📄 라이센스
이 프로젝트는 MIT 라이선스 에 따라 라이선스가 부여되었습니다.
Related MCP Servers
- Python
- Python
- JavaScriptMIT License
- PythonMIT License