Sentinel Solutions MCP服务器
MCP(模型上下文协议)服务器,用于分析来自任何GitHub存储库的Microsoft Sentinel解决方案,并将数据连接器映射到日志分析表。查询官方Azure Sentinel内容中心或您自己的自定义/私有解决方案存储库。
快速开始
# Use with npx (recommended - instant startup with pre-built index)
npx
# Or install globally
npm install -g sentinel-solutions-mcp添加到克劳德桌面 (claude_desktop_config.json):
{
"mcpServers": {
"sentinel-solutions": {
"command": "npx",
"args": ["sentinel-solutions-mcp"]
}
}
}特性
多存储库支持
查询任何包含Sentinel解决方案的GitHub存储库,而不仅仅是官方的Azure存储库。非常适合:
- 私人/定制解决方案:分析贵组织的私有Sentinel存储库
- 分叉存储库:在贡献之前测试叉子中的更改
- 测试环境:分析开发或暂存分支
- 社区解决方案:探索第三方Sentinel解决方案存储库
性能优化
- 优化的预建索引:带有LLM友好索引(3.8MB,不包括KQL查询)的船舶可立即启动(第一次查询小于1秒)
- 尺寸减小68%:优化后的索引比完整索引小68%,以提高令牌效率
- 直接访问GitHub:使用GitHub API-无需克隆或下载!
- 按需查询:仅在明确需要时从GitHub获取KQL查询
- 零设置:立即生效,无需克隆git存储库或存储
- 始终为最新:直接从GitHub访问最新数据
综合分析
- 内容中心全面覆盖:分析整个Microsoft Sentinel Content Hub存储库
- 15+索引内容类型:预构建索引包括2579个检测、519个工作簿、2463个狩猎查询、696个剧本、895个解析器、51个观察列表、6个函数、105个ASIM项目、16个摘要规则、41个工具等
- 8697总项目:包含480个解决方案和完整连接器表映射的综合索引
- 23个MCP工具:查询所有内容类型,包括解决方案、连接器、检测、工作簿、搜索查询、剧本、解析器、观察列表、笔记本、函数、ASIM内容、摘要规则、工具、教程、仪表板和数据连接器
- 6检测方法:实现原始Python工具中的所有表检测策略:
- graphQueries。{index}.baseQuery - 示例查询。{index}.query - 数据类型。{index}.lastDataReceivedQuery - 连通性标准。{index}.value - ARM模板logAnalyticsTableId变量 - 具有循环防止功能的解析器解析
- 宽容的解析:具有回退策略的多阶段JSON解析
- KQL查询分析:上下文感知Kusto查询语言解析器
- YAML解析器解析:具有深度限制的递归解析器到表映射
安装与使用
# Run with npx (recommended)
npx sentinel-solutions-mcp
# Or install globally
npm install -g sentinel-solutions-mcpClaude桌面配置:
{
"mcpServers": {
"sentinel-solutions": {
"command": "npx",
"args": ["sentinel-solutions-mcp"]
}
}
}有关详细的使用说明、配置选项和示例,请参阅 用法.md.
可用工具
MCP服务器提供23个工具用于查询Microsoft Sentinel内容:
解决方案和连接器分析(6个工具)
analyze_solutions-使用连接器表映射对所有解决方案进行全面分析get_connector_tables-获取特定连接器的日志分析表search_solutions-按名称、发布者或支持级别搜索解决方案get_solution_details-关于特定解决方案的全面细节list_tables-列出所有日志分析表(全部/自定义/标准)validate_connector-验证连接器JSON并提取表
内容分析(17个工具)
list_detections/get_detection_details-MITRE ATT&CK映射的检测规则list_workbooks/get_workbook_details-工作簿和可视化list_hunting_queries-威胁搜索查询list_playbooks-自动化剧本(逻辑应用程序)list_parsers-KQL解析器和函数list_watchlists-观察名单定义list_notebooks-Jupyter笔记本list_exploration_queries-探索查询list_functions-保存的KQL函数list_asim_content-ASIM(高级安全信息模型)内容list_summary_rules-摘要规则list_tools-Sentinel工具和实用程序list_tutorials-学习资源和教程list_dashboards-Sentinel仪表板list_data_connectors-数据连接器定义
所有工具都支持按解决方案进行过滤,并通过预先构建的索引或实时GitHub API查询自定义/私有存储库。看 用法.md 查看详细的文档和示例。
运作原理
服务器提供对Microsoft Sentinel Content Hub的即时访问:
- 优化的预建索引:附带LLM友好的3.8MB索引,其中包含Azure Sentinel存储库中的所有8697+个项目
- 代币高效:从索引中排除KQL查询(大小减少68%),以获得更好的LLM性能
- 即时查询:第一个查询使用预构建的索引在\<1秒内返回结果
- 按需查询:仅当显式请求时,才从GitHub API提取KQL查询
- GitHub API访问:通过GitHub API对自定义存储库或最新更新进行可选实时查询
- 智能缓存:存储库缓存的结果提交SHA以获得最佳性能
- 多存储库支持:查询任何包含Sentinel解决方案的GitHub存储库
分析器使用6种复杂的检测方法从连接器定义中识别日志分析表,包括KQL查询解析、ARM模板分析和递归解析器解析。看 用法.md 了解技术细节。
建筑
使用TypeScript和模型上下文协议SDK构建:
- MCP服务器:基于Stdio的AI代理集成通信
- 内容分析器:解析GitHub存储库中的所有Sentinel内容类型
- 优化的预建索引:3.8MB LLM友好的JSON索引,包含8697+个随包附带的项目
- 代币效率:从索引中排除KQL查询,以减少68%的大小
- GitHub客户端:通过智能缓存和速率限制处理直接访问API
- 类型安全:所有内容类型的完整TypeScript定义
演出
- 预置索引:使用软件包附带的预构建分析进行即时首次查询(\<1秒)
- 智能缓存:存储库提交哈希缓存的分析结果和文件内容
- 并行请求:同时获取多个文件
- 无下载:零初始下载时间-立即开始
- 自动刷新:通过GitHub Actions每周自动更新索引
- 典型性能:
- 默认回购(带预构建索引):\<1秒 - 自定义仓库(新鲜分析):在约30-60秒内分析100多个解决方案 - 后续查询:即时(缓存)
与Python版本的比较
此TypeScript实现提供:
- 特征奇偶校验:实施了所有6种检测方法
- 同样的逻辑:匹配解析和解析算法
- MCP集成:通过AI代理的模型上下文协议公开
- 多存储库:分析任何GitHub仓库,而不仅仅是官方Azure仓库
- 预置索引:即时启动(\<1s)与每次完全分析相比
- GitHub API访问:无克隆、无存储、即时启动
- 更好的分配:可通过npx运行,不依赖Python或Git
- 类型安全:完整的TypeScript类型定义
- 自动更新:通过GitHub Actions每周刷新索引
故障排除
GitHub API速率限制:预构建的索引在大多数情况下消除了对GitHub API访问的需要。对于自定义存储库或实时更新,请使用GitHub令牌:
export MCP_GITHUB_TOKEN=your_token_here自定义存储库:通过环境变量或工具参数进行配置。看 用法.md 了解详情。
演出:预先构建的索引提供即时结果(\<1s)。自定义存储库分析第一次查询需要30-60秒,然后缓存。
发展
npm install # Install dependencies
npm run build # Build TypeScript + pre-built index
npm run dev # Run in development mode
npm test # Verify index loads correctly贡献
欢迎投稿!该项目在添加MCP集成的同时,保持了与Microsoft Sentinel Solutions Analyzer Python工具的功能对等。
许可证
麻省理工学院
鸣谢
基于微软Sentinel解决方案分析器Python工具 Azure哨兵 存储库。
