Azure 模型上下文协议 (MCP) 服务器公开了许多工具,可以使用现有 客户端 通过自然语言提示与 Azure 服务交互。 例如,可以使用 Azure MCP 服务器从 Visual Studio Code 中的 GitHub Copilot 代理模式或其他 AI 代理与 Azure 资源对话交互,这些命令如下所示:
- “请显示我的所有资源组”
- “列出名为‘documents’的存储容器中的 Blob”
- “我的应用配置中”ConnectionString“密钥的值是多少?
- “查询我的 Log Analytics 工作区,查找过去一小时内的错误”
- “显示我的所有 Cosmos DB 数据库”
开发人员凭据和安全性
MCP 服务器使用 Azure 用户凭据或托管标识来确保获得授权的访问权限。 通过 Azure 基于角色的访问控制(RBAC)保护访问,为已批准的用户提供细粒度权限。 本地 MCP 服务器专用于组织中的开发人员使用。 请勿将这些工具用于已批准的开发环境外部应用程序或方案。
Azure MCP 服务器启动参数
服务器 azmcp 支持以下用于服务器启动参数的选项:
| 选项 |
必需还是可选 |
Description |
|
调试 |
可选 |
启用具有详细日志记录的 stderr调试模式。 |
|
启用不安全的传输 |
可选 |
启用不安全的传输。 |
|
不安全的禁用用户确认 |
可选 |
在允许高风险命令运行之前,应禁用用户确认(例如从 KeyVault 返回机密信息(密码))。 |
|
模式 |
可选 |
服务器模式: namespace (默认值)、consolidated或allsingle。 |
|
命名空间 |
可选 |
在 MCP 服务器上公开的 Azure 服务命名空间(例如,storage,keyvaultcosmos) 。 |
|
只读 |
可选 |
MCP 服务器是否应为只读。 如果该值为 true,则不允许进行写操作。 |
|
工具 |
可选 |
按名称公开特定工具(例如 azmcp_storage_account_get)。 它会自动切换到 all 模式。 |
|
传输 |
可选 |
用于 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 秒”
工具批注 是提供有关每个工具特征的其他信息的提示。 下表描述了可与工具关联的可能提示。
| Name |
Description |
|
破坏性的 |
指示该工具是否可以对其环境进行破坏性更新。 如果为 true,该工具可能会删除或修改现有资源。 如果为 false,该工具只会添加新资源,而无需删除或更改现有资源。 |
|
幂等 |
指定具有相同参数的重复调用是否生成相同的结果,而不会产生副作用。 如果为 true,则具有相同参数的多个执行将生成相同的结果。 如果为 false,重复执行可能会产生其他效果或产生不同的结果。 |
|
开放世界 |
定义该工具是否可能与外部实体的“开放世界”交互。 如果为 true,该工具可能会与不可预知或动态的实体集(例如 Web 搜索)进行交互。 如果为 false,则该工具的交互域被关闭并定义明确(例如内存访问)。 |
|
只读 |
指示该工具是否仅执行读取操作。 如果为 true,则不会更改环境的状态。 如果为 false,该工具可能会对其环境进行修改。 |
|
机密 |
Microsoft专有注释,指示工具的响应是否可能包含需要清理的敏感数据。 如果为 true,响应可能包括在转发到 LLM 或日志记录之前应清理的机密、凭据或密钥。 如果为 false,则响应不包含敏感信息。 |
|
本地所需 |
Microsoft专有注释,以指示该工具是否需要本地执行或资源。 如果为 true,则仅当 Azure MCP 服务器在本地(STDIO)模式下运行时,该工具才可用。 如果为 false,该工具可在本地和远程服务器模式下使用。 |
用户需确认敏感数据
处理敏感数据的工具(如机密)需要用户同意,然后才能通过称为 “引证”的安全机制执行。 在使用工具访问敏感信息时,MCP 客户端会提示您确认操作以继续。
🛡️ 授权(用户确认)安全功能:
启发性提示会出现,当工具可能会公开敏感信息时,例如:
- Key Vault 机密
- 连接字符串和密码
- 证书私钥
- 其他机密数据
这些提示可防止未经授权的访问敏感信息。 只能在自动化方案中绕过引证。
Azure MCP 服务器为 Azure 服务和 Azure 相关功能提供了以下工具。
最佳做法
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 最佳做法 |
get_bestpractices |
获取有关 Azure Functions 开发、部署和 Azure SDK 使用情况的指导。 |
|
适用于 Azure 的 Terraform 最佳做法 |
azureterraformbestpractices |
获取有关为 Azure 资源实现 Terraform 的指导。 |
AI 和机器学习
Analytics
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 应用透镜 |
applens |
使用 Azure App Lens 诊断和分析应用程序性能问题。 |
|
Azure 数据资源管理器 |
kusto |
使用 Azure Data Explorer 群集、数据库、表和查询进行操作。 |
|
Azure 事件中心 |
eventhubs |
管理 Azure 事件中心命名空间和事件中心。 |
计算
容器
Databases
DevOps
混合和多云
身份
| 产品、工具或服务 |
Namespace |
Description |
|
Azure RBAC |
role |
查看和管理 Azure 基于角色的访问控制分配。 |
整合
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 事件网格 |
eventgrid |
管理 Azure 事件网格资源,包括主题和订阅。 |
|
Azure 原生 ISV |
datadog |
使用 Azure 原生 ISV 服务,包括用于监控与可观测性的 Datadog 集成。 |
|
Azure 服务总线 |
servicebus |
使用 Azure 服务总线消息传送服务。 |
物联网 (IoT)
管理和治理
Messaging
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 事件网格 |
eventgrid |
管理 Azure 事件网格资源,包括主题和订阅。 |
|
Azure 事件中心 |
eventhubs |
管理 Azure 事件中心命名空间和事件中心。 |
|
Azure 服务总线 |
servicebus |
使用 Azure 服务总线消息传送服务。 |
手机
安全性
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 应用配置 |
appconfig |
管理集中式应用程序设置和功能标志。 |
|
Azure 机密账本 |
confidentialledger |
管理 Azure 机密账本资源,包括账本和事务。 |
|
Azure Key Vault |
keyvault |
在 Azure Key Vault 中列出和创建密钥、机密、证书。 |
存储
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 存储 |
storage |
列出 Azure 存储帐户、容器、Blob 和表。 |
|
Azure 机密账本 |
confidentialledger |
管理 Azure 机密账本资源,包括账本和事务。 |
|
Azure 托管 Lustre |
managedlustre |
管理 Azure 托管 Lustre 文件系统。 |
虚拟桌面基础结构 (VDI)
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 虚拟桌面 |
virtualdesktop |
管理 Azure 虚拟桌面主机池、会话主机和用户会话。 |
Web
Other
| 产品、工具或服务 |
Namespace |
Description |
|
Azure 市场 |
marketplace |
发现 Azure 市场产品和优惠。 |
|
Azure MCP 工具 |
无命名空间 |
发现和管理可用的 Azure MCP 服务器工具。 |
相关内容