侦探行动Sumo
一个用于Sumo Logic的Go MCP(模型上下文协议)服务器,专注于 检测工程 工作流程。将云SIEM(CSE)和核心智能平台(CIP)API作为MCP工具公开。
特性
- CIP搜索 --运行具有自动异步作业管理的日志查询、用于威胁搜索的批处理并发查询和规则调优
- CIP内容 --使用文件夹管理在内容库中保存、组织和管理日志搜索
- CSE规则 --完整的CRUD、导出/导入、复制、调优表达式
- CSE信号和见解 --搜索、检查、管理、解决问题
- CSE匹配列表和抑制列表 --管理所有列表/拒绝列表和抑制指标
- CSE实体 --搜索并标记IP、主机名、用户名、MAC地址
- 多个传输 --stdio、流式HTTP、流式HTTP+OAuth
- OAuth反向代理 --符合MCP规范的受保护资源元数据、JWT验证、JWKS获取
- 速率限制 --CSE和CIP共享速率限制器,遵守Sumo Logic的4个要求/秒限制
快速开始
先决条件
- 转到1.22+
- Sumo Logic帐户 访问密钥
构建
make build运行(stdio)
export SUMOLOGIC_ACCESS_ID="your-access-id"
export SUMOLOGIC_ACCESS_KEY="your-access-key"
export SUMOLOGIC_DEPLOYMENT="us1" # us1, us2, eu, au, etc.
./bin/detectops-sumo --transport stdio运行(流式HTTP)
./bin/detectops-sumo --transport http --port 8080运行(流式HTTP+OAuth)
./bin/detectops-sumo --transport http --port 8080 \
--oauth-enabled \
--oauth-issuer https://idp.example.com \
--oauth-audience detectops-sumo \
--oauth-jwks-url https://idp.example.com/.well-known/jwks.jsonMCP客户端配置
克劳德桌面/光标/扭曲
添加到您的MCP配置中(例如。, claude_desktop_config.json):
{
"mcpServers": {
"detectops-sumo": {
"command": "/path/to/detectops-sumo",
"args": ["--transport", "stdio"],
"env": {
"SUMOLOGIC_ACCESS_ID": "",
"SUMOLOGIC_ACCESS_KEY": "",
"SUMOLOGIC_DEPLOYMENT": "us1"
}
}
}
}MCP检查员
npx @modelcontextprotocol/inspector ./bin/detectops-sumo --transport stdio远程HTTP客户端
{
"mcpServers": {
"detectops-sumo": {
"url": "http://localhost:8080/mcp",
"transport": "streamable-http"
}
}
}环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
SUMOLOGIC_ACCESS_ID | Sumo逻辑访问ID | 是(stdio) |
SUMOLOGIC_ACCESS_KEY | Sumo逻辑访问密钥 | 是(stdio) |
SUMOLOGIC_DEPLOYMENT | 部署区域(us1、us2、eu、au、ca、de、fed、in、jp、kr) | 否(默认值:us1) |
SUMOLOGIC_BASE_URL | 覆盖API基础URL | 否 |
可用工具(共44个)
CSE规则(8个工具)
cse_list_rules--按名称、类型、严重性、启用状态列出/筛选规则cse_get_rule--获取完整的规则详细信息cse_create_rule--创建匹配/阈值/链/聚合/first_seen/异常值规则cse_update_rule--使用合并语义更新规则cse_delete_rule--删除自定义规则cse_export_rule--将规则导出为JSONcse_import_rule--从JSON导入规则cse_duplicate_rule--将规则克隆为禁用原型
CSE规则调整(5个工具)
cse_list_tuning_expressions--列出优化表达式cse_get_tuning_expression--获取调优表达式详细信息cse_create_tuning_expression--创建包含/排除调优表达式cse_update_tuning_expression--更新调优表达式cse_delete_tuning_expression--删除调整表达式
CSE信号(2个工具)
cse_search_signals--使用CSE查询DSL搜索信号cse_get_signal--获取信号详细信息
CSE洞察(5个工具)
cse_search_insights--使用CSE查询DSL搜索见解cse_get_insight--获取洞察细节cse_update_insight_status--通过解决方案关闭/更新洞察力cse_get_insight_comments--获取见解评论cse_add_insight_comment--为见解添加评论
CSE匹配列表(5个工具)
cse_list_match_lists--列出匹配列表cse_get_match_list--获取包含可选项目的匹配列表cse_create_match_list--创建匹配列表cse_add_match_list_items--将项目添加到匹配列表cse_delete_match_list_item--从匹配列表中删除项目
CSE抑制列表(4个工具)
cse_list_suppressed_lists--列表抑制列表cse_create_suppressed_list--创建抑制列表cse_add_suppressed_list_items--添加指标cse_delete_suppressed_list_item--移除指示器
CSE实体(3个工具)
cse_search_entities--搜索实体cse_get_entity--使用活动分数获取实体详细信息cse_tag_entity--向实体添加标签
CIP搜索(3个工具)
cip_run_query--使用自动异步作业管理运行日志搜索查询cip_run_queries--同时运行多个查询(威胁搜索、规则调优、A/B比较)cip_get_query_status--检查正在运行的搜索作业的状态
CIP保存的搜索(5个工具)
cip_list_saved_searches--列出已保存的日志搜索cip_get_saved_search--获取已保存的搜索详细信息cip_create_saved_search--将查询保存到内容库cip_update_saved_search--更新已保存的搜索cip_delete_saved_search--删除已保存的搜索
CIP文件夹(4个工具)
cip_list_folders--列出内容库文件夹cip_get_folder--获取包含孩子的文件夹cip_create_folder--创建文件夹cip_delete_folder--删除文件夹
身份验证模式
模式1:直接API密钥(stdio)
集 SUMOLOGIC_ACCESS_ID 和 SUMOLOGIC_ACCESS_KEY env变量。用于本地开发、MCP Inspector和stdio客户端。
模式2:承载令牌(HTTP,无OAuth)
通过 Authorization: Bearer 头球没有OAuth流——调用者管理凭据。
模式3:OAuth反向代理(HTTP+OAuth)
服务器服务 /.well-known/oauth-protected-resource 根据RFC 9728。客户端使用外部IdP(Okta、Auth0等)进行身份验证,并呈现JWT。服务器验证JWT并从令牌声明中解析Sumo Logic凭据。
建筑
MCP Client → [stdio | Streamable HTTP] → detectops-sumo
↓
Auth Layer (Basic | Bearer | OAuth JWT)
↓
┌─────────┴──────────┐
CSE Client CIP Client + JobManager
(/api/sec/v1/) (/api/v1/, /api/v2/)
└─────────┬──────────┘
Shared Rate Limiter (4 req/s)
↓
Sumo Logic Platform API发展
make build # Build binary
make test # Run tests
make lint # Run go vet
make deps # Tidy dependencies
make docker # Build Docker image许可证
Apache 2.0
