Skip to main content
Glama

Azure MCP Server

Official
MIT License
812
  • Linux
  • Apple

🌟 Azure MCP 服务器

Azure MCP 服务器实现了MCP 规范,以在 AI 代理和关键 Azure 服务(如 Azure 存储、Cosmos DB 等)之间建立无缝连接。

请注意,该项目处于公开预览阶段,在正式发布之前实施情况可能会发生重大变化。

📑 目录

  1. 🎯 概述
  2. 🛠️ 当前支持的工具
  3. 🔌 安装和入门
  4. 🧪 使用 Azure MCP 服务器
  5. 📝 故障排除问题
  6. 👥 为 Azure MCP 服务器做出贡献

🎯 概述

✨ 您可以使用 Azure MCP 服务器做什么?

Azure MCP 服务器通过 Azure 上下文为您的代理提供强大的功能。以下是一些您可以尝试的酷炫提示:

🔍 探索您的 Azure 资源

  • “列出我的 Azure 存储帐户”
  • “显示我的所有 Cosmos DB 数据库”
  • “我的 Azure AI 搜索服务‘mysvc’中有哪些索引?”
  • “列出我的资源组”
  • “显示我的存储帐户中的表”
  • “列出我的 Cosmos DB 数据库中的容器”
  • “获取有关我的存储容器的详细信息”
  • “获取集群“mycluster”中的 Kusto 数据库”
  • “从 Kusto 数据库“db1”中的表“StormEvents”中抽取 10 行样本”

📊 查询和分析

  • “查询我的 Log Analytics 工作区”
  • “让我们在这个索引中搜索‘我的搜索查询’”

⚙️ 管理配置

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

🔧 高级 Azure 操作

  • “列出我的 Azure CDN 端点”
  • “帮助我使用 Node.js 构建 Azure 应用程序”

🔍 工作原理

Azure MCP 服务器通过以下方式在 AI 代理和 Azure 服务之间创建无缝集成:

  • 🔄 AI 代理能够理解的智能 JSON 通信
  • 🏗️ 可转换为 Azure 操作的自然语言命令
  • 💡 智能参数建议和自动完成
  • ⚡ 一致且合理的错误处理

🛠️ 当前支持的工具

Azure MCP 服务器提供了与以下 Azure 服务交互的工具:

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

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

📊 Azure Cosmos DB(NoSQL 数据库)

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

🐘 Azure Database for PostgreSQL - 灵活服务器

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

🧮 Kusto(Azure 数据资源管理器)

  • 列出 Kusto 群集
  • 列出 Kusto 群集中的数据库
  • 列出 Kusto 数据库中的表
  • 获取 Kusto 表的架构
  • Kusto 表中的示例行
  • 使用 KQL 查询 Kusto 数据库

💾 Azure 存储

  • 列出存储帐户
  • 管理 Blob 容器和 Blob
  • 列出并查询存储表
  • 获取容器属性和元数据

📈 Azure Monitor(日志分析)

  • 列出 Log Analytics 工作区
  • 使用 KQL 查询日志
  • 列出可用的表

⚙️ Azure 应用配置

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

🔑 Azure 密钥保管库

  • 列出、创建和获取密钥

📦 Azure 资源组

  • 列出资源组

🚌 Azure 服务总线

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

🔧 Azure CLI 扩展

  • 直接执行 Azure CLI 命令
  • 支持所有 Azure CLI 功能
  • JSON 输出格式
  • 跨平台兼容性

🚀 Azure 开发人员 CLI(azd)扩展

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

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

🛡️ Azure 最佳实践

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

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

🔌 入门

Azure MCP 服务器需要安装并运行 Node.js。如果您尚未安装,请按照此处的说明操作。

VS Code + GitHub Copilot

Azure MCP 服务器提供 Azure SDK 和 Azure CLI 开发人员工具。它可以单独使用,也可以与 VS Code 中的GitHub Copilot for Azure 扩展一起使用。如果您对 Azure MCP 服务器中未包含的各种 Azure 开发场景(例如在 Microsoft Learn 上搜索文档)的广泛开发人员支持感兴趣,我们也推荐此扩展。

先决条件

  1. 安装 VS Code 的稳定版本或 Insiders 版本:
  2. 安装GitHub CopilotGitHub Copilot Chat扩展
  3. 安装Node.js 20 或更高版本
    • 确保nodenpm在你的路径中
  4. 在空文件夹中打开 VS Code

安装

✨ 一键安装

单击其中一个按钮即可为 VS Code 或 VS Code Insiders 安装 Azure MCP 服务器。

安装 Azure MCP 服务器后,请务必选择 GitHub Copilot 代理模式并刷新工具列表。要了解有关代理模式的更多信息,请访问VS Code 文档

🔧 手动安装

要进行逐步安装,请按照以下说明操作:

  1. 添加.vscode/mcp.json
{ "servers": { "Azure MCP Server": { "command": "npx", "args": [ "-y", "@azure/mcp@latest", "server", "start" ] } } }
Docker 安装

要进行逐步安装,请按照以下说明操作:

  1. 克隆存储库
  2. 从存储库根目录构建 Docker 映像: docker build -t azure/azuremcp .
  3. 创建一个.env文件,其中包含与某个EnvironmentCredential集匹配的环境变量。例如,使用服务主体的.env文件可能如下所示:
AZURE_TENANT_ID={YOUR_AZURE_TENANT_ID} AZURE_CLIENT_ID={YOUR_AZURE_CLIENT_ID} AZURE_CLIENT_SECRET={YOUR_AZURE_CLIENT_SECRET}
  1. 添加.vscode/mcp.json或更新现有的 MCP 配置。将/full/path/to/.env替换为你的.env文件的路径。
{ "servers": { "Azure MCP Server": { "command": "docker", "args": [ "run", "-i", "--rm", "azure/azuremcp", "--env-file", "/full/path/to/.env" ] } } }

客户可以选择使用--env--volume来传递身份验证值。

🧪 测试 Azure MCP 服务器

  1. 在 VS Code 中打开 GitHub Copilot 并切换到代理模式
  2. 您应该在工具列表中看到 Azure MCP 服务器
  3. 尝试提示代理使用 Azure MCP 服务器,例如“列出我的 Azure 存储容器”
  4. 代理应该能够使用 Azure MCP 服务器工具来完成您的查询

🤖 自定义 MCP 客户端

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

使用标准IO

配置 MCP 客户端执行: npx -y @azure/mcp@latest server start 。有关使用 VS Code 的说明,请按照一键安装手动安装中的说明进行操作。

使用 SSE

  1. 打开终端窗口并执行: npx -y @azure/mcp@latest server start --transport sse
  2. 服务器启动并托管在: http://localhost:5008 。要使用其他端口,请附加--port {YOUR-PORT-NUMBER}
  3. 打开您的 MCP 客户端并添加 SSE 配置值。不同 MCP 客户端的配置值可能有所不同。在 VS Code 中,配置如下:
    { "servers": { "Azure MCP Server": { "type": "sse", "url": "http://localhost:5008/sse" } } }

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

📝 故障排除

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

🔑 身份验证

Azure MCP 服务器与主机操作系统的身份验证机制无缝集成,让您轻松上手!我们通过DefaultAzureCredential在后台使用 Azure Identity,它会按以下顺序尝试以下凭据:

  1. 环境变量EnvironmentCredential )——非常适合 CI/CD 管道
  2. 共享令牌缓存SharedTokenCacheCredential ) - 使用来自其他工具的缓存令牌
  3. Visual StudioVisualStudioCredential )-使用您的Visual Studio凭据
  4. Azure CLIAzureCliCredential )- 使用现有的 Azure CLI 登录名
  5. Azure PowerShellAzurePowerShellCredential )-使用您的 Az PowerShell 登录名
  6. Azure 开发人员 CLIAzureDeveloperCliCredential )- 使用您的 azd 登录
  7. 交互式浏览器InteractiveBrowserCredential )- 如果需要,可以回退到基于浏览器的登录

如果您已通过上述任何一种方式登录,Azure MCP 服务器将自动使用这些凭据。请确保您通过 RBAC(基于角色的访问控制)在 Azure 中拥有正确的授权权限(例如,拥有存储帐户的读取权限)。要了解有关 Azure RBAC 授权系统的更多信息,请访问此链接

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

生产凭证

默认情况下,Azure MCP 服务器不包含托管标识和工作负载标识等生产凭据。要启用这些凭据,请设置环境变量:

AZURE_MCP_INCLUDE_PRODUCTION_CREDENTIALS=true

当您在想要使用托管标识的 Azure 服务上运行时,这很有用。

🛡️ 安全说明

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

MCP 作为一种现象,既新颖又前沿。与所有新技术标准一样,请考虑进行安全审查,以确保与 MCP 服务器集成的任何系统都遵守系统应遵循的所有法规和标准。这不仅包括 Azure MCP 服务器,还包括您选择实现的任何 MCP 客户端/代理,直至模型提供商。

👥 贡献

欢迎为 Azure MCP 服务器做出贡献!无论您是修复错误、添加新功能还是改进文档,我们都欢迎您的贡献。

请阅读我们的贡献指南以获取以下方面的指导:

  • 🛠️ 设置你的开发环境
  • ✨ 添加新命令
  • 📝 代码风格和测试要求
  • 🔄 发起拉取请求

🤝 行为准则

本项目已遵循Microsoft 开放源代码行为准则。如需了解更多信息,请参阅行为准则常见问题解答,或联系opencode@microsoft.com咨询其他问题或意见。

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Azure/azure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server