返回市场
Azure-MCP

Azure-MCP

作者:Azure1184 星标更新:2025-09-04

项目介绍

[!IMPORTANT] 🚀 活跃开发已移至 microsoft/mcp,自2025年8月25日起。


🌟 Azure MCP Server

Azure MCP Server 实现了 MCP 规范,以创建AI代理与Azure服务之间的无缝连接。Azure MCP Server 可单独使用,或与VS Code中的 GitHub Copilot for Azure扩展 一起使用。此项目处于公开预览阶段,在正式发布之前实现可能会有重大变化。

[!WARNING] 弃用通知:SSE传输模式已在版本 0.4.0 (2025-07-15) 中被移除。

由于安全漏洞和架构限制,MCP在2025年3月26日弃用了SSE。用户必须停止使用SSE传输模式,并升级到版本0.4.0或更高版本以保持与当前MCP客户端的兼容性。

✅ VS Code安装指南(推荐)

  1. 安装VS Code的稳定版或Insiders版:
  2. 安装 GitHub CopilotGitHub Copilot Chat 扩展
  3. 安装 Azure MCP Server 扩展

🚀 快速开始

  1. 在VS Code中打开GitHub Copilot并切换到Agent模式
  2. 在工具列表中点击“刷新”
    • 您应该能在工具列表中看到Azure MCP Server
  3. 尝试一个提示,告诉代理使用Azure MCP Server,例如“列出我的Azure存储容器”
    • 代理应能使用Azure MCP Server工具完成您的查询
  4. 查看文档并查阅故障排除指南以了解常见问题
  5. 我们正在公开构建这个项目。您的反馈非常宝贵,将帮助我们塑造Azure MCP服务器的未来

✨ 使用Azure MCP Server可以做什么?

Azure MCP Server为您的代理提供了Azure上下文。这里有一些您可以尝试的酷炫提示:

🔎 Azure AI搜索

  • “我在Azure AI搜索服务'mysvc'中有哪些索引?”
  • “让我们在这个索引中搜索'my search query'”

⚙️ Azure应用配置

  • “列出我的应用配置存储”
  • “显示我应用配置中的键值对”

📦 Azure容器注册表(ACR)

  • “列出我所有的Azure容器注册表”
  • “显示我资源组'myproject'中的容器注册表”
  • “列出我所有的Azure容器注册表存储库”

☸️ Azure Kubernetes服务(AKS)

  • “列出我订阅中的AKS集群”
  • “显示我所有的Azure Kubernetes服务集群”

📊 Azure Cosmos DB

  • “显示我所有的Cosmos DB数据库”
  • “列出我Cosmos DB数据库中的容器”

🧮 Azure数据探索器

  • “获取集群'mycluster'中的Azure数据探索器数据库”
  • “从Azure数据探索器数据库'db1'中的表'StormEvents'中采样10行”

⚡ Azure托管Lustre

  • “列出资源组'my-resourcegroup'中的Azure托管Lustre集群”
  • “创建一个128 TiB的AMLFS 500集群需要多少个IP地址?”

📊 Azure监控

  • “查询我的Log Analytics工作区”

🔧 Azure资源管理

  • “列出我的资源组”
  • “列出我的Azure CDN终结点”
  • “帮我使用Node.js构建一个Azure应用程序”

🗄️ Azure SQL数据库

  • “显示关于我的Azure SQL数据库'mydb'的详细信息”
  • “列出我Azure SQL服务器'myserver'中的所有数据库”
  • “列出我Azure SQL服务器'myserver'的所有防火墙规则”
  • “列出我Azure SQL服务器'myserver'的所有弹性池”
  • “列出我Azure SQL服务器'myserver'的所有Active Directory管理员”

💾 Azure存储

  • “列出我的Azure存储账户”
  • “获取关于我的存储账户'mystorageaccount'的详细信息”
  • “在东部美国创建一个新的支持Data Lake的存储账户”
  • “显示我存储账户中的表”
  • “获取关于我的存储容器的详细信息”
  • “将我的文件上传到blob容器”
  • “列出我的Data Lake文件系统中的路径”
  • “列出我的文件共享中的文件和目录”
  • “向我的存储队列发送消息”

🛠️ 当前支持的工具

<details> <summary>Azure MCP Server提供了与以下Azure服务交互的工具</summary>

🔎 Azure AI搜索(搜索引擎/矢量数据库)

  • 列出Azure AI搜索服务
  • 列出索引并查看其架构和配置
  • 查询搜索索引

⚙️ Azure应用配置

  • 列出应用配置存储
  • 管理键值对
  • 处理标记配置
  • 锁定/解锁配置设置

🛡️ Azure最佳实践

  • 获取安全、生产级Azure SDK最佳实践,以有效生成代码。

🖥️ Azure CLI扩展

  • 直接执行Azure CLI命令
  • 支持所有Azure CLI功能

📦 Azure容器注册表(ACR)

  • 列出订阅中的Azure容器注册表和存储库
  • 按资源组过滤容器注册表和存储库
  • JSON输出格式化
  • 跨平台兼容性

📊 Azure Cosmos DB(NoSQL数据库)

  • 列出Cosmos DB帐户
  • 列出和查询数据库
  • 管理容器和项目
  • 对容器执行SQL查询

🧮 Azure数据探索器

  • 列出Azure数据探索器集群
  • 列出数据库
  • 列出表
  • 获取表的架构
  • 从表中采样行
  • 使用KQL进行查询

🐬 Azure数据库MySQL - 弹性服务器

  • 列出和查询数据库。
  • 列出和获取表的架构。
  • 列出、获取配置和获取服务器参数。

🐘 Azure数据库PostgreSQL - 弹性服务器

  • 列出和查询数据库。
  • 列出和获取表的架构。
  • 列出、获取配置和获取/设置服务器参数。

🛠️ Azure开发者CLI(azd)扩展

  • 直接执行Azure开发者CLI命令
  • 支持模板发现、模板初始化、供应和部署
  • 跨平台兼容性

🚀 Azure部署

  • 从源代码生成Azure服务架构图
  • 创建一个供应和部署应用程序的部署计划
  • 获取特定azd环境的应用程序服务日志
  • 获取应用程序的bicep或terraform文件生成规则
  • 获取应用程序的GitHub流水线创建指南

🧮 Azure Foundry

  • 列出Azure Foundry模型
  • 部署Foundry模型
  • 列出Foundry模型部署
  • 列出知识索引

☁️ Azure函数应用

  • 列出Azure函数应用
  • 获取特定函数应用的详细信息

🔑 Azure密钥保管库

  • 列出、创建和导入证书
  • 列出和创建密钥
  • 列出和创建秘密

☸️ Azure Kubernetes服务(AKS)

  • 列出Azure Kubernetes服务集群

📦 Azure负载测试

  • 列出和创建负载测试资源
  • 列出和创建负载测试
  • 获取、列出、(创建)运行和重新运行、更新负载测试运行

🚀 Azure托管Grafana

  • 列出Azure托管Grafana

⚡ Azure托管Lustre

  • 列出Azure托管Lustre文件系统
  • 获取特定SKU和大小的Azure托管Lustre文件系统所需的IP地址数量

🏪 Azure市场

  • 获取关于市场产品的详细信息

📈 Azure监控

日志分析

  • 列出日志分析工作区
  • 使用KQL查询日志
  • 列出可用表

健康模型

  • 获取实体的健康状况

指标

  • 查询具有时间序列数据的资源的Azure监控指标
  • 列出资源的可用指标定义

🏥 Azure服务健康

  • 获取特定资源的可用状态
  • 列出订阅或资源组中所有资源的可用状态

⚙️ Azure原生ISV服务

  • 列出Datadog监视器中的监控资源

🛡️ Azure快速审查CLI扩展

  • 扫描Azure资源以获取合规性相关建议

📊 Azure配额

  • 列出可用区域
  • 检查配额使用情况

🔴 Azure Redis缓存

  • 列出Redis集群资源
  • 列出Redis集群中的数据库
  • 列出Redis缓存资源
  • 列出Redis缓存的访问策略

🏗️ Azure资源组

  • 列出资源组

🎭 Azure基于角色的访问控制(RBAC)

  • 列出角色分配

🚌 Azure服务总线

  • 检查队列、主题和订阅的属性和运行时信息

🗄️ Azure SQL数据库

  • 显示数据库详细信息和属性
  • 列出所有数据库的详细信息和属性
  • 列出SQL服务器防火墙规则

🗄️ Azure SQL弹性池

  • 列出SQL服务器中的弹性池

🗄️ Azure SQL服务器

  • 列出SQL服务器的Microsoft Entra ID管理员

💾 Azure存储

  • 列出和创建存储账户
  • 获取特定存储账户的详细信息
  • 管理blob容器和blob
  • 将文件上传到blob容器
  • 列出和查询存储表
  • 列出Data Lake文件系统中的路径
  • 获取容器属性和元数据
  • 列出文件共享中的文件和目录

📋 Azure订阅

  • 列出Azure订阅

🏗️ Azure Terraform最佳实践

  • 获取安全、生产级Azure Terraform最佳实践,以有效生成代码和执行命令

🖥️ Azure虚拟桌面

  • 列出Azure虚拟桌面主机池
  • 列出主机池中的会话主机
  • 列出会话主机上的用户会话

📊 Azure工作簿

  • 列出资源组中的工作簿
  • 使用自定义可视化创建新的工作簿
  • 更新现有工作簿配置
  • 获取工作簿详细信息和元数据
  • 当不再需要时删除工作簿

🏗️ Bicep

  • 获取特定Azure资源类型的Bicep架构

🏗️ 云架构师

  • 通过引导式问题设计Azure云架构

代理和模型可以发现和学习azd MCP工具的最佳实践和使用指南。更多信息,请参阅AZD最佳实践

</details>

对于详细的命令文档和示例,请参阅Azure MCP命令

🔄️ 升级现有安装到最新版本

<details> <summary>如何保持Azure MCP Server的最新版本</summary>

NPX

如果您使用默认的包规范@azure/mcp@latest,npx会在每次启动服务器时查找新版本。如果您仅使用@azure/mcp,npx将继续使用其缓存版本,直到清除缓存。

NPM

如果您通过npm install -g @azure/mcp全局安装了CLI,它将使用已安装的版本,直到您手动使用npm update -g @azure/mcp更新它。

Docker

Docker镜像中没有内置版本更新。要更新,请从仓库拉取最新版本并重复Docker安装步骤

VS Code

VS Code中的安装应该是上述形式之一,更新说明相同。如果您使用npx命令和-y @azure/mcp@latest参数安装了mcp服务器,npx将在每次VS Code启动服务器时检查包更新。在VS Code中使用Docker容器具有上述相同的无更新限制。

</details>

⚙️ 高级安装场景(可选)

<details> <summary>Docker容器、自定义MCP客户端和手动安装选项</summary>

🐋 Docker安装步骤(可选)

Microsoft在Microsoft Artifact Registry上发布了官方Azure MCP Server Docker容器。

对于逐步Docker安装,请遵循以下说明:

  1. 创建一个.env文件,其中包含与其中一个EnvironmentCredential集匹配的环境变量。例如,使用服务主体的.env文件可能如下所示:

    AZURE_TENANT_ID={YOUR_AZURE_TENANT_ID}
    AZURE_CLIENT_ID={YOUR_AZURE_CLIENT_ID}
    AZURE_CLIENT_SECRET={YOUR_AZURE_CLIENT_SECRET}
    
  2. 添加.vscode/mcp.json或更新现有的MCP配置。将/full/path/to/.env替换为您.env文件的路径。

    {
      "servers": {
        "Azure MCP Server": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "--env-file",
            "/full/path/to/.env"
            "mcr.microsoft.com/azure-sdk/azure-mcp:latest",
          ]
        }
      }
    }
    

可选地,使用--env--volume传递身份验证值。

🤖 自定义MCP客户端安装步骤(可选)

您可以轻松配置您的MCP客户端以使用Azure MCP Server。让您的客户端运行以下命令并通过标准IO访问它。

npx -y @azure/mcp@latest server start

🔧 手动安装步骤(可选)

对于逐步安装,请遵循以下说明:

  1. 添加.vscode/mcp.json

    {
      "servers": {
        "Azure MCP Server": {
          "command": "npx",
          "args": [
            "-y",
            "@azure/mcp@latest",
            "server",
            "start"
          ]
        }
      }
    }
    

    您可以选择设置--namespace <namespace>标志以安装指定的Azure产品或服务的工具。

  2. 添加.vscode/mcp.json

    {
      "servers": {
        "Azure Best Practices": {
          "command": "npx",
          "args": [
            "-y",
            "@azure/mcp@latest",
            "server",
            "start",
            "--namespace",
            "bestpractices" // 这里可以引用任何可用的MCP服务器。
          ]
        }
      }
    }
    

更多端到端的MCP客户端/代理指南即将推出!

</details>

数据收集

该软件可能会收集有关您及其使用软件的信息,并将其发送给Microsoft。Microsoft可能会使用这些信息提供服务并改进我们的产品和服务。您可以按照仓库中的说明关闭遥测。软件中的一些功能也可能允许您和Microsoft从您的应用程序用户那里收集数据。如果您使用这些功能,您必须遵守适用法律,包括向您的应用程序用户提供适当的通知以及Microsoft的隐私声明副本。您可以在帮助文档和我们的隐私声明中了解更多关于数据收集和使用的相关信息。您使用软件的行为即表示您同意这些做法。

遥测配置

遥测收集默认开启。

要选择退出,请在环境中将环境变量AZURE_MCP_COLLECT_TELEMETRY设置为false

📝 故障排除

请参阅故障排除指南以获取常见问题的帮助和日志记录。

🔑 认证

<details> <summary>认证选项,包括DefaultAzureCredential流程、RBAC权限、故障排除和生产凭证</summary>

Azure MCP Server使用.NET的Azure Identity库来认证到Microsoft Entra ID。有关详细信息,请参阅认证基础

如果您遇到任何认证问题,请访问我们的故障排除指南

对于企业认证场景,包括网络限制、安全策略和受保护资源,请参阅[企业环境中的认证场景](https://github.com/Azure/azure-m_ cp/blob/main/docs/Authentication.md#authentication-scenarios-in-enterprise-environments)。

</details>

🛡️ 安全说明

您的凭据始终通过官方Azure Identity SDK安全处理——我们从未直接存储或管理令牌

MCP作为一种现象是非常新颖和前沿的。与其他所有新技术标准一样,考虑进行安全审查,确保任何集成MCP服务器的系统都遵循您系统预期遵守的所有法规和标准。这不仅包括Azure MCP Server,还包括您选择实施的任何M