abuis78/soar_mcp_server
GitHub: abuis78/soar_mcp_server
将 Splunk SOAR 封装为 MCP 服务器,使 AI 客户端能够直接结构化访问和操作 SOAR 中的案例、工件与 playbook。
Stars: 0 | Forks: 0
# SOAR MCP 服务器
**Splunk SOAR 本地部署应用 — v1.1.0**
将 Splunk SOAR 作为 MCP (Model Context Protocol) 服务器端点暴露出来。
Claude Desktop、Claude Code 或任何兼容 MCP 的 AI 客户端都可以
直接连接到 SOAR,并结构化地访问案例、工件、playbook
和笔记 — 无需任何外部服务或云依赖。
## 架构
```
Claude Desktop / Claude Code / any MCP client
│
│ MCP (JSON-RPC 2.0 over HTTP)
▼
https:///rest/handler/phantom_soar_mcp_server/mcp
│
│ SOAR REST API (internal, ph-auth-token)
▼
Splunk SOAR ── Cases, Artifacts, Playbooks, Notes, Users
```
一切都在您的网络内进行。不会向 Anthropic 或任何云服务发起调用。
## 安装说明
1. 下载 `soar_mcp_server_v1.1.0.tar`
2. 在 SOAR 中:**Administration → Apps → Install App** → 上传该 TAR 文件
3. 配置 asset(可选 — 仅用于 Test Connectivity):
- **base_url**:例如 `https://soar.example.com`
- **auth_token**:来自 **Administration → User Management → Users → 您的用户 → Authorization Tokens**
4. 运行 **Test Connectivity** 以验证 MCP 端点是否处于活动状态
MCP 端点在安装后立即生效,地址为:
```
https:///rest/handler/phantom_soar_mcp_server/mcp
```
## 连接 Claude
在 SOAR 中运行 **Get MCP Config** 动作 — 小部件会生成您需要的精确 JSON 代码片段,并允许您一键复制。
### Claude Desktop
编辑 `~/Library/Application Support/Claude/claude_desktop_config.json`
(macOS) 或 `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```
{
"mcpServers": {
"splunk-soar": {
"url": "https://soar.example.com/rest/handler/phantom_soar_mcp_server/mcp",
"headers": {
"ph-auth-token": "YOUR_SOAR_AUTH_TOKEN"
}
}
}
}
```
保存后重启 Claude Desktop。SOAR 将作为已连接的服务器显示在左下角。
### Claude Code (CLI)
```
claude mcp add splunk-soar \
--transport http \
--url "https://soar.example.com/rest/handler/phantom_soar_mcp_server/mcp" \
--header "ph-auth-token: YOUR_SOAR_AUTH_TOKEN"
```
或者手动添加到 `~/.claude.json`:
```
{
"mcpServers": {
"splunk-soar": {
"type": "http",
"url": "https://soar.example.com/rest/handler/phantom_soar_mcp_server/mcp",
"headers": {
"ph-auth-token": "YOUR_SOAR_AUTH_TOKEN"
}
}
}
}
```
## 可用工具
### 只读(默认启用)
| 工具 | 描述 |
|---|---|
| `list_cases` | 使用过滤器(状态、严重程度、标签、日期范围)列出案例 |
| `get_case` | 完整的案例详情,包含所有工件和元数据 |
| `search_cases` | 跨案例名称和描述进行全文搜索 |
| `list_artifacts` | 获取某个案例的工件,支持可选类型过滤 |
| `get_artifact` | 完整的工件详情,包括 CEF 字段 |
| `list_case_notes` | 某个案例的所有分析师笔记 |
| `list_playbooks` | 可用的 playbook,支持按类别过滤 |
| `get_playbook_run` | 特定 playbook 执行的状态和结果 |
| `list_action_runs` | 某个案例的动作运行历史记录 |
| `list_users` | SOAR 用户和角色 |
| `get_soar_info` | SOAR 版本、主机名和系统信息 |
### 写入(默认禁用 — 在 `local/mcp.conf` 中启用)
| 工具 | 描述 |
|---|---|
| `add_case_note` | 向案例添加笔记 |
| `run_playbook` | 在案例上触发 playbook |
| `update_case_status` | 更改案例状态(打开、关闭等) |
| `update_case_severity` | 更改案例严重程度 |
| `update_case_owner` | 重新分配案例所有者 |
| `create_artifact` | 向案例添加工件 |
## 配置说明
该应用从 `mcp.conf` 读取配置。应用内置的默认配置位于 `default/mcp.conf`。要在不编辑应用文件的情况下覆盖设置,请创建 `local/mcp.conf`(在应用升级后仍会保留)。
SOAR 应用目录(通常为):
```
/opt/phantom/apps/phantom_soar_mcp_server_/
├── default/mcp.conf ← bundled defaults (do not edit)
└── local/mcp.conf ← your overrides (create this file)
```
### 启用写入工具
创建 `/opt/phantom/apps/phantom_soar_mcp_server_/local/mcp.conf`:
```
[tools]
enable_add_case_note = true
enable_run_playbook = true
enable_update_case_status = false
enable_update_case_severity = false
enable_update_case_owner = false
enable_create_artifact = false
```
### 安全设置
```
[safety]
advisory_disclaimer = AI-generated content. Verify before acting.
allowed_labels =
max_items_per_case = 200
min_severity = low
```
### 完整参考
```
[server]
timeout = 30
max_results = 50
ssl_verify = true
log_tool_calls = true
protocol_version = 2024-11-05
server_name = Splunk SOAR MCP Server
server_version = 1.1.0
[tools]
enable_list_cases = true
enable_get_case = true
enable_search_cases = true
enable_list_artifacts = true
enable_get_artifact = true
enable_list_case_notes = true
enable_list_playbooks = true
enable_get_playbook_run = true
enable_list_action_runs = true
enable_list_users = true
enable_get_soar_info = true
enable_add_case_note = false
enable_run_playbook = false
enable_update_case_status = false
enable_update_case_severity = false
enable_update_case_owner = false
enable_create_artifact = false
[safety]
advisory_disclaimer = AI-generated content. Verify before acting.
allowed_labels =
max_items_per_case = 200
min_severity = low
```
## 安全提示
- 使用专用的只读 SOAR 用户进行 Claude 连接。
- 写入工具默认禁用,必须显式启用。
- 当 `log_tool_calls = true`(默认值)时,所有工具调用都会由 SOAR 内置的审计跟踪记录。
- SSL 验证默认启用。仅在隔离的测试环境中为自签名证书设置 `ssl_verify = false`。
## 独立测试(无需 SOAR)
```
cd /opt/phantom/apps/phantom_soar_mcp_server_/
python3 soar_mcp_handler.py --host 127.0.0.1 --port 8743
```
然后将任何 MCP 测试客户端指向 `http://127.0.0.1:8743`。
## 许可证
版权所有 2026 Andreas Buis。保留所有权利。
标签:AI安全, Chat Copilot, Claude Code, Claude Desktop, JSON-RPC, LLM集成, MCP, Playbook, REST API, SOAR, Splunk SOAR, 内部网络, 安全事件响应, 安全剧本, 安全集成, 本地化部署, 模型上下文协议, 网络安全, 自动化防御, 逆向工具, 隐私保护