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, 内部网络, 安全事件响应, 安全剧本, 安全集成, 本地化部署, 模型上下文协议, 网络安全, 自动化防御, 逆向工具, 隐私保护