Token导航 LogoToken导航TokenDH.com
Ms Sentinel MCP Server logo
安全风控stdio官方级别未说明来源级核验

Ms Sentinel MCP Server

MCP Server

Microsoft Sentinel的模型上下文协议服务器,提供对Sentinel实例的只读访问,包括高级查询、事件查看和资源探索功能,适用于测试环境的安全操作和分析。

工具数

0

提示词数

0

GitHub Stars

18

资源数

0
安全分析PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dstreefkerk

提供方

dstreefkerk

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python wrapper.py --sse

详细介绍

![Verified on MseeP](https://mseep.ai/app/cd962876-444b-4626-b533-9d75e45053e0)

Microsoft Sentinel MCP 服务器

A. 模型上下文协议 (MCP) 服务器用于 Microsoft Sentinel。此服务器提供对 Microsoft Sentinel 实例的只读访问权限,包括高级查询、事件查看以及 Azure Sentinel 环境的资源探索。它为仅用于观察的安全操作和分析提供了一个模块化且可扩展的平台。

微软现已发布了他们自己的Sentinel MCP。点击此处查看: https://learn.microsoft.com/en-us/azure/sentinel/datalake/sentinel-mcp-get-started?tabs=visual-studio 的中文翻译可以是:“Microsoft Learn 上的 Azure Sentinel 数据湖入门指南(适用于 Visual Studio)”

______________________________________________________________________

⚠️ 重要安全通知 ⚠️

仅限测试环境使用此Microsoft Sentinel MCP服务器仅支持只读操作,且专为测试环境设计。它不打算连接到生产环境的Sentinel实例。

隐私警告将此服务器连接到生产环境的 Microsoft Entra ID(Azure AD)或 Sentinel 环境,可能会使敏感的用户和目录数据暴露给大型语言模型(LLM)操作员或公开的大型语言模型。请仅在非生产/测试租户中使用,或使用支持 MCP 的私有大型语言模型。

安全警告将生产环境中的 Microsoft Sentinel 实例连接到公共大型语言模型(LLM)会带来重大的隐私和安全风险。请仅在私有且安全的环境中进行生产环境的安全操作。

______________________________________________________________________

✨ 特点

  • KQL 查询执行运行并验证KQL查询,使用模拟数据进行测试
  • 日志分析管理工作区信息、表列表和模式
  • 安全事件列出并查看详细的事件信息
  • 分析规则按MITRE战术/技术列出、查看和分析
  • 规则模板通过MITRE框架访问并分析模板
  • “Hunting Queries”可以翻译为“搜索查询”或“追踪查询”,具体取决于上下文和使用场景。在数据库或信息检索领域,它可能指的是对特定信息进行主动搜索或追踪的过程列出、查看详细信息并按策略分析
  • 数据连接器列出并查看连接器详细信息
  • 监控名单管理观察名单及其条目
  • 威胁情报域名WHOIS查询和IP地理位置查询
  • 元数据与源代码控制列出并查看仓库详情
  • 机器学习分析(或简称:机器学习分析服务/机器学习分析技术)访问机器学习分析设置
  • 授权查看RBAC角色分配
  • 进入用户与组ID管理查看来自 Microsoft Entra ID 的用户和组详细信息

______________________________________________________________________

🚀 快速入门

1. 使用 Azure CLI 进行身份验证

在使用MCP服务器之前,您必须使用一个有权访问Microsoft Sentinel工作区的帐户对Azure进行身份验证:

az login

2. 克隆仓库

git clone https://github.com/dstreefkerk/ms-sentinel-mcp-server.git
cd ms-sentinel-mcp-server

3. 使用 PowerShell 脚本进行安装(推荐)

使用提供的 PowerShell 安装脚本来设置 MCP 服务器:

# Run from the repository root directory
.\install.ps1

该脚本将:

  • 检查Python安装情况
  • 创建一个虚拟环境并安装依赖项
  • 生成一个Claude桌面配置文件
  • 将配置复制到剪贴板

运行脚本后,您可以直接将配置粘贴到您的MCP客户端(如Claude Desktop、Cursor等)中。

4. 使用MCP服务器

在您使用相关工作区信息配置好MCP客户端配置后,MCP服务器即可投入使用。

只需记住,如果你正在使用 Azure CLI 认证,你需要移除 AZURE_CLIENT_ID 并且 AZURE_CLIENT_SECRET 来自您的MCP客户端配置。

______________________________________________________________________

📚 文档

快速入门指南

详细指南

______________________________________________________________________

🧰 工具参考

以下是可用的工具。如需完整文档,请参阅 resources/tool_docs/ 目录。工具名称和描述与MCP服务器的工具注册表保持同步,以便MCP客户端可以检索它们。

| 工具 | 类别 | 描述 | |-------------------------------------------|-------------------|------------------------------------------------------------------| | entra_id_list_users | Entra ID | 列出 Microsoft Entra ID(Azure AD)中的所有用户 | | entra_id_get_user | Entra ID | 通过UPN或对象ID从Entra ID获取用户信息 | | entra_id_list_groups | Entra ID(原Azure AD) | 列出Microsoft Entra ID(Azure AD)中的所有组 | | entra_id_get_group | Entra ID | 通过对象ID从Entra ID获取组 | | sentinel_logs_search | KQL(Kusto 查询语言) | 在 Azure Monitor 日志中运行 KQL 查询 | | sentinel_query_validate | KQL | 在本地验证 KQL 查询语法 | | sentinel_logs_search_with_dummy_data | KQL | 使用模拟数据测试 KQL 查询 | | sentinel_logs_tables_list | Log Analytics(日志分析) | 列出日志分析工作区中的可用表 | | sentinel_logs_table_details_get | Log Analytics(日志分析) | 获取日志分析表的详细信息 | | sentinel_logs_table_schema_get | Log Analytics(日志分析) | 获取日志分析表的架构 | | sentinel_workspace_get | Log Analytics(日志分析) | 获取工作区信息 | | sentinel_incident_details_get | 事件 | 获取有关特定 Sentinel 事件的详细信息 | | sentinel_incident_list | 事件 | 在 Microsoft Sentinel 中列出安全事件 | | sentinel_analytics_rule_list | 分析规则 | 列出所有分析规则及其关键字段 | | sentinel_analytics_rule_get | 分析规则 | 获取特定分析规则的详细信息 | | sentinel_analytics_rules_count_by_tactic| 分析规则 | 按策略统计Sentinel分析规则 | | sentinel_analytics_rules_count_by_technique | 分析规则 | 按MITRE技术统计Sentinel分析规则 | | sentinel_analytics_rule_templates_list | 规则模板 | 列出所有 Sentinel 分析规则模板 | | sentinel_analytics_rule_template_get | 规则模板 | 获取特定的Sentinel分析规则模板 | | sentinel_analytics_rule_templates_count_by_tactic | 规则模板 | 按战术分类统计Sentinel分析规则模板 | | sentinel_analytics_rule_templates_count_by_technique | 规则模板 | 按MITRE技术分类统计Sentinel分析规则模板 | | sentinel_hunting_queries_list | 搜索(Hunting) | 列出所有Sentinel搜索查询,并可选择性过滤 | | sentinel_hunting_query_get | 搜索(Hunting) | 通过名称或ID获取Sentinel搜索查询的完整详细信息 | | sentinel_hunting_queries_count_by_tactic| 搜索(Hunting) | 按策略统计Sentinel的搜索查询数量 | | sentinel_connectors_list | 数据连接器 | 列出数据连接器 | | sentinel_connectors_get | 数据连接器 | 通过ID获取特定的数据连接器 | | sentinel_watchlists_list | 监控列表 | 列出所有Sentinel监控列表 | | sentinel_watchlist_get | 观察名单 | 获取特定的Sentinel观察名单 | | sentinel_watchlist_items_list | 监控列表 | 列出 Sentinel 监控列表中的所有项目 | | sentinel_watchlist_item_get | 监控列表 | 从Sentinel监控列表中获取特定项目 | | sentinel_domain_whois_get | 威胁情报 | 获取域名的WHOIS信息 | | sentinel_ip_geodata_get | 威胁情报 | 获取IP地址的地理位置数据 | | sentinel_metadata_list | 元数据 | 列出当前工作区中的所有 Sentinel 元数据 | | sentinel_metadata_get | 元数据 | 通过ID获取特定Sentinel元数据的详细信息 | | sentinel_source_controls_list | 源代码控制 | 列出当前工作区中的所有 Sentinel 源代码控制项 | | sentinel_source_control_get | 源代码控制 | 通过ID获取特定Sentinel源代码控制的详细信息 | | sentinel_ml_analytics_settings_list | ML Analytics(机器学习分析) | 列出所有 Sentinel 机器学习分析设置 | | sentinel_ml_analytics_setting_get | ML Analytics(机器学习分析) | 通过名称获取特定的Sentinel机器学习分析设置 | | sentinel_authorization_summary | 授权 | 汇总Sentinel访问的Azure RBAC角色分配 | | log_analytics_saved_searches_list | 保存的搜索 | 列出日志分析工作区中的所有保存搜索 | | log_analytics_saved_search_get | 保存的搜索 | 从 Log Analytics 工作区获取特定的保存搜索 |

🛠️ 使用方法

在Claude Desktop或类似环境中安装

使用提供的PowerShell安装脚本来为Claude Desktop或其他兼容MCP的客户端设置MCP服务器:

# Run from the repository root directory
.\install.ps1

该脚本将:

  1. 检查Python安装情况
  2. 创建一个虚拟环境并安装依赖项
  3. 执行安装后步骤
  4. 生成一个Claude桌面配置文件
  5. 将配置复制到剪贴板

运行脚本后,您可以直接将配置粘贴到您的MCP客户端(如Claude Desktop、Cursor等)中。该脚本生成的是与Claude兼容的MCP服务器配置。如果您打算使用不同的MCP客户端,请记住这一点。

高级安装选项

手动环境设置

如果您更倾向于手动设置环境:

  1. 配置环境变量

复制提供的模板并填写您的Azure凭据:

   cp .env.example .env
   # Edit .env and set:
   # AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_WORKSPACE_NAME, AZURE_WORKSPACE_ID
  1. 安装依赖项(使用 uv)
   uv venv
   uv pip install -e .
  1. 备用服务器运行选项

使用MCP CLI:

   mcp run wrapper.py

开发与热重载:

   mcp dev wrapper.py

SSE 模式(适用于集成开发环境):

   python wrapper.py --sse

检查器用户界面

在开发模式下运行时,MCP Inspector 用户界面可通过 http://127.0.0.1:6274 访问mcp dev wrapper.py)。

______________________________________________________________________

🧩 开发

  • 资源: 将Python文件添加到 resources/ 并实施一个 register_resources(mcp) 功能。
  • 工具: 将Python文件添加到 tools/ 并实施一个 register_tools(mcp) 功能。工具必须遵循在(某处)定义的结构 docs/tool-architecture-and-implementation-requirements.md
  • 提示: 添加提示模板到 prompts/ 用于大型语言模型(LLM)驱动的工作流程。

所有组件均在 resources/tools/,以及 prompts/ 目录在服务器启动时会自动发现并注册。无需手动导入。

______________________________________________________________________

🔐 认证与环境变量

MCP服务器支持Azure Python SDK所支持的任何身份验证方法 DefaultAzureCredential.

使用服务主体身份验证,而非 Azure CLI

在Azure中设置应用程序注册,并分配以下角色:

  • Log Analytics Reader
  • Microsoft Sentinel Reader

如果你觉得勇敢,你也可以授予应用程序注册以下 Microsoft Graph 权限:

  • User.Read.All
  • Group.Read.All

然后,在您的(程序/脚本/环境中)使用以下环境变量: .env 文件或MCP服务器配置:

  • AZURE_TENANT_ID
  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_SUBSCRIPTION_ID
  • AZURE_RESOURCE_GROUP
  • AZURE_WORKSPACE_NAME
  • AZURE_WORKSPACE_ID

.env.example 用于模板。

Azure CLI 认证

az login

如果你使用 Azure CLI 认证,可以省略 AZURE_CLIENT_SECRETAZURE_CLIENT_ID 来自你的配置。

______________________________________________________________________

🐛 调试

通过设置启用调试模式 MCP_DEBUG_LOG 环境变量到 true 在你的 .env 文件:

MCP_DEBUG_LOG=true

日志被写入您的临时目录,格式为 sentinel_mcp_server.log

______________________________________________________________________

📄 许可证

这个项目遵循以下许可协议: 麻省理工学院许可证

目录标签

目录标签

安全分析PythonClaude本地部署日志查询威胁检测只读访问测试环境

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP