Token导航 LogoToken导航TokenDH.com
Response MCP (Markolauren) logo
安全风控未说明官方级别未说明来源级核验

Response MCP (Markolauren)

MCP Server

一个模型上下文协议(MCP)服务器,通过与VS Code和GitHub Copilot等编排器集成,实现基于自然语言的自动化安全运营响应操作,包括设备隔离、反病毒扫描和事件管理等功能。

工具数

23

提示词数

0

GitHub Stars

19

资源数

0
PythonVS Code安全VS Code

安装说明

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

作者 / 组织

markolauren

提供方

markolauren

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

响应MCP服务器

一个模型上下文协议(MCP)服务器,它使用GitHub Copilot的VS Code等编排器来执行Microsoft Defender XDR响应操作,从而启用代理SecOps。部署到Azure容器应用程序,以实现安全、经过身份验证的基于云的访问。

概述

此MCP服务器公开了Microsoft Defender XDR功能,作为代理SecOps工作流的工具。安全分析师通过GitHub Copilot等编排器使用自然语言来管理事件、隔离受感染的设备、运行防病毒扫描、收集取证包和执行事件响应操作。

与Sentinel MCP协同工作

此响应MCP服务器与 哨兵MCP服务器 提供完整的代理SecOps工作流程:

  • 哨兵MCP:数据探索和威胁分类

- 使用KQL查询安全日志 - 调查警报并运行搜索查询 - 分析攻击模式和指标 - 实体分析

  • 响应MCP (此服务器):事件响应和补救

- 执行设备响应操作(隔离、限制、隔离) - 采取身份响应操作(禁用帐户、重置密码) - 管理事件(分类、分配、评论)

它们共同实现了端到端的事件响应:从检测和分类到遏制和补救,所有这些都通过自然语言交互和代理编排。

交互示例:

  • “检查设备WORKSTATION-01的状态”
  • “立即隔离受损的笔记本电脑”
  • “在服务器上运行完整的防病毒扫描”
  • “显示此设备上最近的响应操作”

建筑

┌─────────────────┐                ┌──────────────────────┐
│   VS Code +     │────SSE────────▶│  Azure Container App │
│  GitHub Copilot │  X-API-Key     │  (Response MCP)      │
└─────────────────┘  Authentication└──────────────────────┘
                                             │
                                             │ Client Credentials
                                             │ (Service Principal)
                                             │
                         ┌───────────────────┴───────────────────┐
                         ▼                                       ▼
          ┌─────────────────────────────┐     ┌─────────────────────────────┐
          │  Microsoft Defender         │     │  Microsoft Graph API        │
          │  for Endpoint               │     │  - Incident management      │
          │  - Device response actions  │     │  - Identity actions (MDI)   │
          │  - Investigation packages   │     └─────────────────────────────┘
          └─────────────────────────────┘

SSE(服务器发送事件): 一种维护持久HTTP连接的web标准,允许MCP服务器将实时响应流式传输回AI助手。

可用工具

设备响应操作(端点防御器)

工具说明
echo测试服务器连接
get_machine_by_name按主机名查找设备
get_machine_actions列出响应操作历史记录
isolate_device将设备与网络隔离
release_device释放隔离装置
run_antivirus_scan启动快速或完整AV扫描
stop_and_quarantine停止进程和隔离文件
restrict_code_execution阻止未签名的应用程序
remove_code_restriction删除代码限制
collect_investigation_package收集法医数据
get_investigation_package_uri获取调查包的下载URL
isolate_multiple批量隔离多个设备

身份响应行动(身份和入境者ID的防御者)

工具描述提供者
disable_ad_account禁用Active Directory帐户Active Directory
enable_ad_account重新启用Active Directory帐户Active Directory
force_ad_password_reset强制用户在下次登录时更改密码Active Directory
revoke_entra_sessions撤销所有Entra ID会话并刷新令牌Entra ID
confirm_user_compromised将用户标记为身份保护已受损Entra ID
confirm_user_safe在身份保护中消除用户风险(标记为安全)Entra ID

事件管理

工具说明
update_incident_status将事件标记为活动/已解决
assign_incident将事件分配给分析师
classify_incident设置分类(TP/FP)和确定
add_incident_tags添加自定义标签进行分类
add_incident_comment添加调查意见

先决条件

1.参赛者ID应用程序注册

步骤:

  1. 导航到 Azure门户 > Entra ID > 应用程序注册 > 新注册

- 姓名: Response MCP Server (或您喜欢的名字) - 支持的帐户类型: 仅此组织目录中的帐户 - 点击 注册

  1. 保存这些值 (部署所需):

- 应用程序(客户端)ID - 目录(租户)ID

  1. 创建 客户端密钥:

- 首选 证书和秘密 > 新客户机密 - 说明: Response MCP Secret - 到期:选择到期期限(例如,12个月) - 点击 添加 - 立即复制机密值 (仅显示一次)

  1. 添加 API权限:

- 首选 API权限 > 添加权限 - 添加下面列出的权限 - 授予管理员同意 对于所有权限

必需的权限

WindowsDefenderATP(端点防御器)

权限类型描述
Machine.ReadWrite.All应用程序读取机器操作并获取调查包URI
Machine.Isolate应用隔离/释放机器
Machine.Scan应用程序运行防病毒扫描
Machine.StopAndQuarantine应用程序停止和隔离文件
Machine.RestrictExecution应用程序限制/取消限制代码执行
Machine.CollectForensics申请收集调查包

Microsoft Graph API

权限类型描述
SecurityAlert.ReadWrite.All应用程序读取和更新安全警报
SecurityIdentitiesAccount.Read.All应用程序从MDI读取身份帐户
SecurityIdentitiesActions.ReadWrite.All应用程序对身份帐户调用操作
SecurityIncident.ReadWrite.All应用程序读取和更新安全事件
User.Read.All应用程序将UPN解析为用户ID
User.RevokeSessions.All应用程序撤消用户会话
IdentityRiskyUser.ReadWrite.All应用程序在身份保护中将用户标记为已泄露

2.Azure订阅

用于部署到Azure容器应用程序。

Azure基础架构:

┌─────────────────────────────────────────────────────────────┐
│  Resource Group: response-mcp-rg                            │
│                                                             │
│  ┌────────────────────────────────────────────────────┐     │
│  │  Container Apps Environment                        │     │
│  │  - Managed Kubernetes infrastructure               │     │
│  │  - Auto-scaling (min: 0, max: 3 replicas)          │     │
│  │                                                    │     │
│  │  ┌──────────────────────────────────────────┐      │     │
│  │  │  Container App: response-mcp             │      │     │
│  │  │  - SSE endpoint on port 8000             │      │     │
│  │  │  - API key authentication                │      │     │
│  │  │  - Environment secrets (Defender creds)  │      │     │
│  │  │  - HTTPS ingress                         │      │     │
│  │  └──────────────────────────────────────────┘      │     │
│  │                                                    │     │
│  └────────────────────────────────────────────────────┘     │
│                                                             │
│  ┌────────────────────────────────────────────────────┐     │
│  │  Azure Container Registry (Basic)                  │     │
│  │  - Stores Docker images                            │     │
│  │  - ACR Tasks for cloud builds                      │     │
│  └────────────────────────────────────────────────────┘     │
│                                                             │
│  ┌────────────────────────────────────────────────────┐     │
│  │  Log Analytics Workspace                           │     │
│  │  - Container App logs                              │     │
│  │  - Request/response tracing                        │     │
│  │  - 30-day retention                                │     │
│  └────────────────────────────────────────────────────┘     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

部署到Azure容器应用程序

先决条件

  • Azure命令行界面 (v2.20.0+)- 安装winget install Microsoft.AzureCLI
  • Bicep -包含在Azure CLI中,使用进行升级 az bicep upgrade 如有需要
  • 已验证 -快跑 az login 部署前
  • Entra ID应用程序注册 具有所需的API权限(请参阅上面的“先决条件”部分)
  • Azure订阅 具有创建资源的权限

步骤1:部署基础设施(一次性设置)

部署Azure基础架构(容器注册表、日志分析、容器应用程序环境):

.\infra\deploy-infrastructure.ps1 `
  -ResourceGroup "response-mcp-rg" `
  -Location "westeurope" `
  -DefenderClientId "your-app-client-id" `
  -DefenderClientSecret (ConvertTo-SecureString "your-client-secret" -AsPlainText -Force) `
  -DefenderTenantId "your-tenant-id"

发生了什么:

  • 创建资源组、Azure容器注册表、日志分析工作区
  • 部署具有托管环境和自动扩展功能的容器应用程序
  • 自动生成MCP API密钥 并将其配置为机密
  • 输出SSE端点URL和 显示API密钥 (保存它-不会再显示!)

可选: 提供您自己的API密钥:

-McpApiKey (ConvertTo-SecureString "your-custom-api-key" -AsPlainText -Force)

步骤2:构建和部署容器

构建Docker镜像并将其部署到容器应用程序:

.\infra\deploy-container.ps1 -ResourceGroup "response-mcp-rg"

发生了什么:

  • 在Azure容器注册表中构建Docker镜像 (云构建-不需要本地Docker)
  • 将源代码上传到Azure
  • 在Azure基础架构上构建容器映像
  • 创建带有时间戳的新修订版
  • 更新容器应用程序并激活新版本

注: Docker Desktop不是必需的——构建完全在Azure中使用ACR任务进行。

后续更新: 只需再次运行步骤2即可部署代码更改。

步骤3:配置VS代码

添加到MCP设置中:

{
  "mcpServers": {
    "response-mcp": {
      "type": "sse",
      "url": "https://your-app.azurecontainerapps.io/sse",
      "headers": {
        "X-API-Key": ""
      }
    }
  }
}

将URL和API键替换为步骤1输出中的值。

安全强化:IP允许列表(推荐)

限制从特定IP地址访问您的容器应用程序:

允许单个IP:

az containerapp ingress access-restriction set `
  --name  `
  --resource-group response-mcp-rg `
  --rule-name "AllowMyIP" `
  --action Allow `
  --ip-address "203.0.113.42/32" `
  --description "My workstation"

允许多个IP或范围:

# Add office network
az containerapp ingress access-restriction set `
  --name  `
  --resource-group response-mcp-rg `
  --rule-name "AllowOffice" `
  --action Allow `
  --ip-address "203.0.113.0/24" `
  --description "Office network"

# Add VPN endpoint
az containerapp ingress access-restriction set `
  --name  `
  --resource-group response-mcp-rg `
  --rule-name "AllowVPN" `
  --action Allow `
  --ip-address "198.51.100.10/32" `
  --description "VPN gateway"

列出当前规则:

az containerapp ingress access-restriction list `
  --name  `
  --resource-group response-mcp-rg `
  -o table

删除规则:

az containerapp ingress access-restriction remove `
  --name  `
  --resource-group response-mcp-rg `
  --rule-name "AllowMyIP"

注: 按顺序评估IP限制。确保在删除不受限制的访问之前,不要将自己锁定在允许的IP上进行测试。

安全考虑

保护
传输HTTPS/TLS加密
身份验证中的API密钥 X-API-Key 头球
网络容器应用程序上的IP分配列表(标准)
网络(高级)ExpressRoute集成+专用链接/VPN(可选)
机密存储在Azure容器应用程序机密中
Defender API具有最低权限的服务主体

标准安全(当前部署):

  • 具有IP分配限制的公共端点
  • API密钥验证
  • HTTPS/TLS加密
  • 适用于大多数组织

高级安全(ExpressRoute部署):

对于需要专用网络访问权限的组织,请将容器应用程序部署到ExpressRoute中:

优点:

  • 仅限私人访问(不公开互联网)
  • 通过VPN网关、ExpressRoute或Azure Bastion访问
  • 网络安全组(NSG)和防火墙规则
  • 遵守严格的网络隔离政策

要求:

  • 为容器应用程序自定义具有委派子网的ExpressRoute
  • VPN网关(约140美元/月)或ExpressRoute用于远程访问
  • 具有ExpressRoute集成的容器应用程序环境(internal: true)
  • 更高的基本成本(工作量概况约为每月200美元以上)

何时使用:

  • 公司政策要求所有流量都通过VPN/ExpressRoute
  • 不允许使用公共互联网端点
  • 需要访问私有Azure服务(具有私有终结点的SQL数据库)
  • 合规要求强制要求网络隔离

不建议在以下情况下使用:

  • 从单个分析师工作站访问(IP分配列表更简单)
  • 对成本敏感的环境
  • 标准互联网连接是可以接受的

Azure容器应用程序ExpressRoute集成 了解实施细节。

建议:

  • 定期旋转API键
  • 在生产环境中使用IP分配(最简单)
  • 仅在策略/合规性要求时才考虑进行ExpressRoute部署
  • 监控容器应用程序日志以查找可疑活动
  • 仅授予所需的Defender API权限
  • 定期轮换客户端机密
  • 永远不要将API密钥提交到源代码管理

成本估算

预计每月Azure成本: 约12-18美元/月 用于典型用途(很少有分析师,仅限工作时间)。可扩展到零,以最大限度地降低闲置成本。全天候运营(每月约30-40美元)或更高的日志保留率会增加成本。

故障排除

连接被拒绝:

  • 检查容器应用程序是否正在运行: az containerapp show --name your-app -g your-rg
  • 验证与Azure的网络连接

401未经授权:

  • 验证您的API密钥是否正确
  • 检查 X-API-Key 正在发送标头
  • 确保 MCP_API_KEY 在容器应用程序环境中设置

Defender API错误:

  • 验证应用程序注册权限和管理员同意
  • 检查客户端密码是否未过期
  • 确保服务主体具有所需的Defender API权限

许可证

麻省理工学院

目录标签

目录标签

PythonVS Code安全安全运营自动化混合部署事件响应微软安全集成云安全AI辅助安全

支持客户端

VS Code

接入字段

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

未说明

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

api-key

工具数量(toolCount,工具数)

23

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明api-key部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP