什么是 Azure MCP 服务器工具?

Azure 模型上下文协议 (MCP) 服务器公开了许多工具,可以使用现有 客户端 通过自然语言提示与 Azure 服务交互。 例如,可以使用 Azure MCP 服务器从 Visual Studio Code 中的 GitHub Copilot 代理模式或其他 AI 代理与 Azure 资源对话交互,这些命令如下所示:

  • “请显示我的所有资源组”
  • “列出名为‘documents’的存储容器中的 Blob”
  • “我的应用配置中”ConnectionString“密钥的值是多少?
  • “查询我的 Log Analytics 工作区,查找过去一小时内的错误”
  • “显示我的所有 Cosmos DB 数据库”

Azure MCP 服务器启动参数

服务器 azmcp 支持以下用于服务器启动参数的选项:

选项 必需还是可选 Description
调试 可选 启用具有详细日志记录的 stderr调试模式。
启用不安全的传输 可选 启用不安全的传输。
不安全的禁用用户确认 可选 在允许高风险命令运行之前,应禁用用户确认(例如从 KeyVault 返回机密信息(密码))。
命名空间 可选 在 MCP 服务器上公开的 Azure 服务命名空间(例如,storagekeyvaultcosmos) 。
只读 可选 MCP 服务器是否应为只读。 如果该值为 true,则不允许进行写操作。
传输 可选 用于 Azure MCP 服务器的传输机制。

工具参数

Azure MCP 服务器工具为完成任务所需的数据定义参数。 例如,这些参数可能包括订阅 ID、帐户名或资源组。

可以在用于调用工具的提示中包含这些参数的数据,或者以前的聊天上下文可能会建立数据。 如果聊天上下文提供数据,Azure MCP 服务器可以使用该信息,而无需在每个提示中重复这些信息。 此上下文可创建更自然的对话体验,同时仍确保所有必需的数据都可用于这些工具。

这些工具参考文章介绍了特定于每个工具的参数。 所有工具还共享以下全局参数。

Parameter Description
Subscription Azure 订阅 目标资源的 ID 或名称。 此参数标识包含要管理的资源的 Azure 订阅。 可以使用订阅 GUID 或显示名称。 大多数操作都是必需的。
资源组 Azure 资源组的名称。 这是 Azure 资源的逻辑容器,可帮助一起组织和管理相关资源。 大多数特定于资源的作都是必需的。
租户 ID Azure 租户 身份验证的 ID。 此参数指定要对其进行身份验证的 Microsoft Entra ID 租户。 可以是您的 Entra ID 租户的 GUID 标识或显示名称。 可选 - 如果未指定,则使用默认租户。
身份验证方法 用于 Azure 操作的身份验证方法。 选项包括 credential (Azure CLI/托管标识)、 key (访问密钥)或 connectionString。 默认值为 credential使用 Azure CLI 身份验证或托管标识。
最大重试次数 在放弃前,失败操作的最大重试次数。 控制系统尝试重试失败请求的次数。 默认值为 3 次重试。
重试延迟 重试尝试之间的初始延迟(以秒为单位)。 对于指数退避,此值用作每次重试时乘以的基本延迟。 默认值为 2 秒。
重试延迟最大值 重试之间的最大延迟(以秒为单位),而不考虑重试策略。 此参数限制延迟时间,以防止长时间等待。 默认值为 10 秒。
重试模式 重试策略在操作失败时使用。 fixed 在重试之间使用一致的延迟,同时 exponential 增加每次尝试之间的延迟。 默认设置为 exponential,以更好地处理临时问题。
重试网络超时 网络操作超时时间(以秒为单位)。 如果操作的时间超过此超时时间,这些操作将被取消。如果启用了重试机制,可能会再次尝试。 默认值为 100 秒。

示例提示包括:

  • 设置订阅:“使用订阅 'my-subscription-id' 进行所有操作”
  • 使用租户 ID:“使用租户 ID 'my-tenant-id' 进行身份验证”
  • 设置身份验证方法:“对此会话使用'credential'身份验证”
  • 配置重试:“将最大重试次数设置为 5,延迟为 3 秒
  • 设置重试模式:“使用”固定“重试模式,最大延迟为 5 秒”
  • 设置网络超时:“将所有操作的网络超时设置为 120 秒”
  • 配置重试参数:“使用最多 4 次重试的指数重试模式,延迟为 2 秒”

用户需确认敏感数据

处理敏感数据的工具(如机密)需要用户同意,然后才能通过称为 “引证”的安全机制执行。 在使用工具访问敏感信息时,MCP 客户端会提示您确认操作以继续。

🛡️ 授权(用户确认)安全功能:

启发性提示会出现,当工具可能会公开敏感信息时,例如:

  • Key Vault 机密
  • 连接字符串和密码
  • 证书私钥
  • 其他机密数据

这些提示可防止未经授权的访问敏感信息。 只能在自动化方案中绕过引证。

可用工具

Azure MCP 服务器为 Azure 服务和 Azure 相关功能提供了以下工具。

Tool Description
Azure 最佳做法 获取有关 Azure Functions 开发、部署和 Azure SDK 使用情况的指导。
天蓝色 Application Insights 列出 Application Insights 资源。
Azure AI Foundry 使用 Azure AI Foundry 模型、部署和端点。
Azure AI 搜索 管理 Azure AI 搜索资源,包括搜索服务、索引和查询。
Azure AI 语音 管理 Azure AI 语音资源,例如语音转文本服务。
Azure 应用配置 管理集中式应用程序设置和功能标志。
Azure 应用透镜 使用 Azure App Lens 诊断和分析应用程序性能问题。
Azure 应用程序服务 管理 Azure 应用服务实例的数据库连接。
Azure Bicep 架构 检索用于基础设施即代码模板的 Azure 资源的 Bicep 架构。
Azure CLI 查找 Azure CLI 命令并获取 CLI 工具的安装说明。
Azure 云架构师 通过引导性问题收集要求并推荐最佳解决方案来设计云系统。
Azure 通信服务 使用 Azure 通信服务发送短信和电子邮件。
Azure 机密账本 管理 Azure 机密账本资源,包括账本和事务。
Azure 容器注册表 列出 Azure 容器注册表实例。
Azure Cosmos DB 对 Azure Cosmos DB 帐户、数据库、容器和文档进行操作。
Azure 数据资源管理器 使用 Azure Data Explorer 群集、数据库、表和查询进行操作。
Azure Database for MySQL 管理 Azure Database for MySQL 服务器、数据库和表。
Azure Database for PostgreSQL 管理 Azure Database for PostgreSQL 服务器、数据库和表。
Azure 部署 使用模板和脚本部署和管理 Azure 资源。
Azure 开发者命令行界面 (CLI) 执行 Azure 开发人员 CLI 命令进行应用程序开发和部署。
Azure 事件网格 管理 Azure 事件网格资源,包括主题和订阅。
Azure 事件中心 管理 Azure 事件中心命名空间和事件中心。
Azure Functions 列出 Azure 函数。
Azure Key Vault 在 Azure Key Vault 中列出和创建密钥、机密、证书。
Azure Kubernetes 服务 列出 Azure Kubernetes 服务群集。
Azure 负载测试 创建、运行和查看负载测试。
Azure 托管 Grafana 列出 Azure 托管 Grafana 工作区。
Azure 托管 Lustre 管理 Azure 托管 Lustre 文件系统。
Azure 市场 发现 Azure 市场产品和优惠。
Azure MCP 工具 发现和管理可用的 Azure MCP 服务器工具。
Azure Monitor 查询 Azure Monitor 日志和指标。
Azure 原生 ISV 使用 Azure 原生 ISV 服务,包括用于监控与可观测性的 Datadog 集成。
Azure 快速评审 CLI 为 Azure 资源生成符合性和安全性报告。
Azure 配额 管理 Azure 资源配额和限制。
Azure RBAC 查看和管理 Azure 基于角色的访问控制分配。
Azure Redis 管理 Azure Redis 实例、Redis 群集和访问策略。
Azure 资源运行状况 检查 Azure 资源的运行状况。
Azure 服务总线 使用 Azure 服务总线消息传送服务。
Azure SignalR 管理 Azure SignalR 资源和运行时。
Azure SQL 使用 Azure SQL 数据库服务器、数据库、防火墙规则和弹性池。
Azure 存储 列出 Azure 存储帐户、容器、Blob 和表。
Azure 虚拟桌面 管理 Azure 虚拟桌面主机池、会话主机和用户会话。
资源组 列出 Azure 资源组。
Subscription 列出 Azure 订阅。
适用于 Azure 的 Terraform 最佳做法 获取有关为 Azure 资源实现 Terraform 的指导。