Token导航 LogoToken导航TokenDH.com
azMCP (Scarr05) logo
AI代理未说明官方级别未说明来源级核验

azMCP (Scarr05)

MCP Server

Azure MCP Server是一个远程MCP服务器,部署在Azure Container Apps上,可通过HTTPS访问,允许AI代理通过安全的MCP工具调用代表用户执行Azure操作。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
Bicep容器化部署AI代理

安装说明

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

作者 / 组织

scarr05

提供方

scarr05

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

Azure MCP服务器-具有托管身份的ACA

此模板部署 Azure MCP服务器 作为Azure容器应用程序上的远程MCP服务器,可通过HTTPS访问。AI代理来自 微软铸造厂微软复制品工作室 可以安全地调用MCP工具调用来代表您执行Azure操作。

模板支持多种 部署场景 通过单独的参数文件。命名空间会根据您提供的资源ID自动启用。

先决条件

部署场景

场景1:存储(原始)

与一起部署 storage 只读Azure存储工具的命名空间。

要求: 存储帐户

copy infra\main.parameters.storage.json infra\main.parameters.json
azd env new mcp-storage
azd env set STORAGE_RESOURCE_ID "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{name}"
azd up

授予RBAC: 存储帐户上的读取器+存储Blob数据读取器。

场景2:监视器/哨兵(安全副驾驶)

与一起部署 monitor 用于通过KQL查询日志分析工作区的命名空间。这是a的主要路径 安全副驾驶 对Sentinel和Defender警报做出反应——Sentinel数据存储在日志分析中。

要求: 日志分析工作区(如果需要安全表,则启用Sentinel)

copy infra\main.parameters.monitor.json infra\main.parameters.json
azd env new mcp-sentinel
azd env set LOG_ANALYTICS_RESOURCE_ID "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.OperationalInsights/workspaces/{name}"
azd up

授予RBAC(订阅范围): 阅读器+日志分析阅读器+微软哨兵阅读器。订阅级别范围允许通过以下方式查询任何资源的日志 monitor resource log query 以及工作空间级别的查询。

可用的MCP工具:

  • azmcp monitor workspace list --列出工作区
  • azmcp monitor table list --列表表(SecurityAlert、SecurityIncident、Syslog等)
  • azmcp monitor workspace log query --对Sentinel表运行KQL查询

代理提示示例:

  • “显示最新的10个Sentinel安全警报”
  • “查询SecurityIncident过去24小时内发生的严重事件”
  • “总结过去一小时的CommonSecurityLog条目”

方案 3:成本/Azure 数据资源管理器

与一起部署 kusto 用于直接查询ADX集群的命名空间。

要求: Azure数据资源管理器群集

copy infra\main.parameters.kusto.json infra\main.parameters.json
azd env new mcp-kusto
azd env set KUSTO_RESOURCE_ID "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Kusto/clusters/{name}"
azd up

授予RBAC: ADX集群上的Reader+AllDatabasesViewer。

可用的MCP工具:

  • azmcp kusto cluster list/get --列出或检查集群
  • azmcp kusto database list --列表数据库
  • azmcp kusto table list/schema --列出表和模式
  • azmcp kusto query --运行KQL查询
  • azmcp kusto sample --示例表数据

场景4:监视器+Kusto(组合)

两者都可以部署 monitorkusto 用于全面安全分析的命名空间——通过单个MCP服务器中的日志分析和ADX集群查询Sentinel。

要求: 日志分析工作区和Azure数据资源管理器集群

copy infra\main.parameters.monitor-kusto.json infra\main.parameters.json
azd env new mcp-security
azd env set LOG_ANALYTICS_RESOURCE_ID "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.OperationalInsights/workspaces/{name}"
azd env set KUSTO_RESOURCE_ID "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Kusto/clusters/{name}"
azd up

授予RBAC: 场景2和场景3中的所有角色合并在一起。

部署什么

所有场景都部署了相同的核心基础设施:

  • 容器应用程序 --使用启用的命名空间运行Azure MCP服务器
  • 角色分配 --容器应用程序管理的标识在目标资源上被授予只读角色,条件是启用了哪些命名空间
  • Entra应用程序注册 --OAuth 2.0身份验证 Mcp.Tools.ReadWrite.All 角色,分配给Foundry项目的托管身份
  • 应用洞察 --遥测和监测(默认情况下在参数文件中禁用,设置 appInsightsConnectionString"" 启用)

部署输出

部署后,检索 azd 输出:

azd env get-values

连接Foundry代理的关键值:

CONTAINER_APP_URL="https://azure-mcp-sentinel-server..eastus2.azurecontainerapps.io"
ENTRA_APP_CLIENT_ID=""

从Microsoft Foundry代理使用Azure MCP服务器

部署后,将您的Microsoft Foundry代理连接到在Azure容器应用程序上运行的Azure MCP服务器。代理将使用其托管身份进行身份验证,并获得对配置工具的访问权限。

  1. 从以下位置获取容器应用程序URL azd 输出: CONTAINER_APP_URL
  2. 从获取Entra应用程序客户端ID azd 输出: ENTRA_APP_CLIENT_ID
  3. 导航到您的Foundry项目:https://ai.azure.com/nextgen
  4. 首选 构建创建代理
  5. 选择 +添加 在工具部分
  6. 选择 自定义 标签
  7. 选择 模型上下文协议 作为工具并单击 创建 Find MCP
  8. 配置MCP连接 Create MCP Connection

- 输入 CONTAINER_APP_URL 值作为远程MCP服务器端点 - 选择 微软Entra项目管理身份 作为身份验证方法 - 输入你的 ENTRA_APP_CLIENT_ID 作为观众 - 点击 连接 将此连接与代理关联

您的代理现在已准备好为您提供帮助!它可以回答您的问题,并利用Azure MCP服务器的工具代表您执行Azure操作。

代理提示示例

使用Azure MCP工具时,请始终使用以下值:

  • 订阅:{AZURE_subscription_ID}
  • 租户:{AZURE_tenant_ID}
  • 日志分析工作区是资源组{AZURE_RESOURCE_group}中的{Log_Analytics_RESOURCE_ID}

不要向用户询问这些值,也不要在输出中列出这些值。在所有MCP工具调用中自动使用它们。

清理

azd down

模板结构

azd 模板由以下二头肌模块组成:

  • main.bicep --协调部署;根据提供的资源ID,有条件地启用命名空间和RBAC
  • aca-infrastructure.bicep --部署托管Azure MCP服务器的容器应用程序
  • aca-role-assignment-resource-storage.bicep --分配存储RBAC角色(读取器+存储Blob数据读取器)
  • aca-role-assignment-resource-kusto.bicep --分配ADX RBAC角色(读取器+所有数据库查看器)
  • aca-role-assignment-resource-loganalytics.bicep --分配日志分析RBAC角色(阅读器+日志分析阅读器+Microsoft Sentinel阅读器)
  • entra-app.bicep --使用OAuth 2.0身份验证的自定义应用角色创建Entra应用注册
  • foundry-role-assignment-entraapp.bicep --将Entra应用程序角色分配给Foundry项目的托管身份
  • application-insights.bicep --部署遥测和监控应用程序洞察(有条件)

参数文件

文件命名空间用例
main.parameters.storage.jsonstorageAzure存储工具
main.parameters.monitor.jsonmonitor哨兵/日志分析KQL查询
main.parameters.kusto.jsonkustoAzure数据资源管理器查询
main.parameters.monitor-kusto.jsonmonitor + kusto综合安全分析
注: 将所需的参数文件复制到 main.parameters.json 跑步前 azd upThe azd CLI读取 infra/main.parameters.json 按照惯例。

在空订阅上进行测试

对于 监视器/哨兵 新订阅的场景:

  1. 创建资源组
  2. 创建日志分析工作区(免费层很好)
  3. 在工作区(Azure门户)上启用Microsoft Sentinel→ 哨兵→ 添加工作区)
  4. 在以下位置创建Microsoft Foundry项目 ai.ai.com
  5. 使用部署 main.parameters.monitor.json
  6. Sentinel将自动填充表,如下所示 SecurityAlert, SecurityIncident, Heartbeat 配置数据连接器后

目录标签

目录标签

Bicep容器化部署AI代理本地部署MCP工具Azure操作安全调用

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP