HyperAutomation MCP服务器(Alpha)
目录
项目描述
Hyperautomation MCP Server在LLM客户端和HA工作流的中间层之间提供了一座桥梁,通过自然语言交互实现了动态安全编排。
此MCP服务器是名为 交互式安全编排 它重新构想了标准SOAR解决方案的运作方式。
与传统的SOAR平台不同,在传统的SOA平台中,工作流是预先构建的和静态的,这种架构使分析师能够在LLM解释高级安全目标并从可用工具和操作中动态选择最佳工具和操作时实时“创建工作流” 代理 在HyperAutomation层。
这开启了一种新的范式,分析师可以将动态工作流编排与传统的静态SOAR方法无缝融合,创建一个混合系统,将预构建工作流的可靠性和可预测性与用户导向自动化的灵活性和智能性相结合。
📖 配套博客文章: 交互式安全编排范式(第一部分)
架构蓝图
主要组成部分
MCP服务器
- 位置: 服务器
- 目的:
- 核心MCP协议实现,处理客户端请求并将其路由到作为HyperAutomation工作流实现的适当代理。 - 从云数据库检索结果(与标准MCP略有偏差)
代理
该系统通过webhook端点与多个特定于域的HyperAutomation代理集成:
- VT代理 -病毒总威胁情报查找和样本下载
- SDL代理 -奇点数据湖查询执行与分析
- 资产处理代理 -端点和资产管理操作
- 案例经理代理 -警报管理和案件处理
- 远程操作管理器代理 -远程脚本执行和任务管理
- 数据库管理器 -将代理的结果存储在面向互联网的数据库中
云数据库
此组件处理通过轮询检索HA代理生成的结果
- 虽然此仓库中包含的代码利用了 谷歌大查询 作为临时存储结果的数据库,分析师可以选择云中的任何其他数据库,前提是他们:
1. 更新 DB_Manager类 使用不同的数据库并实现必要的轮询机制 1. 更新HyperAutomation层中的DB Agent以利用不同的集成
环境变量配置
确保创建一个 .env 此项目根目录下的文件。根据您的需求定制内容。
必需变量
数据库配置:
# Google BigQuery Configuration (required when using BigQuery)
GOOGLE_CLOUD_PROJECT="your-gcp-project-id"
BIGQUERY_DATASET_ID="your-dataset-id"
BIGQUERY_TABLE_ID="your-table-id"
# Credentials file path (MUST be updated)
CREDENTIALS_FILE="/path/to/your/credentials/file.json"可选变量
# Logging Configuration
MCP_SERVER_LOG_FILE="mcp_server.log" # Default: mcp_server.log
# Database Polling Configuration
DB_MAX_RETRIES=200 # Default: 200
DB_RETRY_DELAY=1 # Default: 1 second
DB_SERVICE_TYPE="bigquery" # Options: bigquery, gsheet. Default: bigquery
# BigQuery Configuration (optional)
BIGQUERY_REQ_ID_COLUMN="req_id" # Default: req_id安装说明
- 克隆仓库
- 配置BigQuery
- 配置代理
- 安装依赖项:
uv install(或uv sync如果使用紫外线锁) - 配置环境变量 (请参阅上面的说明)
- 测试服务器:
uv run python server/server.py
- 确保您没有看到任何错误 - 杀死进程
用法
备注:测试使用 chatgpt-4.1 (这是我目前推荐使用的模型)
将MCP服务器连接到首选LLM客户端。
/PATH_TO_BINARY/uv --directory /mcp-hyperautomation/server/ run server.py --transport stdio键入以下命令运行快速测试 list endpoints 在你的客户
依赖项
- Python 3.8+
- uv(用于依赖性管理)
- FastMCP
- 谷歌云BigQuery Python客户端
- uvicorn(用于SSE运输)
- 中列出的其他依赖项 服务器/pyproject.toml
______________________________________________________________________
*作者*: antonio.monaca@sentinelone.com
