
Crowdsentinel Mcp Server
io.github.thomasxm由 GitHub 账号 thomasxm 发布v0.6.0更新于 Nov 3, 2026
AI threat hunting & incident response for Elasticsearch/OpenSearch with endpoint & network forensics
概览
本地 MCP 服务器,让 AI 助手在 Elasticsearch/OpenSearch 及端点、网络取证数据上执行威胁狩猎与事件响应。
- 可以做什么
- 检索和查询 Elasticsearch/OpenSearch 的索引、文档、集群、别名与数据流,并执行 EQL 与 ES|QL 查询
- 按攻击模式、杀伤链阶段或时间范围进行威胁狩猎,运行或列出内置检测规则并映射 MITRE ATT&CK
- 提取并解码入侵指标,包括编码的 PowerShell 与 base64 载荷,并映射到杀伤链等框架
- 用 Chainsaw 与 Sigma 规则分析 EVTX 日志、用 Wireshark/TShark 分析 PCAP 流量、用 osquery 检查本机
- 通过 Velociraptor 采集端点实时取证数据,并在 SIEM、端点与网络来源之间做关联
- 借助威胁情报服务与 MISP 富化指标,并保存持久化调查状态、导出 STIX 2.1
- 适用场景
- 适合安全分析师和事件响应人员用自然语言让助手查询 SIEM、研判告警、运行检测规则并在端点与网络证据间横向排查。最适合已运行 Elasticsearch 或 OpenSearch 并具备安全事件数据的团队。
- 运行要求
- 以 Python 包形式在本机运行(pip 或 uvx),需要 Elasticsearch 或 OpenSearch 端点(ELASTICSEARCH_HOSTS 或 ELASTICSEARCH_CLOUD_ID),并提供一组凭据:ELASTICSEARCH_API_KEY、ELASTICSEARCH_BEARER_TOKEN,或 ELASTICSEARCH_USERNAME 搭配 ELASTICSEARCH_PASSWORD。可选功能还需 tshark 用于 PCAP 分析、一次性下载 Chainsaw 与 Sigma 规则,以及威胁情报和 MISP 各自的密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 Crowdsentinel Mcp Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
CrowdSentinel MCP Server
AI-Powered Threat Hunting & Incident Response Framework
[PyPI] [PyPI Downloads] [Python] [License] [MCP] [Tools] [Rules]
MCP Official Registry · PyPI Package
Open-source threat hunting orchestrator connecting LLMs to enterprise security data via Model Context Protocol (MCP)
Quick Start · Installation · CLI Usage · Features · Architecture · Documentation · Examples
Warning This project is in active development and intended for security testing, research, and educational purposes only. It is not production-ready. Do not deploy in production environments. APIs, tool interfaces, and data formats may change without notice. Use at your own risk.
Demo
https://github.com/user-attachments/assets/0d0381f0-5b68-43b2-8630-19ec130885b2
What is CrowdSentinel?
CrowdSentinel transforms traditional SIEM querying into intelligent, framework-driven investigations using natural language. It serves as a unified security intelligence layer that connects large language models to enterprise security data sources, enabling:
- Natural Language Threat Hunting — Query Elasticsearch using plain English
- AI-Guided Investigation Workflows — Built-in prompts guide agents through proper IR methodology
- Persistent Investigation State — Memory-managed IoC tracking, forensic timelines, and cross-query correlation that survives across sessions (8GB FIFO storage)
- Cross-Tool IoC Correlation — IoCs discovered in one tool are automatically available to all others
- Multi-Source Analysis — Elasticsearch, EVTX logs (Chainsaw), PCAP files (Wireshark), live endpoint forensics (Velociraptor), local host forensics (osquery)
- Velociraptor Endpoint Forensics — 25 MCP tools for live artefact collection (processes, network, persistence, execution evidence, NTFS MFT, SRUM, remote EVTX) with automatic IoC extraction
- Encoded-Command Deobfuscation — Automatically peels base64/UTF-16LE/gzip/hex layers off encoded commands (e.g. PowerShell
-EncodedCommand) so C2 addresses hidden inside them surface as IoCs - Adaptive Schema Intelligence — Data-driven schema registry (ECS, Sysmon, Windows Security, auditd, Zeek, Packetbeat, AWS CloudTrail) adapts hunts to each index's field conventions
- DFIR Knowledge Resources — 9 MCP resources exposing investigation playbooks, Pyramid of Pain reference, and cross-correlation guidance directly to connected AI agents
- Standalone CLI — Full threat hunting from the terminal without an MCP client
Installation
Install from PyPI (recommended)
Optional extras:
Detection rules (6,060 Lucene + EQL + ES|QL) are bundled with the package — no download needed. The setup command downloads additional tools:
- Chainsaw binary for EVTX analysis
- 3,000+ Sigma rules for Chainsaw
Downloaded tools are stored in ~/.crowdsentinel/ and persist across package upgrades.
System dependency for PCAP analysis:
Run directly with uvx (no install needed)
Install from source
The setup script will:
- Install dependencies (pipx, uv, Claude Code CLI if needed)
- Bundle 6,060 detection rules and download Chainsaw binary
- Prompt for Elasticsearch credentials (never hardcoded)
- Configure the MCP server with Claude Code
- Validate your connection
With --full, every optional extra is installed too, so all 139 MCP tools have their dependencies available — the recommended mode for a production-ready server.
Installed Size
CrowdSentinel bundles 6,060 detection rules and integrates with external analysis tools. Below is the full disk space breakdown so you can plan accordingly.
Core package (via pip or uvx):
Additional tools (via crowdsentinel setup):
System dependency (via package manager):
Full installation summary:
Note: PyPI download size is only 8.9 MB (wheel) thanks to compression of the bundled detection rules.
Quick Start
1. Set environment variables
2. Connect to an MCP Client
CrowdSentinel works with any MCP-compatible AI agent. Choose your client below:
Claude Code (CLI)
Claude Desktop
Edit ~/.config/Claude/claude_desktop_config.json (Linux) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
VS Code Copilot
Create .vscode/mcp.json in your workspace:
Then enable MCP in VS Code settings: "chat.mcp.enabled": true
Cursor
Create or edit ~/.cursor/mcp.json:
Roo Code (VS Code Extension)
Create .roo/mcp.json in your workspace:
Or configure via Roo Code settings panel: Settings > MCP Servers > Add Server.
5ire
In 5ire settings (v0.15.0+), add an MCP server with:
- Command:
uvx - Arguments:
crowdsentinel-mcp-server - Environment Variables:
ELASTICSEARCH_HOSTS=https://localhost:9200ELASTICSEARCH_API_KEY=your_api_keyVERIFY_CERTS=false
Note: 5ire v0.14.0 has known MCP compatibility issues. Use v0.15.0+ for reliable operation.
Any MCP Client (Generic)
stdio transport (default — works with most clients):
SSE transport (for web-based clients):
HTTP transport (for REST API clients):
3. Or use the CLI directly
CLI Usage
CrowdSentinel provides a full CLI for threat hunting from the terminal:
Available Commands
Output Formats
All commands support --output/-o with three formats:
Agent Mode (--mcp)
The analyse --mcp flag replaces deterministic analysis with an AI agent that autonomously uses all 139 MCP tools to investigate. The agent follows the 4-phase IR methodology: hunt, analyse, correlate, report.
Authentication:
Agent flags:
Pipeline Examples
Deterministic analysis (no API key needed):
AI agent investigation (requires auth):
Key Features
Architecture
What's Included
Tool Categories (139 Tools)
Velociraptor tools register when
VELOCIRAPTOR_API_CONFIGis set; osquery tools register when a localosqueryibinary is present; the 10 high-risk write tools are hidden whenDISABLE_HIGH_RISK_OPERATIONS=true.
Security Frameworks
Detection Rules (6,060 Rules)
Platforms: Windows, Linux, macOS, Cloud (AWS/Azure/GCP), Network, Identity
Log Sources: PowerShell, Sysmon, Security Events, Process Creation, Audit logs
Encoded-Command Deobfuscation
Real intrusions hide C2 addresses and URLs inside encodings the SIEM stores verbatim — most commonly PowerShell -EncodedCommand (base64 of UTF-16LE), but also FromBase64String, base64→gzip, bare base64, and hex blobs. CrowdSentinel decodes these layers automatically during IoC extraction and via the dedicated decode_command tool, so the inner indicators surface instead of staying buried:
- Zero extra dependencies — the decoder core uses only the Python standard library (
base64/zlib/codecs/binascii) - Optional long tail — install the
deobfextra (pip install 'crowdsentinel-mcp-server[deobf]') to add chepy for XOR and exotic encodings; its absence degrades gracefully - Provenance — every decode records its recipe (e.g.
base64->utf-16le) for the IR report - Safe by design — decode-only (nothing is executed), with depth and output-size bounds so a decompression bomb cannot hang the server
Configuration
Environment Variables
Security Warning: Never use
VERIFY_CERTS="false"or plain-text passwords in production. Use API keys or service tokens with TLS certificate verification enabled. For self-signed certificates, setELASTICSEARCH_CA_CERTto your CA certificate path.
Production Configuration Examples
Elastic Cloud
Self-Hosted with Custom CA
Mutual TLS (mTLS)
Development / Testing (insecure)
This configuration is not suitable for production. Use API keys with TLS in production environments.
Transport Modes
The HTTP transports are hardened at the transport layer:
- Origin validation (anti DNS-rebinding) — browser requests are rejected unless their
Originis loopback or listed inMCP_ALLOWED_ORIGINS(comma-separated;*alone disables the check). Requests without anOriginheader — every non-browser MCP client — are unaffected. - Audit logging — every HTTP exchange is logged at the transport boundary (JSON-RPC method, tool name, body size, path), including requests the tool layer never sees, such as unknown tools or protocol errors. Logs are metadata-only, memory-bounded, and sanitised against log forgery.
Disabling Write Operations
For read-only access (recommended for production):
This hides destructive tools: create_index, delete_index, index_document, delete_document, delete_by_query, create_data_stream, delete_data_stream, put_alias, delete_alias, general_api_request
Usage Examples
Example 1: Hunt for Brute Force Attacks
Example 2: Investigate a Suspicious Host
Example 3: Kill Chain Analysis
Example 4: Network Traffic Analysis
Example 5: CLI Threat Hunt
Compatibility
For Developers
Project Structure
Design Patterns
Adding a New Tool
- Create client method in
src/clients/common/your_module.py:
- Add to SearchClient in
src/clients/common/client.py:
- Create tool wrapper in
src/tools/your_tools.py:
- Register in server in
src/server.py:
Running Tests
The test suite is a bottom-up pyramid (see tests/README.md): hermetic unit tests, then live tiers that spin up a real Elasticsearch (via testcontainers) and the real MCP server.
Live tiers are opt-in (--run-integration / --run-api / --run-e2e / --run-system), so plain pytest tests/ stays fast and hermetic.
Local Testing Environment
Default credentials (testing only):
- Elasticsearch:
elastic/test123 - OpenSearch:
admin/admin
Roadmap
See CHANGELOG.md for detailed version history.
Velociraptor Integration (Live Endpoint Forensics)
CrowdSentinel integrates with Velociraptor for live endpoint forensic artefact collection. When configured, 25 additional MCP tools and 5 cross-correlation tools become available.
Setup
The API client config is generated from the Velociraptor server:
Available Tools
Cross-Source IoC Sharing
IoCs extracted from Velociraptor artefacts are automatically captured into the active investigation alongside SIEM, Chainsaw, and Wireshark findings. Use get_shared_iocs to retrieve the combined indicator set for cross-source correlation.
DFIR Knowledge Resources
9 MCP resources provide structured investigation reference data directly to connected AI agents:
Documentation
User Guides
Feature Guides
Developer Guides
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Licence
GNU General Public Licence v3.0 — See LICENSE for details.
Cyber Range
CrowdSentinel ships with a companion crowdsentinel-range — a fully ephemeral AWS lab that generates ground-truth-labeled attack telemetry so you can investigate real detections rather than synthetic data.
Current range (v1) — 2-host AWS lab
3 commands to go from zero to hunting:
Demo: 73,328 events triaged in ~40 seconds — 2 shellcode payloads decoded, C2 IP extracted from raw bytes, full IR report with 19 MITRE techniques.
Future range (v2) — enterprise AD environment
The next range generation targets full Active Directory kill-chain coverage: initial access → lateral movement → domain compromise, with a network security monitor layer, runtime security instrumentation, centralised vulnerability management, and deception infrastructure. Inspired by DetectionLab, Ludus, and SimuLand.
v2 target capabilities:
Design references: DetectionLab (Sysmon+WEF+Splunk convergence), Ludus (modular Proxmox/Ansible, VLAN segmentation), SimuLand (multi-domain AD forest, cloud-native), SANS FOR508 (artifact-first DFIR workflow), Falco (CO-RE eBPF probe architecture, kernel module fallback).
Acknowledgements
CrowdSentinel stands on the shoulders of outstanding open-source projects. Thank you to all of their maintainers and contributors.
Protocol & server framework
- Model Context Protocol — the protocol connecting LLMs to tools, by Anthropic
- FastMCP — the Python MCP server framework this project is built on
Analysis engines & forensic tools
- Chainsaw — EVTX log analyser by WithSecure Labs
- Velociraptor — live endpoint forensics and DFIR platform by Velocidex/Rapid7
- osquery — SQL-powered host instrumentation by the osquery Foundation
- Wireshark / TShark — network protocol analysis by the Wireshark Foundation
- Chepy — CyberChef-like decoding library powering optional long-tail deobfuscation
- sqlglot — SQL parser used to safely validate osquery queries
Detection content
- Sigma / SigmaHQ — the community detection rule standard and rule corpus
- Elastic detection-rules — Elastic's prebuilt EQL/ES|QL detection rules
- Community-contributed Sigma and custom rules
Data platforms & threat intelligence
- Elasticsearch and OpenSearch Python clients
- MISP / PyMISP — open-source threat intelligence platform and client
- stix2 — OASIS STIX 2.1 library for structured IoC export
- Shodan InternetDB, VirusTotal, AbuseIPDB, and abuse.ch ThreatFox — IoC enrichment services with free tiers
Development & testing
- testcontainers-python — real Elasticsearch containers for the live test tiers
- pytest, Ruff, Bandit — test runner, linting, and SAST
Methodology frameworks
- Cyber Kill Chain (Lockheed Martin), Pyramid of Pain (David J. Bianco), Diamond Model (Caltagirone, Pendergast & Betz), MITRE ATT&CK
来源:README.md,提交 bfca612
工具
0版本历史
1- v0.6.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分