Skip to main content
Glama
yayefa

SecOps-MCP-Server

by yayefa

Google SecOps (Chronicle) MCP Server (Streamable HTTP)

Enterprise Model Context Protocol (MCP) 서버로서 Google SecOps (Chronicle) SIEM/SOAR 원격 측정 데이터, 알림 분류, Universal Data Model (UDM) 검색, 및 YARA-L 탐지 규칙 관리를 Streamable HTTP (streamable-http) 전송을 사용하여 제공합니다—이는 현재 MCP 사양 표준입니다.


🌟 Overview: Streamable HTTP Transport

Streamable HTTP는 Model Context Protocol (MCP) 서버의 표준 원격 전송입니다:

  • Unified Endpoint (/mcp): 클라이언트-서버 메시징, 도구 검색 및 양방향 통신을 위한 단일 엔드포인트입니다.

  • Production Scalability: 상태 비저장 및 컨테이너화된 플랫폼(예: Google Cloud Run)에 원활하게 배포됩니다.

  • Container Health Probes: 내장된 /healthz liveness 및 readiness 프로브.

  • Enterprise Security: 네이티브 Google Cloud IAM 인증(roles/run.invoker) 및 OAuth2/OIDC 토큰 지원.


Related MCP server: openobserve-community-mcp

🛠️ Implemented SecOps Tools (All 29 Official Tools)

1. Security Investigation & Alert Tools

  • search_security_events: 자연어 또는 UDM 쿼리를 통해 SecOps 이벤트를 검색합니다.

  • get_security_alerts: 심각도(CRITICAL, HIGH 등) 및 상태별로 필터링된 알림을 검색합니다.

  • get_security_alert_by_id: 상세 알림 메타데이터 및 MITRE ATT&CK 매핑을 가져옵니다.

  • do_update_security_alert: 분류 상태를 업데이트하고 분석가 메모를 추가합니다.

  • lookup_entity: IP, 도메인, 호스트명, 사용자 또는 해시에 대한 360도 위험 원격 측정 프로필.

  • get_ioc_matches: 검색 기간 동안의 침해 지표(IOC) 일치를 검색합니다.

  • get_threat_intel: SecOps SecLM 위협 인텔리전스 인사이트를 쿼리합니다.

2. Detection Rules Management

  • list_security_rules: 사용자 정의 및 큐레이션된 YARA-L 탐지 규칙을 나열합니다.

  • search_security_rules: 정규식 패턴 또는 키워드를 사용하여 탐지 규칙을 검색합니다.

  • get_rule_detections: 특정 규칙에 의해 트리거된 탐지를 검색합니다.

  • list_rule_errors: 규칙의 실행 또는 컴파일 오류를 나열합니다.

  • create_rule: 새로운 YARA-L 2.0 탐지 규칙을 생성합니다.

  • test_rule: 과거 원격 측정 데이터를 기준으로 탐지 규칙을 백테스트합니다.

  • validate_rule: YARA-L 정의의 구문과 구조를 검증합니다.

3. Log Ingestion Tools

  • ingest_raw_log: 원시 로그 페이로드(JSON, XML, CEF, syslog)를 수집합니다.

  • ingest_udm_events: 구조화된 Universal Data Model 이벤트를 수집합니다.

  • get_available_log_types: 지원되는 로그 유형(Cloud Audit, EDR, Okta, Zscaler 등)을 열거합니다.

4. Parser Management Tools

  • create_parser: 사용자 정의 로그 파서(CBN 구문)를 생성합니다.

  • get_parser: 파서 구성 및 필터링 코드를 검색합니다.

  • activate_parser: 실시간 수집 처리를 위해 파서를 활성화합니다.

  • deactivate_parser: 활성 파서를 비활성화합니다.

  • run_parser_against_sample_logs: 샘플 로그 문자열에 대해 파서 규칙을 테스트합니다.

5. Data Tables & Reference Lists

  • create_data_table / add_rows_to_data_table / list_data_table_rows / delete_data_table_rows

  • create_reference_list / get_reference_list / update_reference_list


🚀 Quick Start: Run Locally

1. Install Dependencies

pip install -r requirements.txt

2. Start the Server

export PORT=8080
export HOST=0.0.0.0
python server.py

The Streamable HTTP 서버는 이제 다음에서 접근 가능합니다:

  • Streamable HTTP Endpoint: http://localhost:8080/mcp

  • Health Probe: http://localhost:8080/healthz


☁️ One-Click Deployment to Google Cloud Run

자동화된 배포 스크립트를 사용하여 직접 배포:

chmod +x deploy.sh
./deploy.sh

Deployment Steps Executed:

  1. [Step 1/5] Custom Variables: .env 파일을 로드하고 사용자 정의 변수를 병합합니다.

  2. [Step 2/5] Enable APIs: Cloud Run, Cloud Build 및 Chronicle API를 활성화합니다.

  3. [Step 3/5] Cloud Run Deploy: Streamable HTTP 전송으로 컨테이너를 배포합니다.

  4. [Step 4/5] IAM Policy Bindings: 에이전트 실행기 서비스 계정 및 활성 사용자에게 roles/run.invoker를 부여합니다.

  5. [Step 5/5] Verification: /healthz 프로브를 확인하고 엔드포인트 URL을 출력합니다.


🧪 Testing and Inspection

Option A: Run Test Suite

python3 test_client.py

Option B: Using the MCP Inspector UI

공식 Model Context Protocol Inspector 실행:

npx -y @modelcontextprotocol/inspector

HTTP 전송을 통해 http://localhost:8080/mcp에 연결합니다.

Option C: Connect via Google ADK / GenAI Agent

에이전트 구성에서 환경 변수를 설정하세요:

export SECOPS_MCP_URL="https://<your-cloud-run-service-url>/mcp"

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    MCP server for Microsoft Sentinel. Enables access to Sentinel logs, incidents, analytics, and Entra ID data via a modular, queryable interface. Strictly non-production. Designed for use with Claude and other LLMs.
    49
    18
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A read-only MCP server for OpenObserve Community Edition that works over the REST API. Provides tools for searching logs, traces, stream schemas, and dashboards - no Enterprise license required.
    8
    94 PyPI
    16
    GPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    Comprehensive MITRE ATT\&CK MCP server with SOC integration for technique lookup, alert mapping, and coverage analysis.
    26
    19 npm
    4
    MIT