solomonneas/thehive-mcp
GitHub: solomonneas/thehive-mcp
为 TheHive 安全事件响应平台提供 MCP 服务器,让 AI 智能体能够通过自然语言管理案件、警报、任务和可观测对象,实现 AI 辅助的安全运营自动化。
Stars: 0 | Forks: 0
# thehive-mcp
用于 [TheHive](https://thehive-project.org/) 安全事件响应平台的 MCP (Model Context Protocol) 服务器。允许 AI 智能体创建案件、管理警报、追踪可观测对象、运行 Cortex 分析器以及编排事件响应工作流。
已在 **TheHive 5.4.11** 上进行测试,包含完整的端到端验证(36 个实时集成测试)。
## 功能
- 覆盖 TheHive 5 API 全部功能的 **35 个工具**
- **案件管理 (Case management)** - 创建、列出、获取、更新、关闭、删除、搜索、合并案件
- **警报管理 (Alert management)** - 创建、列出、获取、更新、提升为案件、删除警报
- **任务管理 (Task management)** - 在案件中创建、列出、获取、更新任务
- **可观测对象管理 (Observable management)** - 添加(单个 + 批量)、列出、获取、搜索可观测对象
- **任务日志** - 添加和列出任务的日志条目
- **评论** - 在案件中添加和列出评论
- **用户管理** - 列出用户、获取当前用户信息
- **Cortex 集成** - 列出分析器、运行分析器任务、获取任务结果
- **原始查询 API** - 执行任意 TheHive Query DSL 以进行复杂搜索
- **案件模板** - 列出可用于创建案件的模板
- **状态** - 健康检查、版本信息、功能特性
- **3 个提示词模板** - 案件摘要、警报分流、事件响应工作流
- **3 个资源** - 打开的案件、新警报、当前用户
## 安装
```
npm install -g thehive-mcp
```
或直接运行:
```
npx thehive-mcp
```
## 配置
设置环境变量:
| 变量 | 必填 | 默认值 | 描述 |
|----------|----------|---------|-------------|
| `THEHIVE_URL` | 是 | - | TheHive 实例 URL (例如 `http://thehive:9000`) |
| `THEHIVE_API_KEY` | 是 | - | 用于身份验证的 API key |
| `THEHIVE_VERIFY_SSL` | 否 | `true` | 设置为 `false` 以禁用 SSL 验证 |
| `THEHIVE_TIMEOUT` | 否 | `30` | 请求超时时间(秒) |
### Claude Desktop
添加到 `claude_desktop_config.json`:
```
{
"mcpServers": {
"thehive": {
"command": "npx",
"args": ["-y", "thehive-mcp"],
"env": {
"THEHIVE_URL": "http://your-thehive:9000",
"THEHIVE_API_KEY": "your-api-key"
}
}
}
}
```
### OpenClaw
添加到 `openclaw.json`:
```
{
"mcp": {
"servers": {
"thehive": {
"type": "stdio",
"command": "npx",
"args": ["-y", "thehive-mcp"],
"env": {
"THEHIVE_URL": "http://your-thehive:9000",
"THEHIVE_API_KEY": "your-api-key"
}
}
}
}
}
```
## 工具
### 案件 (8 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_cases` | 使用过滤器(状态、严重程度、标签、负责人)列出案件 |
| `thehive_get_case` | 通过 ID 获取特定案件 |
| `thehive_create_case` | 创建新案件 |
| `thehive_update_case` | 更新案件字段(严重程度、状态、标签等) |
| `thehive_search_cases` | 按标题关键字搜索案件 |
| `thehive_close_case` | 关闭案件并设置解决状态和摘要 |
| `thehive_delete_case` | 永久删除案件(可选强制) |
| `thehive_merge_cases` | 将多个案件合并为一个 |
### 警报 (6 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_alerts` | 使用过滤器(状态、严重程度、来源、类型)列出警报 |
| `thehive_get_alert` | 通过 ID 获取特定警报 |
| `thehive_create_alert` | 创建新警报 |
| `thehive_update_alert` | 更新警报字段 |
| `thehive_promote_alert` | 将警报提升为案件 |
| `thehive_delete_alert` | 永久删除警报 |
### 任务 (4 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_tasks` | 列出案件的任务 |
| `thehive_get_task` | 通过 ID 获取特定任务 |
| `thehive_create_task` | 在案件中创建任务 |
| `thehive_update_task` | 更新任务字段(状态、负责人等) |
### 可观测对象 (5 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_observables` | 列出案件的可观测对象 |
| `thehive_get_observable` | 通过 ID 获取特定可观测对象 |
| `thehive_create_observable` | 向案件添加单个可观测对象 |
| `thehive_create_observable_bulk` | 在一次请求中添加多个相同类型的可观测对象 |
| `thehive_search_observables` | 跨所有案件搜索可观测对象 |
### 任务日志 (2 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_task_logs` | 列出任务的日志条目 |
| `thehive_create_task_log` | 向任务添加日志条目 |
### 评论 (2 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_comments` | 列出案件上的评论 |
| `thehive_create_comment` | 向案件添加评论 |
### 用户 (2 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_users` | 列出组织中的用户 |
| `thehive_get_current_user` | 获取已认证用户的资料 |
### Cortex (3 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_analyzers` | 列出可用的 Cortex 分析器 |
| `thehive_run_analyzer` | 在可观测对象上运行 Cortex 分析器 |
| `thehive_get_job` | 获取分析器任务状态和结果 |
### 查询 (1 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_query` | 执行原始 TheHive Query DSL 用于复杂搜索、日期范围、计数等 |
### 模板 (1 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_list_case_templates` | 列出可用的案件模板 |
### 状态 (1 个工具)
| 工具 | 描述 |
|------|-------------|
| `thehive_status` | 获取服务器健康状况、版本和功能特性 |
## 提示词模板
| 提示词 | 描述 |
|--------|-------------|
| `case-summary` | 生成全面的事件案件报告 |
| `alert-triage` | 对警报进行分流和分析以决定是否升级 |
| `incident-response` | 引导式事件响应工作流 |
## 资源
| 资源 | URI | 描述 |
|----------|-----|-------------|
| Open Cases | `thehive://cases/open` | 当前打开的案件 |
| New Alerts | `thehive://alerts/new` | 未处理的警报 |
| Current User | `thehive://user/current` | 已认证用户信息 |
## 开发
```
# 安装依赖
npm install
# 构建
npm run build
# 运行测试(单元测试,68 个测试)
npm test
# 运行实时集成测试(36 个测试,需要 TheHive 实例)
THEHIVE_URL=http://your-thehive:9000 THEHIVE_API_KEY=your-key npx tsx scripts/live-test.ts
# 类型检查
npm run typecheck
# 开发模式
THEHIVE_URL=http://your-thehive:9000 THEHIVE_API_KEY=your-key npm run dev
```
## TheHive 5 注意事项
- **组织很重要。** `admin` 组织仅拥有平台权限。请创建一个单独的组织(例如 "SOC"),并使用 `org-admin` 用户来获得完整的案件/警报/任务/可观测对象访问权限。
- **案件状态在 v5 中已更改。** 关闭状态包括:TruePositive、FalsePositive、Indeterminate、Duplicated、Other。没有 "Resolved" 状态。
- **PATCH 返回 204。** 更新操作不返回主体;客户端会自动重新获取实体。
- **可观测对象创建返回数组。** 客户端透明地处理此问题。批量创建使用 `data` 作为数组。
- **Cortex 连接器端点** 位于 `/api/connector/` 而非 `/api/v1/`。
- **创建案件和警报时** `description` 是必填的。
## 许可证
MIT
标签:API集成, CIDR查询, Claude Desktop, Cortex, HTTP/HTTPS抓包, LLM集成, MCP, MITM代理, Model Context Protocol, SIRP, SOAR, TheHive, TypeScript, 参数枚举, 可观测性, 威胁情报, 安全事件响应, 安全插件, 库, 应急响应, 开发者工具, 态势感知, 标准输入输出, 网络安全, 网络调试, 自动化, 自动化攻击, 警报分类, 隐私保护