Skip to main content
Glama

Wazuh SIEM/XDR 플랫폼을 위한 Model Context Protocol (MCP) 서버입니다. Claude나 MCP 호환 클라이언트에서 직접 에이전트, 보안 경고, 탐지 규칙 및 디코더를 쿼리하세요.

기능

  • 25개의 MCP 도구 - 에이전트, 경고, 규칙, 디코더, SCA, syscollector, FIM, rootcheck, 그룹 및 관리자

  • 3개의 MCP 리소스 - 에이전트, 최근 경고 및 규칙 요약을 위한 사전 구축된 뷰

  • 3개의 MCP 프롬프트 - 경고 조사, 에이전트 상태 점검 및 보안 개요

  • JWT 인증 - 만료 시 갱신되는 자동 토큰 관리

  • 전체 규정 준수 매핑 - PCI-DSS, GDPR, HIPAA, NIST 800-53, MITRE ATT&CK

  • 페이지네이션 - 모든 목록 엔드포인트가 limit/offset 페이지네이션 지원

  • 타입 안전성 - 엄격 모드 및 Zod 스키마 유효성 검사가 적용된 완전한 TypeScript

사전 요구 사항

  • Node.js 20+

  • API 액세스가 가능한 실행 중인 Wazuh 관리자 (기본 포트 55000)

  • Wazuh API 자격 증명 (사용자 이름/비밀번호)

  • (선택 사항) 경고 쿼리를 위한 Wazuh Indexer (OpenSearch) 액세스

설치

git clone https://github.com/solomonneas/wazuh-mcp.git
cd wazuh-mcp
npm install
npm run build

구성

다음 환경 변수를 설정하세요:

변수

필수

기본값

설명

| WAZUH_URL | 예 | - | Wazuh API URL (예: https://10.0.0.2:55000) | | WAZUH_USERNAME | 예 | - | API 사용자 이름 | | WAZUH_PASSWORD | 예 | - | API 비밀번호 | | WAZUH_VERIFY_SSL | 아니요 | false | SSL 인증서 확인을 위해 true로 설정 |

대체 변수 이름인 WAZUH_BASE_URLWAZUH_USER도 지원됩니다.

Wazuh 4.x는 경고를 REST API가 아닌 Wazuh Indexer(OpenSearch)에 저장합니다. 경고 도구(get_alerts, get_alert, search_alerts)와 wazuh://alerts/recent 리소스를 활성화하려면 인덱서 연결을 구성하세요:

변수

필수

기본값

설명

| WAZUH_INDEXER_URL | 아니요 | - | Wazuh Indexer URL (예: https://10.0.0.2:9200) | | WAZUH_INDEXER_USERNAME | 아니요 | admin | 인덱서 사용자 이름 | | WAZUH_INDEXER_PASSWORD | 아니요 | - | 인덱서 비밀번호 | | WAZUH_INDEXER_VERIFY_SSL | 아니요 | false | SSL 인증서 확인을 위해 true로 설정 |

WAZUH_INDEXER_URL이 설정되지 않은 경우, 경고 도구는 유용한 구성 메시지를 반환합니다. 다른 모든 도구(에이전트, 규칙, 디코더, 버전)는 인덱서 없이도 작동합니다.

사용법

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json (Windows)에 추가하세요:

{
  "mcpServers": {
    "wazuh": {
      "command": "wazuh-mcp",
      "env": {
        "WAZUH_URL": "https://your-wazuh-manager:55000",
        "WAZUH_USERNAME": "wazuh-wui",
        "WAZUH_PASSWORD": "your-password",
        "WAZUH_INDEXER_URL": "https://your-wazuh-indexer:9200",
        "WAZUH_INDEXER_USERNAME": "admin",
        "WAZUH_INDEXER_PASSWORD": "your-indexer-password"
      }
    }
  }
}

Claude Code

claude mcp add wazuh \
  --env WAZUH_URL=https://your-wazuh-manager:55000 \
  --env WAZUH_USERNAME=wazuh-wui \
  --env WAZUH_PASSWORD=your-password \
  --env WAZUH_INDEXER_URL=https://your-wazuh-indexer:9200 \
  --env WAZUH_INDEXER_USERNAME=admin \
  --env WAZUH_INDEXER_PASSWORD=your-indexer-password \
  -- wazuh-mcp

현재 프로젝트뿐만 아니라 모든 디렉토리에서 사용할 수 있도록 --scope user를 추가하세요.

OpenClaw

npm 설치 바이너리 대신 소스 체크아웃에서 실행하는 경우, command/args를 빌드된 dist/index.js로 지정하세요:

openclaw mcp set wazuh '{
  "command": "node",
  "args": ["/absolute/path/to/wazuh-mcp/dist/index.js"],
  "env": {
    "WAZUH_URL": "https://your-wazuh-manager:55000",
    "WAZUH_USERNAME": "wazuh-wui",
    "WAZUH_PASSWORD": "your-password",
    "WAZUH_INDEXER_URL": "https://your-wazuh-indexer:9200",
    "WAZUH_INDEXER_USERNAME": "admin",
    "WAZUH_INDEXER_PASSWORD": "your-indexer-password"
  }
}'

또는 전역 npm 설치의 경우:

openclaw mcp set wazuh '{
  "command": "wazuh-mcp",
  "env": {
    "WAZUH_URL": "https://your-wazuh-manager:55000",
    "WAZUH_USERNAME": "wazuh-wui",
    "WAZUH_PASSWORD": "your-password",
    "WAZUH_INDEXER_URL": "https://your-wazuh-indexer:9200",
    "WAZUH_INDEXER_USERNAME": "admin",
    "WAZUH_INDEXER_PASSWORD": "your-indexer-password"
  }
}'

그런 다음 OpenClaw 게이트웨이를 재시작하여 새 서버가 선택되도록 하세요:

systemctl --user restart openclaw-gateway
openclaw mcp list   # confirm "wazuh" is registered

Hermes Agent

Hermes Agentmcp_servers 키 아래의 ~/.hermes/config.yaml에서 MCP 구성을 읽습니다. 항목을 추가하세요:

mcp_servers:
  wazuh:
    command: "wazuh-mcp"
    env:
      WAZUH_URL: "https://your-wazuh-manager:55000"
      WAZUH_USERNAME: "wazuh-wui"
      WAZUH_PASSWORD: "your-password"
      WAZUH_INDEXER_URL: "https://your-wazuh-indexer:9200"
      WAZUH_INDEXER_USERNAME: "admin"
      WAZUH_INDEXER_PASSWORD: "your-indexer-password"

또는 전역 npm 설치 대신 소스 체크아웃에서 실행하는 경우:

mcp_servers:
  wazuh:
    command: "node"
    args: ["/absolute/path/to/wazuh-mcp/dist/index.js"]
    env:
      WAZUH_URL: "https://your-wazuh-manager:55000"
      WAZUH_USERNAME: "wazuh-wui"
      WAZUH_PASSWORD: "your-password"
      WAZUH_INDEXER_URL: "https://your-wazuh-indexer:9200"
      WAZUH_INDEXER_USERNAME: "admin"
      WAZUH_INDEXER_PASSWORD: "your-indexer-password"

그런 다음 Hermes 세션 내에서 MCP를 다시 로드하세요:

/reload-mcp

Codex CLI

Codex CLIcodex mcp add를 통해 MCP 서버를 등록합니다:

codex mcp add wazuh \
  --env WAZUH_URL=https://your-wazuh-manager:55000 \
  --env WAZUH_USERNAME=wazuh-wui \
  --env WAZUH_PASSWORD=your-password \
  --env WAZUH_INDEXER_URL=https://your-wazuh-indexer:9200 \
  --env WAZUH_INDEXER_USERNAME=admin \
  --env WAZUH_INDEXER_PASSWORD=your-indexer-password \
  -- wazuh-mcp

또는 소스 체크아웃에서 실행하는 경우:

codex mcp add wazuh \
  --env WAZUH_URL=https://your-wazuh-manager:55000 \
  --env WAZUH_USERNAME=wazuh-wui \
  --env WAZUH_PASSWORD=your-password \
  -- node /absolute/path/to/wazuh-mcp/dist/index.js

Codex는 [mcp_servers.wazuh] 아래의 ~/.codex/config.toml에 항목을 작성합니다. 다음으로 확인하세요:

codex mcp list

독립 실행형

export WAZUH_URL=https://your-wazuh-manager:55000
export WAZUH_USERNAME=wazuh-wui
export WAZUH_PASSWORD=your-password
npm start

개발

npm run dev    # Watch mode with tsx
npm run lint   # Type checking
npm test       # Run tests

MCP 도구

에이전트 도구

도구

설명

list_agents

선택적 상태 필터링(active, disconnected, never_connected, pending)을 사용하여 모든 에이전트 나열

get_agent

ID별로 특정 에이전트에 대한 상세 정보 가져오기

get_agent_stats

에이전트의 CPU, 메모리 및 디스크 통계 가져오기

경고 도구

도구

설명

get_alerts

레벨, 에이전트, 규칙 및 텍스트 검색별 필터링을 사용하여 최근 경고 검색

get_alert

ID별로 단일 경고 검색

search_alerts

모든 경고에 대한 전체 텍스트 검색

규칙 도구

도구

설명

list_rules

레벨 및 그룹 필터링을 사용하여 탐지 규칙 나열

get_rule

규정 준수 매핑을 포함한 전체 규칙 세부 정보 가져오기

search_rules

설명 텍스트로 규칙 검색

SCA 도구 (보안 구성 평가)

도구

설명

get_sca_policies

에이전트에 대한 SCA 정책 및 점수 나열 (CIS 벤치마크 등)

get_sca_checks

수정 단계 및 규정 준수 매핑이 포함된 개별 검사 결과 가져오기

Syscollector 도구 (시스템 인벤토리)

도구

설명

get_agent_os

OS 정보 가져오기 (이름, 버전, 아키텍처, 호스트 이름)

get_agent_packages

버전이 포함된 설치된 소프트웨어 패키지 나열

get_agent_processes

PID 및 명령줄이 포함된 실행 중인 프로세스 나열

get_agent_ports

관련 프로세스가 포함된 열린 네트워크 포트 나열

get_agent_network

네트워크 인터페이스 및 IP 주소 나열

get_agent_hotfixes

설치된 Windows 핫픽스/패치 나열

FIM 및 Rootcheck 도구

도구

설명

get_fim_files

파일 무결성 모니터링 결과 가져오기 (파일, 레지스트리 키, 해시)

get_rootcheck

루트킷 탐지 스캔 결과 가져오기

관리자 도구

도구

설명

get_manager_logs

레벨 및 모듈별로 필터링된 Wazuh 관리자 로그 가져오기

get_manager_config

섹션별로 활성 관리자 구성 가져오기

그룹 도구

도구

설명

list_groups

모든 에이전트 그룹 나열

get_group_agents

특정 그룹의 에이전트 나열

기타 도구

도구

설명

list_decoders

선택적 이름 필터링을 사용하여 로그 디코더 나열

get_wazuh_version

Wazuh 관리자 버전 및 API 정보 가져오기

MCP 리소스

리소스 URI

설명

wazuh://agents

모든 등록된 에이전트 및 상태

wazuh://alerts/recent

가장 최근 보안 경고 25개

wazuh://rules/summary

심각도별로 정렬된 탐지 규칙

MCP 프롬프트

프롬프트

설명

investigate-alert

MITRE 매핑 및 수정을 포함한 단계별 경고 조사

agent-health-check

포괄적인 에이전트 상태 평가 (상태, 리소스, 경고)

security-overview

규정 준수 범위를 포함한 전체 환경 보안 요약

예시

활성 에이전트 나열

Use list_agents with status "active" to see all connected agents.

무차별 대입 공격 조사

Search alerts for "brute force" and investigate the top result,
including the MITRE ATT&CK technique and remediation steps.

에이전트 상태 확인

Run an agent health check on agent 001 - check its connection status,
resource usage, and any recent critical alerts.

높은 심각도의 규칙 찾기

List all rules with level 12 or higher to see critical detection rules
and their compliance framework mappings.

테스트

npm test              # Run all tests
npm run test:watch    # Watch mode

테스트는 모의 Wazuh API 응답을 사용하므로 실제 Wazuh 인스턴스가 필요하지 않습니다.

프로젝트 구조

wazuh-mcp/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── config.ts          # Environment configuration
│   ├── client.ts          # Wazuh REST API client (JWT auth)
│   ├── indexer-client.ts  # Wazuh Indexer (OpenSearch) client
│   ├── types.ts           # TypeScript type definitions
│   ├── resources.ts       # MCP resource handlers
│   ├── prompts.ts         # MCP prompt templates
│   └── tools/
│       ├── agents.ts      # Agent management tools
│       ├── alerts.ts      # Alert query tools
│       ├── rules.ts       # Rule query tools
│       ├── decoders.ts    # Decoder listing tool
│       ├── version.ts     # Version info tool
│       ├── sca.ts         # Security Configuration Assessment
│       ├── syscollector.ts # System inventory (OS, packages, ports, etc.)
│       ├── syscheck.ts    # File Integrity Monitoring
│       ├── rootcheck.ts   # Rootkit detection
│       ├── manager.ts     # Manager logs and configuration
│       └── groups.ts      # Agent group management
├── tests/
│   ├── client.test.ts     # API client unit tests
│   └── tools.test.ts      # Tool handler unit tests
├── package.json
├── tsconfig.json
├── tsup.config.ts
└── vitest.config.ts

라이선스

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

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/solomonneas/wazuh-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server