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 服务命名空间(例如,storage,keyvaultcosmos) 。 |
| 只读 | 可选 | 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 的指导。 |