SOAR MCP Server
基于 OctoMation SOAR 平台 的 Model Context Protocol (MCP) 服务器,为 Claude Desktop、Cherry Studio、Cursor、Trae 等 AI 客户端提供安全编排、自动化和响应能力。
功能特性 • 快速开始 • 管理工具 • 配置说明 • 故障排除
概述
SOAR MCP Server 是一个创新的安全编排平台集成解决方案,专为 。通过 Model Context Protocol 将 SOAR (Security Orchestration, Automation and Response) 能力直接集成到各种 AI 客户端中,包括 Claude Desktop、Cherry Studio、Cursor、Trae 等。它提供了完整的安全事件管理、剧本执行、威胁情报查询等功能,让 AI 助手具备专业的网络安全响应能力。
🎯 OctoMation SOAR 平台
本项目专为 OctoMation SOAR 平台 设计,OctoMation 是一个功能强大的开源安全编排、自动化和响应平台,提供:
🛡️ 完整的安全工具链:支持主流安全产品和平台
📚 丰富的安全剧本:预置大量实用的安全响应剧本
🔄 灵活的工作流:可视化剧本编排和自动化执行
🌐 开放架构:支持自定义集成和扩展
核心优势
🔒 安全编排:无缝对接 OctoMation SOAR 平台
🤖 AI 驱动:通过多种 AI 客户端实现智能安全响应
⚡ 实时响应:快速处理安全事件和威胁
🌐 Web 管理:直观的可视化管理界面
🔧 灵活配置:支持多种部署和配置方式
功能特性
🛠️ MCP 工具集
剧本查询与执行
list_playbooks_quick
- 获取简洁的剧本列表(ID、name、displayName),适用于 AI 快速理解剧本选项query_playbook_execution_params
- 根据剧本ID查询执行所需的参数定义execute_playbook
- 执行指定的 SOAR 剧本,支持参数传递query_playbook_execution_status
- 根据活动ID查询剧本执行状态query_playbook_execution_result
- 根据活动ID查询剧本执行的详细结果
重要说明
剧本ID格式:支持 LONG 类型(64位整数),可以使用整数或字符串格式
执行流程:查询参数 → 执行剧本 → 检查状态 → 获取结果
兼容性:剧本ID 可能超出 JavaScript 安全整数范围,建议使用字符串格式
📊 MCP 资源
soar://playbooks
- SOAR 剧本列表
🌐 Web 管理界面
剧本管理:可视化剧本列表、状态管理、执行监控
Token 管理:API 访问凭证的创建、管理和监控
系统配置:数据库连接、同步设置、API 配置
统计信息:系统状态、执行统计、性能监控
🚀 快速开始
本指南将带你从零开始部署和配置 SOAR MCP Server。
📋 环境要求
系统要求:
Python 3.8+
4GB+ 内存
网络连接(用于 SOAR API 访问)
支持平台:
Linux (Ubuntu 18.04+, CentOS 7+)
macOS (10.14+)
Windows 10/11
🛠️ 第一步:项目部署
1. 获取项目代码
2. 环境配置
3. 首次启动
🎉 恭喜!服务器已启动
首次运行时,系统会自动:
✅ 创建数据库和初始配置
✅ 生成管理员密码(控制台会显示)
✅ 启动 MCP 服务器和 Web 管理界面
⚠️ 跳过 SOAR 剧本同步(需要后续配置)
重要输出信息:
⚙️ 第二步:SOAR 平台配置
1. 访问管理后台
打开浏览器,访问
http://127.0.0.1:12346/admin
使用控制台显示的管理员密码登录
点击导航栏的「系统配置」
2. 配置 SOAR 连接
在系统配置页面填入以下信息:
配置项 | 说明 | 示例值 |
SOAR服务器API地址 | SOAR 平台的 API 基础地址 |
|
API Token | SOAR 平台的 JWT 认证令牌 |
|
超时时间 | API 请求超时(秒) |
|
同步周期 | 数据同步间隔 |
|
剧本抓取标签 | 过滤同步的剧本标签 |
|
3. 测试和保存
点击「测试连接」按钮验证配置
看到 ✅ "API连接测试成功!" 后,点击「保存配置」
系统将自动开始同步 SOAR 剧本数据
🤖 第三步:MCP 客户端配置
支持多种基于大模型的 MCP 客户端,包括但不限于:Cherry Studio、Claude Desktop、Cursor、Trae 等。
Cherry Studio(推荐)
打开 Cherry Studio
进入设置 → MCP 服务器
编辑配置文件,添加以下内容:
{ "mcpServers": { "soar-mcp": { "type": "http", "name": "soar-mcp", "description": "SOAR 安全编排平台集成", "url": "http://127.0.0.1:12345/mcp?token=xxxx" } } }保存并重启 Cherry Studio
⚠️ 重要:将 token=xxxx
替换为从管理后台获取的实际API Token
Claude Desktop
编辑 Claude Desktop 的 MCP 配置文件:
位置:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
配置内容:
⚠️ 重要:
将
token=xxxx
替换为从管理后台获取的实际API TokenClaude Desktop 需要重启才能加载新配置
其他 MCP 客户端
通用配置参数:
协议:
HTTP
服务器 URL:
http://127.0.0.1:12345/mcp?token=xxxx
认证: 通过URL参数传递token
🧪 第四步:功能验证
验证 MCP 连接
在 MCP 客户端中输入:
正常情况下会返回:
完整执行流程示例
查询剧本参数:
执行剧本:
查看执行状态:
获取执行结果:
🔧 管理工具
管理员密码重置
如果忘记了管理员密码,可以使用内置的重置脚本:
脚本特性:
🔒 安全随机密码生成(12位强密码)
🎨 用户友好的彩色界面
✅ 完善的环境检查和错误处理
🛡️ 确认机制防止误操作
使用示例:
高级配置
环境变量配置
如需固定配置,可创建 .env
文件:
系统服务配置
创建 systemd 服务(Linux):
测试
运行测试套件
测试剧本执行
使用 MCP 客户端工具进行测试:
配置说明
环境变量
变量名 | 说明 | 默认值 | 必需 |
| SOAR 平台 API 地址 | - | ✅ |
| API 访问令牌 | - | ✅ |
| MCP 服务器端口 | 12345 | ❌ |
| Web 管理界面端口 | 12346 | ❌ |
| 数据库连接字符串 | sqlite:///soar_mcp.db | ❌ |
| SSL 证书验证 | 1 | ❌ |
| 调试模式 | 0 | ❌ |
数据库配置
支持多种数据库:
故障排除
常见问题
1. MCP 连接失败
症状:AI 客户端无法连接到 MCP 服务器
解决方案:
2. API 认证失败
症状:403 Forbidden 或 401 Unauthorized
解决方案:
检查
.env
文件中的API_TOKEN
是否正确确认 token 未过期
验证 API 地址是否正确
3. 数据库连接问题
症状:数据库操作失败
解决方案:
日志分析
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
支持与反馈
🐛 问题反馈:GitHub Issues
💬 讨论交流:GitHub Discussions
📧 邮件联系:support@flagify.com
致谢
本项目的MCP服务器实现基于 FastMCP 框架构建。FastMCP 提供了优雅的 Python MCP 服务器开发体验,让我们能够快速构建高质量的 MCP 服务器。感谢 FastMCP 团队的优秀工作!
相关链接
Model Context Protocol - MCP 官方文档
FastMCP - Python MCP 服务器框架
OctoMation Wiki - SOAR 平台文档
雾帜智能 - 公司官网
雾帜智能@2025 | 最牛的SOAR | OctoMation
为 AI 赋能网络安全 🔒
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrates Security Orchestration, Automation and Response (SOAR) platform capabilities into AI clients like Claude Desktop and Cherry Studio. Enables users to execute security playbooks, manage security events, and perform automated threat response through natural language interactions.