你有没有想过:不用记 az 命令、不用翻门户控制台,直接跟 AI 说"帮我看看生产订阅里哪些备份没开软删除",它就去查了?Azure MCP Server 干的就是这个——它是微软官方的 MCP Server,把 45+ 类 Azure 资源能力暴露成工具,你的编码智能体(Claude Code / Copilot / Cursor)连上后就能用自然语言操作云。3.0 版本新增了备份巡检、韧性管理、SRE Agent、Terraform 改造等工具集。本教程一步步带你接上并安全用好。
Step 1:先搞懂它做什么、权限从哪来
Azure MCP Server 本身不存任何凭证。它用 DefaultAzureCredential,直接继承你本机 az login 的登录身份。换句话说:智能体能做什么,完全等于你当前 Azure 账号的 RBAC 权限。这一点决定了后面的所有安全考量。
它覆盖的能力(3.0 新版重点在打 * 的项):
· 资源组 / VM / Web App / 容器等基础资源查看与启停
· Azure Monitor:用 KQL 查日志分析工作区(杀手锏级能力)
· Key Vault、Cosmos DB、PostgreSQL、SQL 等数据面
· * Azure Backup:巡检保管库、策略、可保护项、恢复点
· * Azure Resilience:韧性目标、故障转移演练、就绪检查
· * Azure SRE Agent:列智能体、跑调查、管连接器、查知识
· * Terraform 工具:拉文档、导出已有资源为 IaC、校验计划
· * Advisor:按影响排成本建议、对比 VM 选项、给优化方案
权限即风险:如果你以订阅 Owner 登录,连上的智能体就拥有整订阅的写/删权。3.0 的"新工具"大多带写操作(改配置、触发故障转移、应用改造)。务必用最小权限身份登录,详见 Step 6。
Step 2:准备环境(Node + Azure CLI + 登录)
三条前置,缺一不可。Node 用 LTS 版即可;Azure CLI 用来拿身份;最后用 az login 登录你要操作的那个租户/订阅。
# 1) 确认 Node(LTS 即可,建议 20+)
node -v
# 2) 安装并登录 Azure CLI(已装可跳过)
# macOS / Linux:
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Windows(PowerShell):
winget install -e --id Microsoft.AzureCLI
# 3) 登录,并锁定要操作的订阅
az login
az account set --subscription <你的订阅ID>
# 多个租户时,可指定租户后再登录:
az login --tenant <租户ID>
az login 之后的凭据。操作完记得用不带 --tenant 的 az login 回到默认凭据上下文。Step 3:一行接入 Claude Code(其他客户端同理)
最常用的是 Claude Code,一条命令就能注册。它会自动把 Server 加进配置并立即生效。
# Claude Code(推荐,一行注册)
claude mcp add azure -- npx -y @azure/mcp@latest server start
# 验证是否已注册
claude mcp list
# 应看到名为 azure 的条目,transport 为 stdio
如果你用的是 Cursor / VS Code / Windsurf / 其他 MCP 客户端,把下面这段合并进对应配置文件后重启即可:
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "@azure/mcp@latest", "server", "start"]
}
}
}
@latest 每次拉最新版:npx 会 aggressively 缓存,升级有时不即时生效。想强制刷新时清缓存:rm -rf ~/.npm/_npx(路径以你的 npm 缓存为准)后再启动。server start 子命令是 3.0 推荐写法,旧文档里的无子命令写法在部分版本已弃用。
Step 4:验证连接真的打通了
别急着干活,先确认工具集加载成功。在客户端里用最轻量的只读问句试探:
# 在 Claude Code / Copilot 会话里直接说:
"列出我当前订阅下的所有资源组"
"列出订阅 <ID> 里的 SRE 智能体"
# 期望:返回资源组 / 智能体名称、位置、状态
# 若看到 azure_* 或 sreagent_* 前缀的工具被调用并返回结果 = 连接正常
claude mcp list。Step 5:上手 3.0 新工具集(用对话干活)
连接正常后,下面这些 3.0 新能力直接用自然语言触发。每条都是"说人话 → 智能体调对应工具"。
# 备份巡检:哪些保管库没开软删除 / 不可变?
"检查订阅里所有 Recovery Services 保管库的备份保护情况,
列出未启用软删除的项"
# 韧性评估:故障转移演练就绪吗?
"对资源组 prod-rg 做就绪检查,告诉我故障转移演练是否就绪"
# SRE 调查:生产 API 延迟为什么高?
"在 SRE Agent 上创建一个线程,调查生产 API 延迟升高的原因"
# Terraform 改造:把现有资源导出为 IaC 再评估变更
"把资源组 legacy-rg 的资源用 aztfexport 导出,
再用 conftest 校验计划是否合规"
# 成本优化:哪台 VM 该缩配?
"按年度节省额给这个订阅的 VM resize 建议排个序"
写操作要人审:故障转移、应用 IaC 改造、删软删除项这些都是不可逆或高风险动作。Advisor 的"apply"类工具返回的是改造建议规则而非直接改线上资源——不要把建议当成已执行。真正要改生产,请走你既有的审批流程。
Step 6:最小权限 + 只读护栏(安全收尾)
这是最重要的一步。默认情况下 Server 拥有你登录身份的全部权限,必须收窄。
# 1) 不要以 Owner 登录。新建一个最小权限身份(示例:仅 Reader + 备份读取)
az role assignment create --assignee <你的对象ID> \
--role "Reader" --scope /subscriptions/<ID>
# 2) 关闭遥测(默认开启,会收集使用数据)
export AZURE_MCP_COLLECT_TELEMETRY=false
# 3) 把暴露范围收窄到只读命名空间
# (具体字段名随版本演进,以官方 README 为准:
# 常见做法是启用 readOnly 模式、用 enabledServices 限定命名空间)
# 示例思路(字段以官方文档当前形态为准):
# npx -y @azure/mcp@latest server start --read-only
SRE Agent Administrator 数据面角色——只在确实需要时才给,且尽量缩到单个智能体资源范围。常见问题
| 现象 | 处理 |
|---|---|
| 客户端报"找不到 azure 工具" | Server 没注册成功。跑 claude mcp list 看是否出现;没有就重跑 Step 3 的注册命令。 |
| 提示权限不足 / 列不出资源 | 当前登录身份在该订阅没有 Reader。换最小权限账号登录,或确认 az account set 的订阅 ID 正确。 |
| 新版本工具用不上 / 行为不对 | npx 缓存了旧版。清 ~/.npm/_npx 缓存后重启客户端再试。 |
| 智能体动了我不该让它动的资源 | 说明登录身份权限过大。立刻改用最小权限账号,并开启只读模式(见 Step 6)。 |