🌟 Azure MCP 服务器
Azure MCP 服务器实现了MCP 规范,以在 AI 代理和关键 Azure 服务(如 Azure 存储、Cosmos DB 等)之间建立无缝连接。
请注意,该项目处于公开预览阶段,在正式发布之前实施情况可能会发生重大变化。
📑 目录
🎯 概述
✨ 您可以使用 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 上搜索文档)的广泛开发人员支持感兴趣,我们也推荐此扩展。
先决条件
- 安装 VS Code 的稳定版本或 Insiders 版本:
- 安装GitHub Copilot和GitHub Copilot Chat扩展
- 安装Node.js 20 或更高版本
- 确保
node
和npm
在你的路径中
- 确保
- 在空文件夹中打开 VS Code
安装
✨ 一键安装
单击其中一个按钮即可为 VS Code 或 VS Code Insiders 安装 Azure MCP 服务器。
安装 Azure MCP 服务器后,请务必选择 GitHub Copilot 代理模式并刷新工具列表。要了解有关代理模式的更多信息,请访问VS Code 文档。
🔧 手动安装
要进行逐步安装,请按照以下说明操作:
- 添加
.vscode/mcp.json
:
Docker 安装
要进行逐步安装,请按照以下说明操作:
- 克隆存储库
- 从存储库根目录构建 Docker 映像:
docker build -t azure/azuremcp .
- 创建一个
.env
文件,其中包含与某个EnvironmentCredential
集匹配的环境变量。例如,使用服务主体的.env
文件可能如下所示:
- 添加
.vscode/mcp.json
或更新现有的 MCP 配置。将/full/path/to/.env
替换为你的.env
文件的路径。
客户可以选择使用--env
或--volume
来传递身份验证值。
🧪 测试 Azure MCP 服务器
- 在 VS Code 中打开 GitHub Copilot 并切换到代理模式
- 您应该在工具列表中看到 Azure MCP 服务器
- 尝试提示代理使用 Azure MCP 服务器,例如“列出我的 Azure 存储容器”
- 代理应该能够使用 Azure MCP 服务器工具来完成您的查询
🤖 自定义 MCP 客户端
您可以轻松配置 MCP 客户端以使用 Azure MCP 服务器。让您的客户端运行以下命令并通过标准 IO 或 SSE 访问它。
使用标准IO
配置 MCP 客户端执行: npx -y @azure/mcp@latest server start
。有关使用 VS Code 的说明,请按照一键安装或手动安装中的说明进行操作。
使用 SSE
- 打开终端窗口并执行:
npx -y @azure/mcp@latest server start --transport sse
- 服务器启动并托管在: http://localhost:5008 。要使用其他端口,请附加
--port {YOUR-PORT-NUMBER}
。 - 打开您的 MCP 客户端并添加 SSE 配置值。不同 MCP 客户端的配置值可能有所不同。在 VS Code 中,配置如下:
更多端到端 MCP 客户端/代理指南即将推出!
📝 故障排除
请参阅故障排除指南以获取有关常见问题和日志记录的帮助。
🔑 身份验证
Azure MCP 服务器与主机操作系统的身份验证机制无缝集成,让您轻松上手!我们通过DefaultAzureCredential
在后台使用 Azure Identity,它会按以下顺序尝试以下凭据:
- 环境变量(
EnvironmentCredential
)——非常适合 CI/CD 管道 - 共享令牌缓存(
SharedTokenCacheCredential
) - 使用来自其他工具的缓存令牌 - Visual Studio (
VisualStudioCredential
)-使用您的Visual Studio凭据 - Azure CLI (
AzureCliCredential
)- 使用现有的 Azure CLI 登录名 - Azure PowerShell (
AzurePowerShellCredential
)-使用您的 Az PowerShell 登录名 - Azure 开发人员 CLI (
AzureDeveloperCliCredential
)- 使用您的 azd 登录 - 交互式浏览器(
InteractiveBrowserCredential
)- 如果需要,可以回退到基于浏览器的登录
如果您已通过上述任何一种方式登录,Azure MCP 服务器将自动使用这些凭据。请确保您通过 RBAC(基于角色的访问控制)在 Azure 中拥有正确的授权权限(例如,拥有存储帐户的读取权限)。要了解有关 Azure RBAC 授权系统的更多信息,请访问此链接。
如果您遇到任何身份验证问题,请访问我们的故障排除指南。
生产凭证
默认情况下,Azure MCP 服务器不包含托管标识和工作负载标识等生产凭据。要启用这些凭据,请设置环境变量:
当您在想要使用托管标识的 Azure 服务上运行时,这很有用。
🛡️ 安全说明
您的凭据始终通过官方Azure Identity SDK安全处理 -我们从不直接存储或管理令牌。
MCP 作为一种现象,既新颖又前沿。与所有新技术标准一样,请考虑进行安全审查,以确保与 MCP 服务器集成的任何系统都遵守系统应遵循的所有法规和标准。这不仅包括 Azure MCP 服务器,还包括您选择实现的任何 MCP 客户端/代理,直至模型提供商。
👥 贡献
欢迎为 Azure MCP 服务器做出贡献!无论您是修复错误、添加新功能还是改进文档,我们都欢迎您的贡献。
请阅读我们的贡献指南以获取以下方面的指导:
- 🛠️ 设置你的开发环境
- ✨ 添加新命令
- 📝 代码风格和测试要求
- 🔄 发起拉取请求
🤝 行为准则
本项目已遵循Microsoft 开放源代码行为准则。如需了解更多信息,请参阅行为准则常见问题解答,或联系opencode@microsoft.com咨询其他问题或意见。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Azure MCP 服务器
Related MCP Servers
- Python
- RustMIT License
- -securityAlicense-qualityAzure Active Directory MCP Server by CDataLast updated -MIT License
- RustMIT License