关于 mcp-azure
mcp-azure 是通过 Azure Resource Manager 清点和操作 Azure 资源的 MCP 服务。其治理设置可限制操作范围和写入权限,并为破坏性操作提供确认与审计选项。
主要功能
- 01列出订阅与资源
- 02创建资源组并合并标签
- 03控制 VM 电源状态
- 04通过权限门控删除资源
- 05配置允许列表与访问模式
- 06试运行与 JSON 审计日志
适用场景
- 01查看订阅和资源组清单
- 02为资源添加标签或控制 VM
- 03将 Agent 限定在获准的订阅和区域
- 04破坏性变更前要求确认
MCP 相关
向 MCP 客户端提供 Azure Resource Manager 清点和操作工具。可用工具取决于访问模式;破坏性操作可要求人工交互确认或输入指定确认文本。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @dockndevai/mcp-azureAZURE_TENANT_IDEntra ID tenant id.AZURE_CLIENT_IDApp registration (service principal) client id.AZURE_CLIENT_SECRET密钥Service principal client secret.AZURE_SUBSCRIPTION_IDDefault subscription id.AZURE_MODEAccess mode: read-only | read-write | admin.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
5收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
mcp-azure
适用于 Azure 的 Model Context Protocol 服务(通过 Azure Resource Manager API——Azure Portal 背后的程序化层)。它使支持 MCP 的客户端(Claude Desktop、Claude Code、Cursor、Codex 等)能够盘点和操作 Azure 资源,并通过治理层确保 AI Agent 在安全范围内运行。
功能
- 盘点 — 列出订阅、位置、资源组和资源;通过 ARM id 获取任意资源。
- 操作 — 在获准区域中创建资源组、为任意资源合并标签,以及控制 VM 电源状态(启动 / 停止 / 重启 / 解除分配)。
- 生命周期管理 — 删除资源组和单个资源,并受到防护。
- 内置治理 — 访问模式、订阅 / 资源组允许列表、受保护的资源组、新建资源组的位置允许列表、删除门控、高影响删除的输入确认、试运行和 JSON 审计日志。
治理与安全模型
| 关注点 | 标志 | 默认值 | 效果 |
|---|---|---|---|
| 服务可以执行哪些操作? | AZURE_MODE | read-only | read-only → 盘点;read-write → 创建 RG、标记资源、控制 VM 电源;admin → 删除。高于当前模式的工具绝不会注册。 |
| 哪些订阅? | AZURE_SUBSCRIPTION_ALLOWLIST | (全部) | 拒绝对其他订阅执行操作。 |
| 哪些资源组? | AZURE_RESOURCE_GROUP_ALLOWLIST | (全部) | 拒绝对列表以外的资源组执行操作。 |
| 永久只读的资源组 | AZURE_PROTECTED_RESOURCE_GROUPS | (无) | 可读取,但绝不允许修改。 |
| 获准区域 | AZURE_LOCATION_ALLOWLIST | (任意) | 只能在此处创建新的资源组。 |
| 是否可以删除? | AZURE_ALLOW_DELETE | false | 删除需要同时启用此选项和 admin 模式。 |
| 输入确认 | AZURE_REQUIRE_CONFIRMATION | true | 删除时要求 confirm 与目标名称一致,而非仅提供布尔值。 |
| 预览 | AZURE_DRY_RUN | false | 写入 / 管理工具会验证并记录操作意图,然后返回。 |
| 审计跟踪 | AZURE_AUDIT_LOG | true | 每次受保护操作都会向 stderr 写入一行 JSON。 |
| 交互式确认 | (自动) | — | 执行破坏性和高影响操作前,会通过 MCP elicitation 请求人工批准;不支持 elicitation 的客户端会回退到 *_ALLOW_* 门控。 |
工具
读取(read-only+):list_subscriptions、list_locations、list_resource_groups、list_resources、get_resource
写入(read-write+):create_resource_group、tag_resource、control_vm
管理(admin):delete_resource_group、delete_resource(两者都需要 AZURE_ALLOW_DELETE 和输入确认 confirm)
快速入门 — 添加到你的 Agent
已发布到 npm,包名为 @dockndevai/mcp-azure。通过 npx 使用 Entra ID 服务主体运行。所有客户端请参阅 docs/CLIENTS.md,所有变量请参阅 .env.example。
Claude Code
claude mcp add azure -e AZURE_TENANT_ID="…" -e AZURE_CLIENT_ID="…" -e AZURE_CLIENT_SECRET="…" -e AZURE_SUBSCRIPTION_ID="…" -e AZURE_MODE="read-only" -- npx -y @dockndevai/mcp-azure
Claude Desktop · Cursor · Windsurf
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "@dockndevai/mcp-azure"],
"env": {
"AZURE_TENANT_ID": "…",
"AZURE_CLIENT_ID": "…",
"AZURE_CLIENT_SECRET": "…",
"AZURE_SUBSCRIPTION_ID": "…",
"AZURE_MODE": "read-only"
}
}
}
}
示例提示词
- “列出我订阅中的所有资源组,以及各自所在的区域”
- “显示 rg-web 组中的所有资源”
- “为 app-plan 资源添加 env=prod 和 owner=team-a 标签”(需要 read-write)
- “停止 rg-ci 中的 build-agent VM”(需要 read-write)
从源代码运行(开发)
npm install
npm run build
node dist/index.js # with the environment variables set
开发
npm run dev
npm test # governance policy: modes, scoping, location allowlist, delete + confirmation
npm run typecheck
发布
提供用于官方 MCP 注册表的 server.json,以及用于 npm 所有权验证的 mcpName。请参阅 PUBLISHING.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。