Token导航 LogoToken导航TokenDH.com
MCP Add Comment To Sentinel Incident logo
安全风控未说明官方级别未说明来源级核验

MCP Add Comment To Sentinel Incident

MCP Server

该工具通过Azure Logic App和MCP Server实现向Microsoft Sentinel事件添加评论的功能,适用于需要安全认证和本地MCP服务器集成的环境。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptVS Code安全VS Code

安装说明

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

作者 / 组织

stefanpems

提供方

stefanpems

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

向Sentinel事件添加评论

此解决方案允许通过MCP工具向Microsoft Sentinel事件添加注释。它由两个部分组成:

  1. Azure逻辑应用程序 -通过安全身份验证处理Sentinel API交互
  2. MCP 服务器 -将该功能作为VS Code Copilot的MCP工具公开

何时使用此解决方案

该解决方案专为以下环境而设计:

  • Azure Logic应用程序必须使用 消费 托管模型
  • Azure API管理(APIM) 无法部署
  • 没有其他托管的MCP服务器网关可用

替代方法

如果这些约束不适用于您的环境,请考虑以下更简单的替代方案:

备选方案描述
Azure逻辑应用程序(标准)具有HTTP触发器的标准逻辑应用程序可以直接作为MCP服务器公开,而不需要单独的本地MCP服务器组件
Azure API管理APIM可以将任何API(包括Logic App端点)公开为MCP服务器,提供集中管理和附加功能

如果您可以使用这些替代方案中的任何一个,则无需在此解决方案中使用本地Node.js MCP服务器组件。

建筑

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   VS Code   │────▶│ MCP Server  │────▶│  Logic App  │────▶│  Sentinel   │
│   Copilot   │     │  (local)    │     │  (Azure)    │     │    API      │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘
                          │
                    Uses webhook URL
                    from env variable

______________________________________________________________________

第1部分:逻辑应用程序

Logic应用程序 Sentinel-Incident-Add-Comment 提供了一个安全的HTTPS端点,该端点接收Defender事件ID和消息,通过日志分析查询查找相应的Sentinel事件,然后通过HTTP直接调用Sentinel REST API添加注释。

逻辑应用程序部署

步骤1:部署ARM模板

Azure命令行界面:

# Set variables
RESOURCE_GROUP="Sentinel-Incident-Add-Comment-rg"
SENTINEL_RG="your-sentinel-resource-group"
SENTINEL_WORKSPACE="your-sentinel-workspace"
LOCATION="eastus"

# Create resource group (if needed)
az group create --name $RESOURCE_GROUP --location $LOCATION

# Deploy the Logic App
az deployment group create \
  --resource-group $RESOURCE_GROUP \
  --template-file infra/Sentinel-Incident-Add-Comment.json \
  --parameters resourceGroupName=$SENTINEL_RG workspaceName=$SENTINEL_WORKSPACE

PowerShell:

$ResourceGroup = "Sentinel-Incident-Add-Comment-rg"
$SentinelRG = "your-sentinel-resource-group"
$SentinelWorkspace = "your-sentinel-workspace"
$Location = "eastus"

# Create resource group (if needed)
New-AzResourceGroup -Name $ResourceGroup -Location $Location

# Deploy the Logic App
New-AzResourceGroupDeployment `
  -ResourceGroupName $ResourceGroup `
  -TemplateFile "infra\Sentinel-Incident-Add-Comment.json" `
  -resourceGroupName $SentinelRG `
  -workspaceName $SentinelWorkspace

步骤2:分配权限

Logic应用程序的托管身份需求 Microsoft Sentinel响应程序 角色:

# Get the Logic App's Principal ID
PRINCIPAL_ID=$(az logic workflow show -g $RESOURCE_GROUP -n "Sentinel-Incident-Add-Comment" --query identity.principalId -o tsv)

# Assign Sentinel Responder role
az role assignment create \
  --assignee $PRINCIPAL_ID \
  --role "Microsoft Sentinel Responder" \
  --scope "/subscriptions//resourceGroups/$SENTINEL_RG/providers/Microsoft.OperationalInsights/workspaces/$SENTINEL_WORKSPACE"

步骤3:获取Webhook URL

部署和配置后,检索webhook URL:

Azure门户:

  1. 打开Logic应用程序
  2. 点击 “收到HTTP请求时” 触发
  3. 复制 HTTP帖子URL

Azure命令行界面:

az rest --method post \
  --uri "https://management.azure.com/subscriptions//resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Logic/workflows/Sentinel-Incident-Add-Comment/triggers/When_a_HTTP_request_is_received/listCallbackUrl?api-version=2016-06-01" \
  --query value -o tsv

______________________________________________________________________

第2部分:MCP服务器

MCP服务器公开 add_comment_to_sentinel_incident 安全调用Logic App webhook的工具。

MCP服务器部署

步骤1:安装依赖项

npm install

步骤2:构建服务器

npm run build

步骤3:配置VS代码

添加到您的VS代码 settings.json 或工作区设置:

{
  "mcp.servers": {
    "sentinel-incident-comment": {
      "command": "node",
      "args": ["c:/gh/mcp-add-comment-to-sentinel-incident/dist/index.js", "--stdio"],
      "env": {
        "SENTINEL_COMMENT_WEBHOOK_URL": ""
      }
    }
  }
}

替换 `` 使用第1部分步骤3中获得的webhook URL。

MCP工具使用

工具: add_comment_to_sentinel_incident

为Microsoft Sentinel事件添加评论。

参数:

参数类型必填说明
incidentIdstringSentinel事件ID(例如“12345”)
messagestring注释文本(纯文本或HTML)

从GitHub Copilot调用(自然语言)

配置完MCP服务器后,您可以使用自然语言从GitHub Copilot Chat调用它。以下是一些示例:

简单评论:

“在Sentinel事件12345中添加一条评论,称调查已完成,未发现任何恶意活动”

详细调查总结:

“在事件2847中添加以下发现:用户确认这是合法活动,源IP属于我们的企业VPN,没有检测到任何泄露迹象。建议关闭为假阳性。”

HTML格式的注释:

“为事件5123添加一条HTML格式的评论,标题为‘AI分析结果’、发现项目列表和粗体推荐部分”

GitHub Copilot将自动调用 add_comment_to_sentinel_incident 工具具有适当的参数。

程序化使用(无MCP服务器)

有关直接对Logic App的编程访问(例如,从脚本、自动化管道或其他应用程序),请参阅 逻辑应用程序自述 其中包括使用curl、PowerShell和Python的示例。

响应

成功:

{
  "status": "success",
  "message": "Comment added to incident 12345",
  "incidentId": "12345"
}

错误:

{
  "status": "error",
  "message": "Failed to add comment to incident",
  "incidentId": "12345",
  "error": { ... }
}

______________________________________________________________________

安全注意事项

  1. Webhook URL保护:逻辑应用程序webhook URL包含SAS签名。把它当作秘密。
  2. 环境变量:切勿将webhook URL提交到源代码管理。
  3. 访问控制:Logic应用程序的托管身份控制对Sentinel的访问。确保正确的RBAC。

故障排除

问题解决方案
“SENTINEL_COMMENT_WEBHOOK_URL未设置”在VS代码MCP设置中设置环境变量
401未经授权验证逻辑应用程序的托管身份是否配置正确
403禁止验证逻辑应用程序的托管身份是否具有“Microsoft Sentinel响应程序”角色
404 Not Found检查事件ID是否存在于Sentinel工作区中
连接超时验证与Azure Logic Apps的网络连接

相关资源

目录标签

目录标签

TypeScriptVS Code安全安全事件管理本地部署自动化工具MicrosoftSentinelAzureLogicAppMCP工具

支持客户端

VS Code

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP